@zeniai/client-epic-state 5.0.88-beta0ND → 5.0.88-betaAR1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonStateTypes/animations.d.ts +1 -1
- package/lib/commonStateTypes/animations.js +0 -1
- package/lib/entity/company/companyPayload.d.ts +0 -4
- package/lib/entity/company/companyPayload.js +0 -4
- package/lib/entity/company/companyStateTypes.d.ts +0 -4
- package/lib/entity/paymentAccount/paymentAccountSelector.d.ts +0 -1
- package/lib/entity/paymentAccount/paymentAccountSelector.js +0 -4
- package/lib/entity/tenant/epic/deleteConnectionEpic.d.ts +1 -1
- package/lib/entity/tenant/epic/saveAPIKeyConnectionEpic.d.ts +1 -1
- package/lib/entity/tenant/epic/saveConnectorCredentialsEpic.d.ts +3 -3
- package/lib/entity/tenant/epic/saveOAuthConnectionEpic.d.ts +1 -1
- package/lib/entity/tenant/tenantPayload.d.ts +0 -4
- package/lib/entity/tenant/tenantReducer.d.ts +27 -40
- package/lib/entity/tenant/tenantReducer.js +20 -117
- package/lib/entity/tenant/tenantState.d.ts +1 -5
- package/lib/epic.d.ts +3 -10
- package/lib/epic.js +3 -11
- package/lib/esm/commonStateTypes/animations.js +0 -1
- package/lib/esm/entity/company/companyPayload.js +0 -4
- package/lib/esm/entity/paymentAccount/paymentAccountSelector.js +0 -3
- package/lib/esm/entity/tenant/tenantReducer.js +18 -115
- package/lib/esm/epic.js +3 -11
- package/lib/esm/index.js +10 -13
- package/lib/esm/view/dashboard/dashboardReducer.js +1 -11
- package/lib/esm/view/expenseAutomationView/transactionFilterHelpers.js +78 -18
- package/lib/esm/view/fileView/epic/deleteFileEpic.js +2 -2
- package/lib/esm/view/fileView/epic/deleteFileListEpic.js +2 -2
- package/lib/esm/view/fileView/epic/updateFileNameEpic.js +2 -2
- package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewReducer.js +50 -217
- package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewSelector.js +1 -7
- package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewState.js +0 -12
- package/lib/esm/view/spendManagement/commonSetup/setupViewReducer.js +52 -105
- package/lib/esm/view/spendManagement/commonSetup/setupViewSelector.js +1 -6
- package/lib/esm/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryVideoViewedEpic.js +1 -1
- package/lib/esm/view/spendManagement/treasury/treasurySetUp/treasurySetupViewReducer.js +1 -45
- package/lib/index.d.ts +11 -15
- package/lib/index.js +35 -57
- package/lib/view/dashboard/dashboardReducer.js +1 -11
- package/lib/view/expenseAutomationView/transactionFilterHelpers.js +78 -18
- package/lib/view/fileView/epic/deleteFileEpic.js +1 -1
- package/lib/view/fileView/epic/deleteFileListEpic.js +1 -1
- package/lib/view/fileView/epic/updateFileNameEpic.js +1 -1
- package/lib/view/onboardingView/customerView/onboardingCustomerViewPayload.d.ts +0 -3
- package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.d.ts +4 -41
- package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.js +51 -219
- package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.d.ts +1 -5
- package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.js +2 -11
- package/lib/view/onboardingView/customerView/onboardingCustomerViewState.d.ts +0 -40
- package/lib/view/onboardingView/customerView/onboardingCustomerViewState.js +1 -13
- package/lib/view/spendManagement/commonSetup/setupViewReducer.d.ts +2 -28
- package/lib/view/spendManagement/commonSetup/setupViewReducer.js +53 -106
- package/lib/view/spendManagement/commonSetup/setupViewSelector.d.ts +2 -7
- package/lib/view/spendManagement/commonSetup/setupViewSelector.js +1 -6
- package/lib/view/spendManagement/commonSetup/setupViewState.d.ts +0 -19
- package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryVideoViewedEpic.js +1 -1
- package/lib/view/spendManagement/treasury/treasurySetUp/treasurySetupViewReducer.d.ts +1 -1
- package/lib/view/spendManagement/treasury/treasurySetUp/treasurySetupViewReducer.js +2 -46
- package/lib/view/spendManagement/treasury/treasurySetUp/treasurySetupViewState.d.ts +0 -2
- package/package.json +1 -1
- package/lib/entity/tenant/epic/initEmailConnectOAuthEpic.d.ts +0 -21
- package/lib/entity/tenant/epic/initEmailConnectOAuthEpic.js +0 -54
- package/lib/esm/entity/tenant/epic/initEmailConnectOAuthEpic.js +0 -50
- package/lib/esm/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.js +0 -42
- package/lib/esm/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.js +0 -29
- package/lib/esm/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.js +0 -40
- package/lib/esm/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.js +0 -52
- package/lib/esm/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.js +0 -59
- package/lib/esm/view/spendManagement/commonSetup/kycKybAutofillActions.js +0 -14
- package/lib/esm/view/spendManagement/commonSetup/kycKybParseMapper.js +0 -205
- package/lib/esm/view/spendManagement/commonSetup/types/kycKybAutofill.js +0 -28
- package/lib/esm/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoIntroClosedByOutsideClickEpic.js +0 -18
- package/lib/esm/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoRemindMeLaterClickedEpic.js +0 -18
- package/lib/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.d.ts +0 -7
- package/lib/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.js +0 -46
- package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.d.ts +0 -8
- package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.js +0 -33
- package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.d.ts +0 -9
- package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.js +0 -44
- package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.d.ts +0 -28
- package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.js +0 -56
- package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.d.ts +0 -30
- package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.js +0 -63
- package/lib/view/spendManagement/commonSetup/kycKybAutofillActions.d.ts +0 -33
- package/lib/view/spendManagement/commonSetup/kycKybAutofillActions.js +0 -17
- package/lib/view/spendManagement/commonSetup/kycKybParseMapper.d.ts +0 -24
- package/lib/view/spendManagement/commonSetup/kycKybParseMapper.js +0 -213
- package/lib/view/spendManagement/commonSetup/types/kycKybAutofill.d.ts +0 -125
- package/lib/view/spendManagement/commonSetup/types/kycKybAutofill.js +0 -32
- package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoIntroClosedByOutsideClickEpic.d.ts +0 -8
- package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoIntroClosedByOutsideClickEpic.js +0 -22
- package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoRemindMeLaterClickedEpic.d.ts +0 -8
- package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoRemindMeLaterClickedEpic.js +0 -22
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const toAnimationsFileName: (v: string) => "Success" | "AiAgent" | "AiIconEntry" | "AiIconExit" | "AiIconLoop" | "AiStar" | "AiStarIcon" | "AiStarPlain" | "AIPoweredInvoiceDark" | "AIPoweredInvoiceLight" | "Angry" | "AutoTransfer" | "CloseCard" | "Confetti" | "ConfettiSuccess" | "DashboardChristmasSnow" | "DashboardNewYearShow" | "DashboardSidebarBottomChristmas" | "DashboardSidebarBottomHalloween" | "DashboardSidebarBottomNewYear" | "DashboardSidebarBottomThanksgiving" | "DashboardSidebarTopChristmas" | "DashboardSidebarTopHalloween" | "DashboardSidebarTopNewYear" | "DashboardSidebarTopThanksgiving" | "Distribution" | "DistributionDark" | "EarnYield" | "FastestWayDark" | "FastestWayLight" | "FinanceTeamDark" | "FinanceTeamLight" | "Happy" | "Liquidity" | "LockCard" | "MoneyTransferSuccess" | "MultiLevelApprovalDark" | "MultiLevelApprovalLight" | "NotHappy" | "Protection" | "ReceiptDark" | "ReceiptLight" | "Recurring" | "RecurringDark" | "ReimburseDark" | "ReimburseLight" | "RewardsDark" | "RewardsDarkHover" | "RewardsLight" | "RewardsLightHover" | "Ripple" | "Secure" | "Target" | "TargetDark" | "UnlockCard" | "VeryHappy" | "
|
|
1
|
+
export declare const toAnimationsFileName: (v: string) => "Success" | "AiAgent" | "AiIconEntry" | "AiIconExit" | "AiIconLoop" | "AiStar" | "AiStarIcon" | "AiStarPlain" | "AIPoweredInvoiceDark" | "AIPoweredInvoiceLight" | "Angry" | "AutoTransfer" | "CloseCard" | "Confetti" | "ConfettiSuccess" | "DashboardChristmasSnow" | "DashboardNewYearShow" | "DashboardSidebarBottomChristmas" | "DashboardSidebarBottomHalloween" | "DashboardSidebarBottomNewYear" | "DashboardSidebarBottomThanksgiving" | "DashboardSidebarTopChristmas" | "DashboardSidebarTopHalloween" | "DashboardSidebarTopNewYear" | "DashboardSidebarTopThanksgiving" | "Distribution" | "DistributionDark" | "EarnYield" | "FastestWayDark" | "FastestWayLight" | "FinanceTeamDark" | "FinanceTeamLight" | "Happy" | "Liquidity" | "LockCard" | "MoneyTransferSuccess" | "MultiLevelApprovalDark" | "MultiLevelApprovalLight" | "NotHappy" | "Protection" | "ReceiptDark" | "ReceiptLight" | "Recurring" | "RecurringDark" | "ReimburseDark" | "ReimburseLight" | "RewardsDark" | "RewardsDarkHover" | "RewardsLight" | "RewardsLightHover" | "Ripple" | "Secure" | "Target" | "TargetDark" | "UnlockCard" | "VeryHappy" | "ZeniAssist";
|
|
2
2
|
export type AnimationFileName = ReturnType<typeof toAnimationsFileName>;
|
|
@@ -320,10 +320,6 @@ interface CompanyOnboardingInfoPayload {
|
|
|
320
320
|
is_subsidiary: boolean;
|
|
321
321
|
onboarding_user_ids: ID[];
|
|
322
322
|
parent_company_id: ID | null;
|
|
323
|
-
is_onboarding_ai_activation_viewed?: boolean;
|
|
324
|
-
is_onboarding_ai_finance_team_acknowledged?: boolean;
|
|
325
|
-
onboarding_ai_activation_viewed_by?: ID[];
|
|
326
|
-
onboarding_ai_finance_team_acknowledged_by?: ID[];
|
|
327
323
|
onboarding_info?: OnboardingInfoPayload;
|
|
328
324
|
subscription_billing_address_id?: ID;
|
|
329
325
|
}
|
|
@@ -333,11 +333,7 @@ const toCompanyOnboardingInfo = (payload) => ({
|
|
|
333
333
|
onboardingUserIds: payload.onboarding_user_ids,
|
|
334
334
|
isSubsidiary: payload.is_subsidiary,
|
|
335
335
|
parentCompanyId: payload.parent_company_id != null ? payload.parent_company_id : undefined,
|
|
336
|
-
isOnboardingAiFinanceTeamAcknowledged: payload.is_onboarding_ai_finance_team_acknowledged ?? false,
|
|
337
|
-
isOnboardingAiActivationViewed: payload.is_onboarding_ai_activation_viewed ?? false,
|
|
338
336
|
isOnboardingCompanyDetailsCompleted: payload.is_onboarding_company_details_step_completed,
|
|
339
|
-
onboardingAiFinanceTeamAcknowledgedBy: payload.onboarding_ai_finance_team_acknowledged_by ?? [],
|
|
340
|
-
onboardingAiActivationViewedBy: payload.onboarding_ai_activation_viewed_by ?? [],
|
|
341
337
|
onboardingInfo: (0, exports.toOnboardingInfo)(payload.onboarding_info),
|
|
342
338
|
isOnboardingCompleted: payload.is_onboarding_completed,
|
|
343
339
|
subscriptionBillingAddressId: payload.subscription_billing_address_id,
|
|
@@ -323,13 +323,9 @@ export interface OnboardingInfo extends OnboardingStepsInfo {
|
|
|
323
323
|
onboardingToQuoteSignMinutes?: number;
|
|
324
324
|
}
|
|
325
325
|
export interface CompanyOnboardingInfo {
|
|
326
|
-
isOnboardingAiActivationViewed: boolean;
|
|
327
|
-
isOnboardingAiFinanceTeamAcknowledged: boolean;
|
|
328
326
|
isOnboardingCompanyDetailsCompleted: boolean;
|
|
329
327
|
isOnboardingCompleted: boolean;
|
|
330
328
|
isSubsidiary: boolean;
|
|
331
|
-
onboardingAiActivationViewedBy: ID[];
|
|
332
|
-
onboardingAiFinanceTeamAcknowledgedBy: ID[];
|
|
333
329
|
onboardingUserIds: ID[];
|
|
334
330
|
onboardingInfo?: OnboardingInfo;
|
|
335
331
|
parentCompanyId?: ID;
|
|
@@ -4,4 +4,3 @@ export declare function getPaymentAccountsByPaymentAccountIds(paymentAccountStat
|
|
|
4
4
|
export declare function getPaymentAccountByPaymentAccountId(paymentAccountState: PaymentAccountState, PaymentAccountId: ID): PaymentAccount | undefined;
|
|
5
5
|
export declare function getPaymentAccountByBankAccountId(paymentAccountState: PaymentAccountState, bankAccountId: ID): PaymentAccount | undefined;
|
|
6
6
|
export declare function getPaymentAccountsByBankAccountIds(paymentAccountState: PaymentAccountState, bankAccountIds: ID[]): PaymentAccount[];
|
|
7
|
-
export declare function getPlaidPaymentAccounts(paymentAccountState: PaymentAccountState): PaymentAccount[];
|
|
@@ -7,7 +7,6 @@ exports.getPaymentAccountsByPaymentAccountIds = getPaymentAccountsByPaymentAccou
|
|
|
7
7
|
exports.getPaymentAccountByPaymentAccountId = getPaymentAccountByPaymentAccountId;
|
|
8
8
|
exports.getPaymentAccountByBankAccountId = getPaymentAccountByBankAccountId;
|
|
9
9
|
exports.getPaymentAccountsByBankAccountIds = getPaymentAccountsByBankAccountIds;
|
|
10
|
-
exports.getPlaidPaymentAccounts = getPlaidPaymentAccounts;
|
|
11
10
|
const get_1 = __importDefault(require("lodash/get"));
|
|
12
11
|
const values_1 = __importDefault(require("lodash/values"));
|
|
13
12
|
function getPaymentAccountsByPaymentAccountIds(paymentAccountState, paymentAccountIds) {
|
|
@@ -29,6 +28,3 @@ function getPaymentAccountsByBankAccountIds(paymentAccountState, bankAccountIds)
|
|
|
29
28
|
.filter((value) => value != null);
|
|
30
29
|
return paymentAccounts;
|
|
31
30
|
}
|
|
32
|
-
function getPlaidPaymentAccounts(paymentAccountState) {
|
|
33
|
-
return (0, values_1.default)(paymentAccountState.paymentAccountByID).filter((account) => account.provider === 'plaid');
|
|
34
|
-
}
|
|
@@ -7,7 +7,7 @@ export declare const deleteConnectionEpic: (actions$: ActionsObservable<ActionTy
|
|
|
7
7
|
payload: {
|
|
8
8
|
tenantId: string;
|
|
9
9
|
connectionId: string;
|
|
10
|
-
connectionType: "revenue" | "
|
|
10
|
+
connectionType: "revenue" | "payments";
|
|
11
11
|
};
|
|
12
12
|
type: "tenant/deleteConnectionSuccess";
|
|
13
13
|
} | {
|
|
@@ -6,7 +6,7 @@ export type ActionType = ReturnType<typeof saveAPIKeyConnection> | ReturnType<ty
|
|
|
6
6
|
export declare const saveAPIKeyConnectionEpic: (actions$: ActionsObservable<ActionType>, _: StateObservable<RootState>, zeniAPI: ZeniAPI) => import("rxjs").Observable<{
|
|
7
7
|
payload: {
|
|
8
8
|
tenantId: string;
|
|
9
|
-
connectionType: "revenue" | "
|
|
9
|
+
connectionType: "revenue" | "payments";
|
|
10
10
|
connectionPayload: import("../tenantPayload").ConnectionDataPayload;
|
|
11
11
|
};
|
|
12
12
|
type: "tenant/saveAPIKeyConnectionSuccess";
|
|
@@ -6,15 +6,15 @@ export type ActionType = ReturnType<typeof saveConnectorCredentials> | ReturnTyp
|
|
|
6
6
|
export declare const saveConnectorCredentialsEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => import("rxjs").Observable<{
|
|
7
7
|
payload: {
|
|
8
8
|
tenantId: string;
|
|
9
|
-
connectionType: "revenue" | "
|
|
10
|
-
connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal"
|
|
9
|
+
connectionType: "revenue" | "payments";
|
|
10
|
+
connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal";
|
|
11
11
|
connectionPayload: import("../tenantPayload").ConnectionDataPayload;
|
|
12
12
|
};
|
|
13
13
|
type: "tenant/saveConnectorCredentialsSuccess";
|
|
14
14
|
} | {
|
|
15
15
|
payload: {
|
|
16
16
|
tenantId: string;
|
|
17
|
-
connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal"
|
|
17
|
+
connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal";
|
|
18
18
|
status: import("../../../responsePayload").ZeniAPIStatus<Record<string, unknown>>;
|
|
19
19
|
};
|
|
20
20
|
type: "tenant/saveConnectorCredentialsFailure";
|
|
@@ -6,7 +6,7 @@ export type ActionType = ReturnType<typeof saveOAuthConnection> | ReturnType<typ
|
|
|
6
6
|
export declare const saveOAuthConnectionEpic: (actions$: ActionsObservable<ActionType>, _: StateObservable<RootState>, zeniAPI: ZeniAPI) => import("rxjs").Observable<{
|
|
7
7
|
payload: {
|
|
8
8
|
tenantId: string;
|
|
9
|
-
connectionType: "revenue" | "
|
|
9
|
+
connectionType: "revenue" | "payments";
|
|
10
10
|
connectionPayload: import("../tenantPayload").ConnectionDataPayload;
|
|
11
11
|
};
|
|
12
12
|
type: "tenant/saveOAuthConnectionSuccess";
|
|
@@ -19,10 +19,7 @@ export interface TenantsData {
|
|
|
19
19
|
*/
|
|
20
20
|
export interface TenantUserPayload {
|
|
21
21
|
rewards_feature_last_viewed_time: string | null;
|
|
22
|
-
is_treasury_promo_intro_closed_by_outside_click?: boolean;
|
|
23
22
|
is_treasury_promo_video_played?: boolean;
|
|
24
|
-
is_treasury_promo_video_remind_me_later_clicked?: boolean;
|
|
25
|
-
login_counter_for_treasury_promo_video?: number;
|
|
26
23
|
}
|
|
27
24
|
interface TenantPayload {
|
|
28
25
|
accounting_class_ids: string[];
|
|
@@ -161,7 +158,6 @@ interface ConnectionsPayload {
|
|
|
161
158
|
connections: {
|
|
162
159
|
accounting: ConnectionDataPayload[];
|
|
163
160
|
payments: ConnectionDataPayload[];
|
|
164
|
-
email?: ConnectionDataPayload[];
|
|
165
161
|
revenue?: ConnectionDataPayload[];
|
|
166
162
|
};
|
|
167
163
|
}
|
|
@@ -13,9 +13,9 @@ export interface DoSignInPayload {
|
|
|
13
13
|
redirectUri: ZeniUrl;
|
|
14
14
|
sourceUri: ZeniUrl;
|
|
15
15
|
}
|
|
16
|
-
export declare const toExternalIntegrationType: (v: string) => "revenue" | "
|
|
16
|
+
export declare const toExternalIntegrationType: (v: string) => "revenue" | "payments";
|
|
17
17
|
export type ExternalIntegrationType = ReturnType<typeof toExternalIntegrationType>;
|
|
18
|
-
export declare const toExternalSupportedTool: (v: string) => "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal"
|
|
18
|
+
export declare const toExternalSupportedTool: (v: string) => "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal";
|
|
19
19
|
export type ExternalSupportedTool = ReturnType<typeof toExternalSupportedTool>;
|
|
20
20
|
export type ConnectorCredentialsBySlug = {
|
|
21
21
|
connectionName: 'stripe';
|
|
@@ -101,26 +101,26 @@ export declare const updateTenants: import("@reduxjs/toolkit").ActionCreatorWith
|
|
|
101
101
|
}, "tenant/fetchExternalConnectionsFailure", never, never>, fetchExternalConnectionsSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, externalConnections: ConnectionsPayload], {
|
|
102
102
|
tenantId: string;
|
|
103
103
|
externalConnections: ConnectionsPayload;
|
|
104
|
-
}, "tenant/fetchExternalConnectionsSuccess", never, never>, saveAPIKeyConnection: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionId: string, connectionType: "revenue" | "
|
|
104
|
+
}, "tenant/fetchExternalConnectionsSuccess", never, never>, saveAPIKeyConnection: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionId: string, connectionType: "revenue" | "payments", connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal", credentials: {
|
|
105
105
|
api_key: string;
|
|
106
106
|
site: string;
|
|
107
107
|
}], {
|
|
108
108
|
tenantId: string;
|
|
109
109
|
connectionId: string;
|
|
110
|
-
connectionType: "revenue" | "
|
|
111
|
-
connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal"
|
|
110
|
+
connectionType: "revenue" | "payments";
|
|
111
|
+
connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal";
|
|
112
112
|
credentials: {
|
|
113
113
|
api_key: string;
|
|
114
114
|
site: string;
|
|
115
115
|
};
|
|
116
|
-
}, "tenant/saveAPIKeyConnection", never, never>, saveAPIKeyConnectionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionType: "revenue" | "
|
|
116
|
+
}, "tenant/saveAPIKeyConnection", never, never>, saveAPIKeyConnectionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionType: "revenue" | "payments", connectionPayload: ConnectionDataPayload], {
|
|
117
117
|
tenantId: string;
|
|
118
|
-
connectionType: "revenue" | "
|
|
118
|
+
connectionType: "revenue" | "payments";
|
|
119
119
|
connectionPayload: ConnectionDataPayload;
|
|
120
120
|
}, "tenant/saveAPIKeyConnectionSuccess", never, never>, saveAPIKeyConnectionFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, status: ZeniAPIStatus<Record<string, unknown>>], {
|
|
121
121
|
tenantId: string;
|
|
122
122
|
status: ZeniAPIStatus<Record<string, unknown>>;
|
|
123
|
-
}, "tenant/saveAPIKeyConnectionFailure", never, never>, saveOAuthConnection: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionId: string, connectionType: "revenue" | "
|
|
123
|
+
}, "tenant/saveAPIKeyConnectionFailure", never, never>, saveOAuthConnection: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionId: string, connectionType: "revenue" | "payments", connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal", credentials: {
|
|
124
124
|
authorization_code: string;
|
|
125
125
|
client_id: string;
|
|
126
126
|
client_secret: string;
|
|
@@ -128,35 +128,35 @@ export declare const updateTenants: import("@reduxjs/toolkit").ActionCreatorWith
|
|
|
128
128
|
}], {
|
|
129
129
|
tenantId: string;
|
|
130
130
|
connectionId: string;
|
|
131
|
-
connectionType: "revenue" | "
|
|
132
|
-
connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal"
|
|
131
|
+
connectionType: "revenue" | "payments";
|
|
132
|
+
connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal";
|
|
133
133
|
credentials: {
|
|
134
134
|
authorization_code: string;
|
|
135
135
|
client_id: string;
|
|
136
136
|
client_secret: string;
|
|
137
137
|
redirect_uri: string;
|
|
138
138
|
};
|
|
139
|
-
}, "tenant/saveOAuthConnection", never, never>, saveOAuthConnectionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionType: "revenue" | "
|
|
139
|
+
}, "tenant/saveOAuthConnection", never, never>, saveOAuthConnectionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionType: "revenue" | "payments", connectionPayload: ConnectionDataPayload], {
|
|
140
140
|
tenantId: string;
|
|
141
|
-
connectionType: "revenue" | "
|
|
141
|
+
connectionType: "revenue" | "payments";
|
|
142
142
|
connectionPayload: ConnectionDataPayload;
|
|
143
143
|
}, "tenant/saveOAuthConnectionSuccess", never, never>, saveOAuthConnectionFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, status: ZeniAPIStatus<Record<string, unknown>>], {
|
|
144
144
|
tenantId: string;
|
|
145
145
|
status: ZeniAPIStatus<Record<string, unknown>>;
|
|
146
|
-
}, "tenant/saveOAuthConnectionFailure", never, never>, saveConnectorCredentials: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionType: "revenue" | "
|
|
146
|
+
}, "tenant/saveOAuthConnectionFailure", never, never>, saveConnectorCredentials: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionType: "revenue" | "payments", args: ConnectorCredentialsBySlug], {
|
|
147
147
|
connectionName: "stripe";
|
|
148
148
|
credentials: {
|
|
149
149
|
api_key: string;
|
|
150
150
|
};
|
|
151
151
|
tenantId: string;
|
|
152
|
-
connectionType: "revenue" | "
|
|
152
|
+
connectionType: "revenue" | "payments";
|
|
153
153
|
} | {
|
|
154
154
|
connectionName: "mercury";
|
|
155
155
|
credentials: {
|
|
156
156
|
api_key: string;
|
|
157
157
|
};
|
|
158
158
|
tenantId: string;
|
|
159
|
-
connectionType: "revenue" | "
|
|
159
|
+
connectionType: "revenue" | "payments";
|
|
160
160
|
} | {
|
|
161
161
|
connectionName: "paypal";
|
|
162
162
|
credentials: {
|
|
@@ -164,36 +164,24 @@ export declare const updateTenants: import("@reduxjs/toolkit").ActionCreatorWith
|
|
|
164
164
|
client_secret: string;
|
|
165
165
|
};
|
|
166
166
|
tenantId: string;
|
|
167
|
-
connectionType: "revenue" | "
|
|
168
|
-
}, "tenant/saveConnectorCredentials", never, never>, saveConnectorCredentialsSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionType: "revenue" | "
|
|
167
|
+
connectionType: "revenue" | "payments";
|
|
168
|
+
}, "tenant/saveConnectorCredentials", never, never>, saveConnectorCredentialsSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionType: "revenue" | "payments", connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal", connectionPayload: ConnectionDataPayload], {
|
|
169
169
|
tenantId: string;
|
|
170
|
-
connectionType: "revenue" | "
|
|
171
|
-
connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal"
|
|
170
|
+
connectionType: "revenue" | "payments";
|
|
171
|
+
connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal";
|
|
172
172
|
connectionPayload: ConnectionDataPayload;
|
|
173
|
-
}, "tenant/saveConnectorCredentialsSuccess", never, never>, saveConnectorCredentialsFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal"
|
|
173
|
+
}, "tenant/saveConnectorCredentialsSuccess", never, never>, saveConnectorCredentialsFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal", status: ZeniAPIStatus<Record<string, unknown>>], {
|
|
174
174
|
tenantId: string;
|
|
175
|
-
connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal"
|
|
175
|
+
connectionName: "chargebee" | "hubspot" | "stripe" | "mercury" | "paypal";
|
|
176
176
|
status: ZeniAPIStatus<Record<string, unknown>>;
|
|
177
|
-
}, "tenant/saveConnectorCredentialsFailure", never, never>,
|
|
178
|
-
tenantId: string;
|
|
179
|
-
provider: "gmail" | "outlook";
|
|
180
|
-
redirectAfterUrl: string;
|
|
181
|
-
}, "tenant/initEmailConnectOAuth", never, never>, initEmailConnectOAuthSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, provider: "gmail" | "outlook", authorizationUrl: string], {
|
|
182
|
-
tenantId: string;
|
|
183
|
-
provider: "gmail" | "outlook";
|
|
184
|
-
authorizationUrl: string;
|
|
185
|
-
}, "tenant/initEmailConnectOAuthSuccess", never, never>, initEmailConnectOAuthFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, provider: "gmail" | "outlook", status: ZeniAPIStatus<Record<string, unknown>>], {
|
|
186
|
-
tenantId: string;
|
|
187
|
-
provider: "gmail" | "outlook";
|
|
188
|
-
status: ZeniAPIStatus<Record<string, unknown>>;
|
|
189
|
-
}, "tenant/initEmailConnectOAuthFailure", never, never>, deleteConnection: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionId: string, connectionType: "revenue" | "email" | "payments"], {
|
|
177
|
+
}, "tenant/saveConnectorCredentialsFailure", never, never>, deleteConnection: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionId: string, connectionType: "revenue" | "payments"], {
|
|
190
178
|
tenantId: string;
|
|
191
179
|
connectionId: string;
|
|
192
|
-
connectionType: "revenue" | "
|
|
193
|
-
}, "tenant/deleteConnection", never, never>, deleteConnectionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionId: string, connectionType: "revenue" | "
|
|
180
|
+
connectionType: "revenue" | "payments";
|
|
181
|
+
}, "tenant/deleteConnection", never, never>, deleteConnectionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionId: string, connectionType: "revenue" | "payments"], {
|
|
194
182
|
tenantId: string;
|
|
195
183
|
connectionId: string;
|
|
196
|
-
connectionType: "revenue" | "
|
|
184
|
+
connectionType: "revenue" | "payments";
|
|
197
185
|
}, "tenant/deleteConnectionSuccess", never, never>, deleteConnectionFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, status: ZeniAPIStatus<Record<string, unknown>>], {
|
|
198
186
|
tenantId: string;
|
|
199
187
|
status: ZeniAPIStatus<Record<string, unknown>>;
|
|
@@ -210,7 +198,7 @@ export declare const updateTenants: import("@reduxjs/toolkit").ActionCreatorWith
|
|
|
210
198
|
}, "tenant/updateSubscriptionSummaryForTenantFailure", never, never>, updateOnboardingTenants: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenants: TenantPayload[], tenantUpdated?: any], {
|
|
211
199
|
tenants: TenantPayload[];
|
|
212
200
|
tenantUpdated: any;
|
|
213
|
-
}, "tenant/updateOnboardingTenants", never, never>, removeOnboardingTenant: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "tenant/removeOnboardingTenant">, updateTenantReimbursementInfo: import("@reduxjs/toolkit").ActionCreatorWithPayload<UserRolePayload, "tenant/updateTenantReimbursementInfo">, updateReferViewedForLoggedInUser: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/updateReferViewedForLoggedInUser">, resetSignInState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/resetSignInState">, trigger2FA: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[otpChallenge: string, userEmail: string, twoFAPhoneNumber: string], {
|
|
201
|
+
}, "tenant/updateOnboardingTenants", never, never>, removeOnboardingTenant: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "tenant/removeOnboardingTenant">, updateTenantReimbursementInfo: import("@reduxjs/toolkit").ActionCreatorWithPayload<UserRolePayload, "tenant/updateTenantReimbursementInfo">, updateReferViewedForLoggedInUser: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/updateReferViewedForLoggedInUser">, updateTreasuryVideoViewedForLoggedInUser: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/updateTreasuryVideoViewedForLoggedInUser">, resetSignInState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/resetSignInState">, trigger2FA: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[otpChallenge: string, userEmail: string, twoFAPhoneNumber: string], {
|
|
214
202
|
otpChallenge: string;
|
|
215
203
|
userEmail: string;
|
|
216
204
|
twoFAPhoneNumber: string;
|
|
@@ -232,7 +220,7 @@ export declare const updateTenants: import("@reduxjs/toolkit").ActionCreatorWith
|
|
|
232
220
|
}, "tenant/verifyDeviceWithTwoFA", never, never>, verifyDeviceWithTwoFASuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[userId: string, sessionId: string], {
|
|
233
221
|
userId: string;
|
|
234
222
|
sessionId: string;
|
|
235
|
-
}, "tenant/verifyDeviceWithTwoFASuccess", never, never>, verifyDeviceWithTwoFAFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "tenant/verifyDeviceWithTwoFAFailure">,
|
|
223
|
+
}, "tenant/verifyDeviceWithTwoFASuccess", never, never>, verifyDeviceWithTwoFAFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "tenant/verifyDeviceWithTwoFAFailure">, resendVerifyDeviceOTP: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[deviceId: string, magicLinkEmail: string, otpChallenge: string], {
|
|
236
224
|
deviceId: string;
|
|
237
225
|
magicLinkEmail: string;
|
|
238
226
|
otpChallenge: string;
|
|
@@ -252,7 +240,6 @@ export declare const toRoleResource: (payload: RoleResourcePayload) => RoleResou
|
|
|
252
240
|
*/
|
|
253
241
|
export declare function mapConnectionsPayloadToState(connectionsPayload: ConnectionsPayload): {
|
|
254
242
|
accounting: Connection[];
|
|
255
|
-
email: Connection[];
|
|
256
243
|
payments: Connection[];
|
|
257
244
|
revenue: Connection[];
|
|
258
245
|
};
|
|
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
var _a;
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
8
|
-
exports.toConnection = exports.toRoleResource = exports.resendVerifyDeviceOTPFailure = exports.resendVerifyDeviceOTPSuccess = exports.resendVerifyDeviceOTP = exports.
|
|
7
|
+
exports.updateSubscriptionSummaryForTenantFailure = exports.updateSubscriptionSummaryForTenantSuccess = exports.fetchSubscriptionSummaryForTenant = exports.clearAll = exports.deleteConnectionFailure = exports.deleteConnectionSuccess = exports.deleteConnection = exports.saveConnectorCredentialsFailure = exports.saveConnectorCredentialsSuccess = exports.saveConnectorCredentials = exports.saveOAuthConnectionFailure = exports.saveOAuthConnectionSuccess = exports.saveOAuthConnection = exports.saveAPIKeyConnectionFailure = exports.saveAPIKeyConnectionSuccess = exports.saveAPIKeyConnection = exports.fetchExternalConnectionsSuccess = exports.fetchExternalConnectionsFailure = exports.saveExternalConnectionFailure = exports.saveExternalConnectionSuccess = exports.saveExternalConnection = exports.fetchExternalConnections = exports.updateLoggedInUser = exports.sessionHeartbeatFailure = exports.sessionHeartbeatSuccess = exports.sendSessionHeartbeat = exports.signOutSuccess = exports.doSignOut = exports.updateSignInState = exports.sendEmailMagicLinkToUserFailure = exports.sendEmailMagicLinkToUserSuccess = exports.sendEmailMagicLinkToUser = exports.magicLinkSignInFailure = exports.magicLinkSignInSuccess = exports.doMagicLinkSignIn = exports.doSignIn = exports.updateExcludedResourcesFailure = exports.updateExcludedResourcesSuccess = exports.fetchExcludedResources = exports.updateCurrentTenant = exports.updateTenantFailure = exports.updateTenantSuccess = exports.fetchActiveTenant = exports.updateTenantsFailure = exports.updateTenantsSuccess = exports.fetchAllTenants = exports.updateTenants = exports.initialState = exports.toExternalSupportedTool = exports.toExternalIntegrationType = void 0;
|
|
8
|
+
exports.toConnection = exports.toRoleResource = exports.resendVerifyDeviceOTPFailure = exports.resendVerifyDeviceOTPSuccess = exports.resendVerifyDeviceOTP = exports.verifyDeviceWithTwoFAFailure = exports.verifyDeviceWithTwoFASuccess = exports.verifyDeviceWithTwoFA = exports.updateTenantMasterTOSInfo = exports.updateTenantCapitalizationThreshold = exports.updateTenantCapitalizationOnboardingDismissed = exports.updateTenantAccountingClassesEnabled = exports.trigger2FA = exports.resetSignInState = exports.updateTreasuryVideoViewedForLoggedInUser = exports.updateReferViewedForLoggedInUser = exports.updateTenantReimbursementInfo = exports.removeOnboardingTenant = exports.updateOnboardingTenants = void 0;
|
|
9
9
|
exports.mapCapitalizableAccountsPayload = mapCapitalizableAccountsPayload;
|
|
10
10
|
exports.mapConnectionsPayloadToState = mapConnectionsPayloadToState;
|
|
11
11
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
@@ -19,7 +19,7 @@ const netBurnOrIncomeStoryCardState_1 = require("../../view/netBurnOrIncomeStory
|
|
|
19
19
|
const zeniDayJS_1 = require("../../zeniDayJS");
|
|
20
20
|
const subscriptionSummaryReducer_1 = require("../subscription/subscriptionSummary/subscriptionSummaryReducer");
|
|
21
21
|
const userRolePayload_1 = require("../userRole/userRolePayload");
|
|
22
|
-
const EXTERNAL_INTEGRATION_TYPES = ['revenue', 'payments'
|
|
22
|
+
const EXTERNAL_INTEGRATION_TYPES = ['revenue', 'payments'];
|
|
23
23
|
const toExternalIntegrationType = (v) => (0, stringToUnion_1.stringToUnion)(v, EXTERNAL_INTEGRATION_TYPES);
|
|
24
24
|
exports.toExternalIntegrationType = toExternalIntegrationType;
|
|
25
25
|
const EXTERNAL_SUPPORTED_TOOLS = [
|
|
@@ -28,8 +28,6 @@ const EXTERNAL_SUPPORTED_TOOLS = [
|
|
|
28
28
|
'stripe',
|
|
29
29
|
'mercury',
|
|
30
30
|
'paypal',
|
|
31
|
-
'gmail',
|
|
32
|
-
'outlook',
|
|
33
31
|
];
|
|
34
32
|
const toExternalSupportedTool = (v) => (0, stringToUnion_1.stringToUnion)(v, EXTERNAL_SUPPORTED_TOOLS);
|
|
35
33
|
exports.toExternalSupportedTool = toExternalSupportedTool;
|
|
@@ -92,13 +90,10 @@ const tenant = (0, toolkit_1.createSlice)({
|
|
|
92
90
|
(newTenant != null && action.payload.tenantUpdated)) {
|
|
93
91
|
// Note: If tenant data already exists, save it if the new data is the latest one.
|
|
94
92
|
// we dont want to overwrite the user related data since that has not come in the output
|
|
95
|
-
draft.tenantsById[tenantPayload.tenant_id] =
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}, action.payload.userTenantPayload ?? {
|
|
100
|
-
rewards_feature_last_viewed_time: null,
|
|
101
|
-
});
|
|
93
|
+
draft.tenantsById[tenantPayload.tenant_id] = {
|
|
94
|
+
...newTenant,
|
|
95
|
+
rewardsLastViewedTime: tenantInStore?.rewardsLastViewedTime,
|
|
96
|
+
};
|
|
102
97
|
}
|
|
103
98
|
});
|
|
104
99
|
},
|
|
@@ -125,8 +120,13 @@ const tenant = (0, toolkit_1.createSlice)({
|
|
|
125
120
|
draft.fetchState = 'Completed';
|
|
126
121
|
draft.error = undefined;
|
|
127
122
|
const [tenantsbyId, tenantIds, firstUser] = mapTenantsPayloadToState(tenants, user);
|
|
123
|
+
// Preserve existing isTreasuryVideoViewed values
|
|
128
124
|
tenantIds.forEach((tenantId) => {
|
|
129
|
-
|
|
125
|
+
const existingTenant = draft.tenantsById[tenantId];
|
|
126
|
+
if (existingTenant != null) {
|
|
127
|
+
tenantsbyId[tenantId].isTreasuryVideoViewed =
|
|
128
|
+
existingTenant.isTreasuryVideoViewed;
|
|
129
|
+
}
|
|
130
130
|
});
|
|
131
131
|
draft.tenantsById = tenantsbyId;
|
|
132
132
|
draft.tenantIds = tenantIds;
|
|
@@ -155,10 +155,9 @@ const tenant = (0, toolkit_1.createSlice)({
|
|
|
155
155
|
}
|
|
156
156
|
},
|
|
157
157
|
updateTenantCapitalizationThreshold(draft, action) {
|
|
158
|
-
const { tenantId, capitalizationThreshold, capitalizationThresholdMaxCeiling
|
|
158
|
+
const { tenantId, capitalizationThreshold, capitalizationThresholdMaxCeiling } = action.payload;
|
|
159
159
|
if (draft.tenantsById[tenantId] != null) {
|
|
160
|
-
draft.tenantsById[tenantId].capitalizationThreshold =
|
|
161
|
-
capitalizationThreshold;
|
|
160
|
+
draft.tenantsById[tenantId].capitalizationThreshold = capitalizationThreshold;
|
|
162
161
|
draft.tenantsById[tenantId].capitalizationThresholdMaxCeiling =
|
|
163
162
|
capitalizationThresholdMaxCeiling;
|
|
164
163
|
}
|
|
@@ -167,8 +166,7 @@ const tenant = (0, toolkit_1.createSlice)({
|
|
|
167
166
|
const { tenantId, popupType } = action.payload;
|
|
168
167
|
if (draft.tenantsById[tenantId] != null) {
|
|
169
168
|
if (popupType === 'prepaid') {
|
|
170
|
-
draft.tenantsById[tenantId].capitalizationOnboardingShownForPrepaid =
|
|
171
|
-
true;
|
|
169
|
+
draft.tenantsById[tenantId].capitalizationOnboardingShownForPrepaid = true;
|
|
172
170
|
}
|
|
173
171
|
else {
|
|
174
172
|
draft.tenantsById[tenantId].capitalizationOnboardingShownForFixedAsset = true;
|
|
@@ -375,7 +373,6 @@ const tenant = (0, toolkit_1.createSlice)({
|
|
|
375
373
|
draft.externalConnectionsByTenant[action.payload.tenantId] = {
|
|
376
374
|
fetchState: 'In-Progress',
|
|
377
375
|
accounting: [],
|
|
378
|
-
email: [],
|
|
379
376
|
payments: [],
|
|
380
377
|
revenue: [],
|
|
381
378
|
saveConnectionState: 'Not-Started',
|
|
@@ -393,11 +390,10 @@ const tenant = (0, toolkit_1.createSlice)({
|
|
|
393
390
|
return { payload: { tenantId, externalConnections } };
|
|
394
391
|
},
|
|
395
392
|
reducer(draft, action) {
|
|
396
|
-
const { accounting,
|
|
393
|
+
const { accounting, payments, revenue } = mapConnectionsPayloadToState(action.payload.externalConnections);
|
|
397
394
|
draft.externalConnectionsByTenant[action.payload.tenantId] = {
|
|
398
395
|
fetchState: 'Completed',
|
|
399
396
|
accounting,
|
|
400
|
-
email,
|
|
401
397
|
payments,
|
|
402
398
|
revenue,
|
|
403
399
|
saveConnectionState: 'Completed',
|
|
@@ -419,7 +415,6 @@ const tenant = (0, toolkit_1.createSlice)({
|
|
|
419
415
|
draft.externalConnectionsByTenant[tenantId] = {
|
|
420
416
|
fetchState: 'Error',
|
|
421
417
|
accounting: [],
|
|
422
|
-
email: [],
|
|
423
418
|
payments: [],
|
|
424
419
|
revenue: [],
|
|
425
420
|
saveConnectionState: 'Error',
|
|
@@ -633,56 +628,6 @@ const tenant = (0, toolkit_1.createSlice)({
|
|
|
633
628
|
}
|
|
634
629
|
},
|
|
635
630
|
},
|
|
636
|
-
// Email-connect (Gmail / Outlook) OAuth init. Distinct from the other
|
|
637
|
-
// connector saves because the FE never sees the access_token — the
|
|
638
|
-
// user-facing redirect lands on the auth service's callback, auth
|
|
639
|
-
// exchanges code → tokens and posts them to tenant, then redirects the
|
|
640
|
-
// browser back to ``redirectAfterUrl`` with ``?email_connect_result=...``.
|
|
641
|
-
// The success action carries the provider's authorization_url so the
|
|
642
|
-
// epic can drive a full-page redirect, mirroring the legacy HubSpot
|
|
643
|
-
// flow in zeni-web-app-ui/IntegrationsScreen.
|
|
644
|
-
initEmailConnectOAuth: {
|
|
645
|
-
prepare(tenantId, provider, redirectAfterUrl) {
|
|
646
|
-
return { payload: { tenantId, provider, redirectAfterUrl } };
|
|
647
|
-
},
|
|
648
|
-
reducer(draft, action) {
|
|
649
|
-
const existing = draft.externalConnectionsByTenant[action.payload.tenantId];
|
|
650
|
-
if (existing != null) {
|
|
651
|
-
// Reuse the per-slug saveConnectorCredentialsStateBySlug bucket so
|
|
652
|
-
// the IntegrationsSettingsPage shows the same loading affordance
|
|
653
|
-
// it already uses for Stripe/Mercury/PayPal connect flows.
|
|
654
|
-
existing.saveConnectorCredentialsStateBySlug[action.payload.provider] = 'In-Progress';
|
|
655
|
-
delete existing.saveConnectorCredentialsErrorBySlug[action.payload.provider];
|
|
656
|
-
}
|
|
657
|
-
},
|
|
658
|
-
},
|
|
659
|
-
initEmailConnectOAuthSuccess: {
|
|
660
|
-
prepare(tenantId, provider, authorizationUrl) {
|
|
661
|
-
return { payload: { tenantId, provider, authorizationUrl } };
|
|
662
|
-
},
|
|
663
|
-
reducer(draft, action) {
|
|
664
|
-
// Intentionally leave state as 'In-Progress' — the epic is about to
|
|
665
|
-
// do a full-page redirect, so any UI state we set here would be
|
|
666
|
-
// overwritten by the navigation anyway. Setting Completed would
|
|
667
|
-
// briefly flash a success state before the redirect, which reads
|
|
668
|
-
// wrong because the connection isn't actually saved yet at this
|
|
669
|
-
// point (it lands after the OAuth round-trip).
|
|
670
|
-
void draft;
|
|
671
|
-
void action;
|
|
672
|
-
},
|
|
673
|
-
},
|
|
674
|
-
initEmailConnectOAuthFailure: {
|
|
675
|
-
prepare(tenantId, provider, status) {
|
|
676
|
-
return { payload: { tenantId, provider, status } };
|
|
677
|
-
},
|
|
678
|
-
reducer(draft, action) {
|
|
679
|
-
const existing = draft.externalConnectionsByTenant[action.payload.tenantId];
|
|
680
|
-
if (existing != null) {
|
|
681
|
-
existing.saveConnectorCredentialsStateBySlug[action.payload.provider] = 'Error';
|
|
682
|
-
existing.saveConnectorCredentialsErrorBySlug[action.payload.provider] = action.payload.status;
|
|
683
|
-
}
|
|
684
|
-
},
|
|
685
|
-
},
|
|
686
631
|
deleteConnection: {
|
|
687
632
|
prepare(tenantId, connectionId, connectionType) {
|
|
688
633
|
return { payload: { tenantId, connectionId, connectionType } };
|
|
@@ -809,18 +754,7 @@ const tenant = (0, toolkit_1.createSlice)({
|
|
|
809
754
|
},
|
|
810
755
|
updateTreasuryVideoViewedForLoggedInUser(draft) {
|
|
811
756
|
if (draft.currentTenantId != null) {
|
|
812
|
-
draft.tenantsById[draft.currentTenantId].
|
|
813
|
-
true;
|
|
814
|
-
}
|
|
815
|
-
},
|
|
816
|
-
updateTreasuryPromoRemindMeLaterClickedForLoggedInUser(draft) {
|
|
817
|
-
if (draft.currentTenantId != null) {
|
|
818
|
-
draft.tenantsById[draft.currentTenantId].isTreasuryPromoVideoRemindMeLaterClicked = true;
|
|
819
|
-
}
|
|
820
|
-
},
|
|
821
|
-
updateTreasuryPromoIntroClosedByOutsideClickForLoggedInUser(draft) {
|
|
822
|
-
if (draft.currentTenantId != null) {
|
|
823
|
-
draft.tenantsById[draft.currentTenantId].isTreasuryPromoIntroClosedByOutsideClick = true;
|
|
757
|
+
draft.tenantsById[draft.currentTenantId].isTreasuryVideoViewed = true;
|
|
824
758
|
}
|
|
825
759
|
},
|
|
826
760
|
trigger2FA: {
|
|
@@ -882,29 +816,8 @@ const tenant = (0, toolkit_1.createSlice)({
|
|
|
882
816
|
},
|
|
883
817
|
},
|
|
884
818
|
});
|
|
885
|
-
_a = tenant.actions, exports.updateTenants = _a.updateTenants, exports.fetchAllTenants = _a.fetchAllTenants, exports.updateTenantsSuccess = _a.updateTenantsSuccess, exports.updateTenantsFailure = _a.updateTenantsFailure, exports.fetchActiveTenant = _a.fetchActiveTenant, exports.updateTenantSuccess = _a.updateTenantSuccess, exports.updateTenantFailure = _a.updateTenantFailure, exports.updateCurrentTenant = _a.updateCurrentTenant, exports.fetchExcludedResources = _a.fetchExcludedResources, exports.updateExcludedResourcesSuccess = _a.updateExcludedResourcesSuccess, exports.updateExcludedResourcesFailure = _a.updateExcludedResourcesFailure, exports.doSignIn = _a.doSignIn, exports.doMagicLinkSignIn = _a.doMagicLinkSignIn, exports.magicLinkSignInSuccess = _a.magicLinkSignInSuccess, exports.magicLinkSignInFailure = _a.magicLinkSignInFailure, exports.sendEmailMagicLinkToUser = _a.sendEmailMagicLinkToUser, exports.sendEmailMagicLinkToUserSuccess = _a.sendEmailMagicLinkToUserSuccess, exports.sendEmailMagicLinkToUserFailure = _a.sendEmailMagicLinkToUserFailure, exports.updateSignInState = _a.updateSignInState, exports.doSignOut = _a.doSignOut, exports.signOutSuccess = _a.signOutSuccess, exports.sendSessionHeartbeat = _a.sendSessionHeartbeat, exports.sessionHeartbeatSuccess = _a.sessionHeartbeatSuccess, exports.sessionHeartbeatFailure = _a.sessionHeartbeatFailure, exports.updateLoggedInUser = _a.updateLoggedInUser, exports.fetchExternalConnections = _a.fetchExternalConnections, exports.saveExternalConnection = _a.saveExternalConnection, exports.saveExternalConnectionSuccess = _a.saveExternalConnectionSuccess, exports.saveExternalConnectionFailure = _a.saveExternalConnectionFailure, exports.fetchExternalConnectionsFailure = _a.fetchExternalConnectionsFailure, exports.fetchExternalConnectionsSuccess = _a.fetchExternalConnectionsSuccess, exports.saveAPIKeyConnection = _a.saveAPIKeyConnection, exports.saveAPIKeyConnectionSuccess = _a.saveAPIKeyConnectionSuccess, exports.saveAPIKeyConnectionFailure = _a.saveAPIKeyConnectionFailure, exports.saveOAuthConnection = _a.saveOAuthConnection, exports.saveOAuthConnectionSuccess = _a.saveOAuthConnectionSuccess, exports.saveOAuthConnectionFailure = _a.saveOAuthConnectionFailure, exports.saveConnectorCredentials = _a.saveConnectorCredentials, exports.saveConnectorCredentialsSuccess = _a.saveConnectorCredentialsSuccess, exports.saveConnectorCredentialsFailure = _a.saveConnectorCredentialsFailure, exports.
|
|
819
|
+
_a = tenant.actions, exports.updateTenants = _a.updateTenants, exports.fetchAllTenants = _a.fetchAllTenants, exports.updateTenantsSuccess = _a.updateTenantsSuccess, exports.updateTenantsFailure = _a.updateTenantsFailure, exports.fetchActiveTenant = _a.fetchActiveTenant, exports.updateTenantSuccess = _a.updateTenantSuccess, exports.updateTenantFailure = _a.updateTenantFailure, exports.updateCurrentTenant = _a.updateCurrentTenant, exports.fetchExcludedResources = _a.fetchExcludedResources, exports.updateExcludedResourcesSuccess = _a.updateExcludedResourcesSuccess, exports.updateExcludedResourcesFailure = _a.updateExcludedResourcesFailure, exports.doSignIn = _a.doSignIn, exports.doMagicLinkSignIn = _a.doMagicLinkSignIn, exports.magicLinkSignInSuccess = _a.magicLinkSignInSuccess, exports.magicLinkSignInFailure = _a.magicLinkSignInFailure, exports.sendEmailMagicLinkToUser = _a.sendEmailMagicLinkToUser, exports.sendEmailMagicLinkToUserSuccess = _a.sendEmailMagicLinkToUserSuccess, exports.sendEmailMagicLinkToUserFailure = _a.sendEmailMagicLinkToUserFailure, exports.updateSignInState = _a.updateSignInState, exports.doSignOut = _a.doSignOut, exports.signOutSuccess = _a.signOutSuccess, exports.sendSessionHeartbeat = _a.sendSessionHeartbeat, exports.sessionHeartbeatSuccess = _a.sessionHeartbeatSuccess, exports.sessionHeartbeatFailure = _a.sessionHeartbeatFailure, exports.updateLoggedInUser = _a.updateLoggedInUser, exports.fetchExternalConnections = _a.fetchExternalConnections, exports.saveExternalConnection = _a.saveExternalConnection, exports.saveExternalConnectionSuccess = _a.saveExternalConnectionSuccess, exports.saveExternalConnectionFailure = _a.saveExternalConnectionFailure, exports.fetchExternalConnectionsFailure = _a.fetchExternalConnectionsFailure, exports.fetchExternalConnectionsSuccess = _a.fetchExternalConnectionsSuccess, exports.saveAPIKeyConnection = _a.saveAPIKeyConnection, exports.saveAPIKeyConnectionSuccess = _a.saveAPIKeyConnectionSuccess, exports.saveAPIKeyConnectionFailure = _a.saveAPIKeyConnectionFailure, exports.saveOAuthConnection = _a.saveOAuthConnection, exports.saveOAuthConnectionSuccess = _a.saveOAuthConnectionSuccess, exports.saveOAuthConnectionFailure = _a.saveOAuthConnectionFailure, exports.saveConnectorCredentials = _a.saveConnectorCredentials, exports.saveConnectorCredentialsSuccess = _a.saveConnectorCredentialsSuccess, exports.saveConnectorCredentialsFailure = _a.saveConnectorCredentialsFailure, exports.deleteConnection = _a.deleteConnection, exports.deleteConnectionSuccess = _a.deleteConnectionSuccess, exports.deleteConnectionFailure = _a.deleteConnectionFailure, exports.clearAll = _a.clearAll, exports.fetchSubscriptionSummaryForTenant = _a.fetchSubscriptionSummaryForTenant, exports.updateSubscriptionSummaryForTenantSuccess = _a.updateSubscriptionSummaryForTenantSuccess, exports.updateSubscriptionSummaryForTenantFailure = _a.updateSubscriptionSummaryForTenantFailure, exports.updateOnboardingTenants = _a.updateOnboardingTenants, exports.removeOnboardingTenant = _a.removeOnboardingTenant, exports.updateTenantReimbursementInfo = _a.updateTenantReimbursementInfo, exports.updateReferViewedForLoggedInUser = _a.updateReferViewedForLoggedInUser, exports.updateTreasuryVideoViewedForLoggedInUser = _a.updateTreasuryVideoViewedForLoggedInUser, exports.resetSignInState = _a.resetSignInState, exports.trigger2FA = _a.trigger2FA, exports.updateTenantAccountingClassesEnabled = _a.updateTenantAccountingClassesEnabled, exports.updateTenantCapitalizationOnboardingDismissed = _a.updateTenantCapitalizationOnboardingDismissed, exports.updateTenantCapitalizationThreshold = _a.updateTenantCapitalizationThreshold, exports.updateTenantMasterTOSInfo = _a.updateTenantMasterTOSInfo, exports.verifyDeviceWithTwoFA = _a.verifyDeviceWithTwoFA, exports.verifyDeviceWithTwoFASuccess = _a.verifyDeviceWithTwoFASuccess, exports.verifyDeviceWithTwoFAFailure = _a.verifyDeviceWithTwoFAFailure, exports.resendVerifyDeviceOTP = _a.resendVerifyDeviceOTP, exports.resendVerifyDeviceOTPSuccess = _a.resendVerifyDeviceOTPSuccess, exports.resendVerifyDeviceOTPFailure = _a.resendVerifyDeviceOTPFailure;
|
|
886
820
|
exports.default = tenant.reducer;
|
|
887
|
-
/**
|
|
888
|
-
* Applies treasury promo user fields from the tenants API user block when present.
|
|
889
|
-
* When a field is omitted from the payload, keeps the existing tenant value so a
|
|
890
|
-
* later fetch-all-tenants call does not reset values already loaded by fetch-active-tenant.
|
|
891
|
-
*/
|
|
892
|
-
function applyTreasuryPromoUserFieldsFromPayload(existingTenant, mappedTenant, userTenantPayload) {
|
|
893
|
-
if (existingTenant == null) {
|
|
894
|
-
return mappedTenant;
|
|
895
|
-
}
|
|
896
|
-
return {
|
|
897
|
-
...mappedTenant,
|
|
898
|
-
isTreasuryPromoVideoPlayed: userTenantPayload.is_treasury_promo_video_played ??
|
|
899
|
-
existingTenant.isTreasuryPromoVideoPlayed,
|
|
900
|
-
isTreasuryPromoVideoRemindMeLaterClicked: userTenantPayload.is_treasury_promo_video_remind_me_later_clicked ??
|
|
901
|
-
existingTenant.isTreasuryPromoVideoRemindMeLaterClicked,
|
|
902
|
-
loginCounterForTreasuryPromoVideo: userTenantPayload.login_counter_for_treasury_promo_video ??
|
|
903
|
-
existingTenant.loginCounterForTreasuryPromoVideo,
|
|
904
|
-
isTreasuryPromoIntroClosedByOutsideClick: userTenantPayload.is_treasury_promo_intro_closed_by_outside_click ??
|
|
905
|
-
existingTenant.isTreasuryPromoIntroClosedByOutsideClick,
|
|
906
|
-
};
|
|
907
|
-
}
|
|
908
821
|
/**
|
|
909
822
|
* Converts tenants payload to Tenant and User State
|
|
910
823
|
* @param payload tenants payload as received from backend API response
|
|
@@ -980,12 +893,7 @@ function mapTenantPayloadToTenant(payload, userTenantPayload) {
|
|
|
980
893
|
rewardsLastViewedTime: userTenantPayload?.rewards_feature_last_viewed_time != null
|
|
981
894
|
? (0, zeniDayJS_1.date)(userTenantPayload.rewards_feature_last_viewed_time)
|
|
982
895
|
: undefined,
|
|
983
|
-
|
|
984
|
-
isTreasuryPromoVideoRemindMeLaterClicked: userTenantPayload?.is_treasury_promo_video_remind_me_later_clicked ??
|
|
985
|
-
false,
|
|
986
|
-
loginCounterForTreasuryPromoVideo: userTenantPayload?.login_counter_for_treasury_promo_video ?? 0,
|
|
987
|
-
isTreasuryPromoIntroClosedByOutsideClick: userTenantPayload?.is_treasury_promo_intro_closed_by_outside_click ??
|
|
988
|
-
false,
|
|
896
|
+
isTreasuryVideoViewed: userTenantPayload?.is_treasury_promo_video_played,
|
|
989
897
|
zeniBookCloseDate: payload.zeni_book_close_date != null
|
|
990
898
|
? (0, zeniDayJS_1.date)(payload.zeni_book_close_date)
|
|
991
899
|
: undefined,
|
|
@@ -1062,11 +970,6 @@ function mapConnectionsPayloadToState(connectionsPayload) {
|
|
|
1062
970
|
const { connections } = connectionsPayload;
|
|
1063
971
|
return {
|
|
1064
972
|
accounting: connections.accounting.map((payload) => (0, exports.toConnection)(payload)),
|
|
1065
|
-
// Tenant materializes gmail/outlook under the `email` bucket via
|
|
1066
|
-
// _THIRD_PARTY_CONNECTORS_TO_MATERIALIZE when their slugs are enabled in
|
|
1067
|
-
// third_party_enabled_connectors Statsig config. Default to [] so older
|
|
1068
|
-
// tenant deploys (or disabled-everywhere envs) don't blow up here.
|
|
1069
|
-
email: (connections.email ?? []).map((payload) => (0, exports.toConnection)(payload)),
|
|
1070
973
|
payments: connections.payments.map((payload) => (0, exports.toConnection)(payload)),
|
|
1071
974
|
revenue: (connections.revenue ?? []).map((payload) => (0, exports.toConnection)(payload)),
|
|
1072
975
|
};
|
|
@@ -13,7 +13,6 @@ import { AuthProvider, ExternalSupportedTool } from './tenantReducer';
|
|
|
13
13
|
export interface TenantExternalConnections {
|
|
14
14
|
accounting: Connection[];
|
|
15
15
|
deleteConnectionState: FetchState;
|
|
16
|
-
email: Connection[];
|
|
17
16
|
fetchState: FetchState;
|
|
18
17
|
payments: Connection[];
|
|
19
18
|
revenue: Connection[];
|
|
@@ -90,11 +89,7 @@ export interface Tenant {
|
|
|
90
89
|
isCustomerCreated: boolean;
|
|
91
90
|
isEmailGroupCreated: boolean;
|
|
92
91
|
isOnboardingCompleted: boolean;
|
|
93
|
-
isTreasuryPromoIntroClosedByOutsideClick: boolean;
|
|
94
|
-
isTreasuryPromoVideoPlayed: boolean;
|
|
95
|
-
isTreasuryPromoVideoRemindMeLaterClicked: boolean;
|
|
96
92
|
isZeni: boolean;
|
|
97
|
-
loginCounterForTreasuryPromoVideo: number;
|
|
98
93
|
netBurnSettings: {
|
|
99
94
|
accountingMethod: AccountingMethod;
|
|
100
95
|
numberOfMonthsForAverage: AverageMonthsCount;
|
|
@@ -110,6 +105,7 @@ export interface Tenant {
|
|
|
110
105
|
userRoleId: ID;
|
|
111
106
|
bookCloseDate?: ZeniDate;
|
|
112
107
|
hubSpotId?: ID;
|
|
108
|
+
isTreasuryVideoViewed?: boolean;
|
|
113
109
|
masterTOSInfo?: MasterTOSInfo;
|
|
114
110
|
rewardsLastViewedTime?: ZeniDate;
|
|
115
111
|
userReimbursementInfo?: UserReimbursementInfo;
|