@zeniai/client-epic-state 4.11.48 → 4.11.49
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/entity/chargeCardTransaction/chargeCardTransaction.d.ts +1 -1
- package/lib/entity/company/companyPayload.d.ts +12 -0
- package/lib/entity/company/companyPayload.js +21 -0
- package/lib/entity/company/companyReducer.d.ts +7 -0
- package/lib/entity/company/companyReducer.js +22 -2
- package/lib/entity/company/companyStateTypes.d.ts +12 -0
- package/lib/entity/depositAccountTransaction/depositAccountTransaction.d.ts +1 -1
- package/lib/entity/paymentAccount/paymentAccountPayload.d.ts +2 -0
- package/lib/entity/paymentAccount/paymentAccountPayload.js +2 -0
- package/lib/entity/paymentAccount/paymentAccountState.d.ts +2 -0
- package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
- package/lib/entity/toastNotification/epic/pushToastNotificationEpic.d.ts +1 -1
- package/lib/index.d.ts +6 -6
- package/lib/view/cardPayment/epic/addCardPaymentSourceEpic.d.ts +1 -1
- package/lib/view/cardPayment/epic/confirmCardSetupIntentEpic.d.ts +1 -1
- package/lib/view/cardPayment/epic/createCardSetupIntentEpic.d.ts +1 -1
- package/lib/view/cardPayment/epic/fetchPaymentSourcesEpic.d.ts +1 -1
- package/lib/view/companyView/types/cockpitTypes.d.ts +2 -2
- package/lib/view/onboardingView/customerView/epic/plaidConnection/establishOnboardingPlaidConnectionEpic.js +2 -0
- package/lib/view/people/changeZeniPersonRolesEpic.d.ts +1 -1
- package/lib/view/people/deletePersonEpic.d.ts +1 -1
- package/lib/view/people/invitePeopleEpic.d.ts +1 -1
- package/lib/view/people/inviteZeniPeopleEpic.d.ts +1 -1
- package/lib/view/people/resendInviteEpic.d.ts +1 -1
- package/lib/view/referralView/referralState.d.ts +1 -1
- package/lib/view/reviewCompanyView/reviewCompanyViewSelector.js +45 -41
- package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
- package/lib/view/settingsView/epic/fetchBankConnectionsViewEpic.d.ts +6 -4
- package/lib/view/settingsView/epic/fetchBankConnectionsViewEpic.js +29 -6
- package/lib/view/settingsView/epic/saveNotificationSettingsEpic.d.ts +1 -1
- package/lib/view/settingsView/settingsViewReducer.d.ts +3 -1
- package/lib/view/settingsView/settingsViewReducer.js +11 -2
- package/lib/view/settingsView/settingsViewSelector.d.ts +1 -1
- package/lib/view/settingsView/settingsViewSelector.js +56 -7
- package/lib/view/settingsView/types/settingsViewSelectorTypes.d.ts +10 -2
- package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +2 -3
- package/lib/view/spendManagement/billPay/billPaySetupView/billPaySetupViewSelector.js +1 -1
- package/lib/view/spendManagement/billPay/billPaySetupView/epic/billPaySetup/fetchBillPaySetupViewEpic.d.ts +4 -1
- package/lib/view/spendManagement/billPay/billPaySetupView/epic/billPaySetup/fetchBillPaySetupViewEpic.js +16 -4
- package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +15 -12
- package/lib/view/spendManagement/billPay/editBillView/epics/fetchEditBillDetailPageEpic.d.ts +2 -2
- package/lib/view/spendManagement/billPay/editBillView/epics/fetchEditBillDetailPageEpic.js +6 -6
- package/lib/view/spendManagement/billPay/editBillView/epics/initializeBillToLocalStoreEpic.d.ts +1 -2
- package/lib/view/spendManagement/chargeCards/chargeCardSetUp/chargeCardSetUpViewSelector.js +1 -1
- package/lib/view/spendManagement/chargeCards/chargeCardSetUp/epic/fetchChargeCardSetupViewEpic.d.ts +4 -1
- package/lib/view/spendManagement/chargeCards/chargeCardSetUp/epic/fetchChargeCardSetupViewEpic.js +16 -4
- package/lib/view/spendManagement/commonSetup/setupViewSelector.d.ts +4 -0
- package/lib/view/spendManagement/commonSetup/setupViewSelector.js +47 -31
- package/lib/view/spendManagement/plaidAccount/epic/paymentAccounts/updateMappedCashAccountEpic.js +4 -5
- package/lib/view/spendManagement/plaidAccount/epic/paymentAccounts/updatePaymentAccountEpic.js +1 -2
- package/lib/view/spendManagement/plaidAccount/epic/paymentAccounts/updatePaymentAccountStatusEpic.js +1 -2
- package/lib/view/spendManagement/plaidAccount/epic/paymentAccounts/updatePrimaryFundingAccountEpic.js +34 -12
- package/lib/view/spendManagement/plaidAccount/epic/plaidConnection/establishPlaidConnectionEpic.d.ts +2 -1
- package/lib/view/spendManagement/plaidAccount/epic/plaidConnection/establishPlaidConnectionEpic.js +52 -16
- package/lib/view/spendManagement/plaidAccount/epic/plaidConnection/getPlaidLinkTokenEpic.js +1 -1
- package/lib/view/spendManagement/plaidAccount/plaidAccountViewReducer.d.ts +21 -27
- package/lib/view/spendManagement/plaidAccount/plaidAccountViewReducer.js +47 -74
- package/lib/view/spendManagement/plaidAccount/plaidAccountViewState.d.ts +3 -8
- package/lib/view/spendManagement/plaidAccount/plaidAccountViewState.js +6 -3
- package/lib/view/spendManagement/reimbursement/remiSetupView/epic/remiSetup/fetchRemiSetupViewEpic.js +6 -19
- package/lib/view/spendManagement/zeniAccounts/zeniAccountList/zeniAccountListSelector.js +2 -2
- package/lib/view/spendManagement/zeniAccounts/zeniAccountSetUp/epic/fetchZeniAccountSetupViewEpic.d.ts +4 -1
- package/lib/view/spendManagement/zeniAccounts/zeniAccountSetUp/epic/fetchZeniAccountSetupViewEpic.js +20 -9
- package/lib/view/spendManagement/zeniAccounts/zeniAccountSetUp/zeniAccountSetupViewSelector.js +1 -1
- package/lib/view/tagView/epics/createTagEpic.d.ts +6 -6
- package/lib/view/tagView/epics/deleteTagEpic.d.ts +6 -6
- package/package.json +1 -1
|
@@ -6,13 +6,13 @@ const operators_1 = require("rxjs/operators");
|
|
|
6
6
|
const editBillViewReducer_1 = require("../editBillViewReducer");
|
|
7
7
|
const classListReducer_1 = require("../../../../classList/classListReducer");
|
|
8
8
|
const accountListReducer_1 = require("../../../../accountList/accountListReducer");
|
|
9
|
-
const plaidAccountViewReducer_1 = require("../../../plaidAccount/plaidAccountViewReducer");
|
|
10
9
|
const billPaySetupApproverViewReducer_1 = require("../../billPaySetupApproverView/billPaySetupApproverViewReducer");
|
|
11
10
|
const ownerListReducer_1 = require("../../../../ownerList/ownerListReducer");
|
|
12
11
|
const vendorTypeListReducer_1 = require("../../../../vendorTypeList/vendorTypeListReducer");
|
|
13
12
|
const billPayConfigReducer_1 = require("../../billPayConfig/billPayConfigReducer");
|
|
14
13
|
const depositAccountListReducer_1 = require("../../../zeniAccounts/depositAccountList/depositAccountListReducer");
|
|
15
14
|
const companySelector_1 = require("../../../../../entity/company/companySelector");
|
|
15
|
+
const paymentAccountListReducer_1 = require("../../../zeniAccounts/paymentAccountList/paymentAccountListReducer");
|
|
16
16
|
const fetchEditBillDetailPageEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(editBillViewReducer_1.fetchEditBillDetailPage.match), (0, operators_1.mergeMap)((action) => {
|
|
17
17
|
var _a, _b, _c;
|
|
18
18
|
const { cacheOverride, billId, isShowDeletedBillsEnabled } = action.payload;
|
|
@@ -34,7 +34,7 @@ const fetchEditBillDetailPageEpic = (actions$, state$) => actions$.pipe((0, oper
|
|
|
34
34
|
if (isCompanyZeniAccountsSetUpDone) {
|
|
35
35
|
billDetailActions.push((0, depositAccountListReducer_1.fetchDepositAccountList)());
|
|
36
36
|
}
|
|
37
|
-
billDetailActions.push((0,
|
|
37
|
+
billDetailActions.push((0, paymentAccountListReducer_1.fetchPaymentAccountList)());
|
|
38
38
|
if (billId != null) {
|
|
39
39
|
billDetailActions.push((0, editBillViewReducer_1.fetchBillAndInitializeLocalStore)(billId, true, isShowDeletedBillsEnabled));
|
|
40
40
|
}
|
|
@@ -73,10 +73,10 @@ const fetchEditBillDetailPageEpic = (actions$, state$) => actions$.pipe((0, oper
|
|
|
73
73
|
depositAccounts.fetchState !== 'Completed') {
|
|
74
74
|
billDetailActions.push((0, depositAccountListReducer_1.fetchDepositAccountList)());
|
|
75
75
|
}
|
|
76
|
-
const
|
|
77
|
-
if (
|
|
78
|
-
|
|
79
|
-
billDetailActions.push((0,
|
|
76
|
+
const paymentAccounts = state.paymentAccountListState;
|
|
77
|
+
if (paymentAccounts.fetchState !== 'In-Progress' &&
|
|
78
|
+
paymentAccounts.fetchState !== 'Completed') {
|
|
79
|
+
billDetailActions.push((0, paymentAccountListReducer_1.fetchPaymentAccountList)());
|
|
80
80
|
}
|
|
81
81
|
if (billId != null) {
|
|
82
82
|
billDetailActions.push((0, editBillViewReducer_1.fetchBillAndInitializeLocalStore)(billId, false, isShowDeletedBillsEnabled));
|
package/lib/view/spendManagement/billPay/editBillView/epics/initializeBillToLocalStoreEpic.d.ts
CHANGED
|
@@ -3,13 +3,12 @@ import { Observable } from 'rxjs';
|
|
|
3
3
|
import { convertAmountToHomeCurrency, initializeBillToLocalStore, saveBillUpdatesToLocalStore, updateEditBillFetchStateCompleted } from '../editBillViewReducer';
|
|
4
4
|
import { RootState } from '../../../../../reducer';
|
|
5
5
|
import { fetchClassList } from '../../../../classList/classListReducer';
|
|
6
|
-
import { getPaymentAccounts } from '../../../plaidAccount/plaidAccountViewReducer';
|
|
7
6
|
import { LineItemRecommendationsLocalData } from '../editBillViewSelector';
|
|
8
7
|
import { RecommendationByLineId } from '../../../../../entity/transaction/stateTypes/transaction';
|
|
9
8
|
import { Vendor } from '../../../../../entity/vendor/vendorState';
|
|
10
9
|
import { AccountListSelectorView } from '../../../../accountList/accountListSelector';
|
|
11
10
|
import { ClassListSelectorView } from '../../../../classList/classListSelector';
|
|
12
11
|
import Line from '../../../../../entity/transaction/stateTypes/transactionLine';
|
|
13
|
-
export declare type ActionType = ReturnType<typeof initializeBillToLocalStore> | ReturnType<typeof saveBillUpdatesToLocalStore> | ReturnType<typeof fetchClassList> | ReturnType<typeof updateEditBillFetchStateCompleted> | ReturnType<typeof
|
|
12
|
+
export declare type ActionType = ReturnType<typeof initializeBillToLocalStore> | ReturnType<typeof saveBillUpdatesToLocalStore> | ReturnType<typeof fetchClassList> | ReturnType<typeof updateEditBillFetchStateCompleted> | ReturnType<typeof convertAmountToHomeCurrency>;
|
|
14
13
|
export declare const getLineRecommendationsLocalData: (lineId: string, line: Line, recommendations: RecommendationByLineId | undefined, accountList: AccountListSelectorView, classList: ClassListSelectorView, vendorDetails?: Vendor | undefined) => LineItemRecommendationsLocalData;
|
|
15
14
|
export declare const initializeBillToLocalStoreEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>) => Observable<ActionType>;
|
|
@@ -5,7 +5,7 @@ const getCompanyView_1 = require("../../../companyView/selectorHelpers/getCompan
|
|
|
5
5
|
const setupViewSelector_1 = require("../../commonSetup/setupViewSelector");
|
|
6
6
|
const helpers_1 = require("../../helpers");
|
|
7
7
|
function getChargeCardSetupViewDetails(state, companyId) {
|
|
8
|
-
const chargeCardSetupViewDetails = (0, setupViewSelector_1.getCommonSetupViewDetails)(state, companyId, 'charge_cards', '
|
|
8
|
+
const chargeCardSetupViewDetails = (0, setupViewSelector_1.getCommonSetupViewDetails)(state, companyId, 'charge_cards', 'charge_card_setup');
|
|
9
9
|
const companyView = (0, getCompanyView_1.getCompanyView)(state, companyId, []);
|
|
10
10
|
const companyChargeCardInfo = companyView === null || companyView === void 0 ? void 0 : companyView.company.company.companyChargeCardInfo;
|
|
11
11
|
const { chargeCardSetupViewState, setupViewState } = state;
|
package/lib/view/spendManagement/chargeCards/chargeCardSetUp/epic/fetchChargeCardSetupViewEpic.d.ts
CHANGED
|
@@ -13,5 +13,8 @@ import { ZeniAPI } from '../../../../../zeniAPI';
|
|
|
13
13
|
import { updateSetupViewLocalStoreData } from '../../../commonSetup/setupViewReducer';
|
|
14
14
|
import { fetchChargeCardSetupView, fetchChargeCardSetupViewFailure, fetchChargeCardSetupViewSuccess } from '../chargeCardSetUpViewReducer';
|
|
15
15
|
import { updatePlaidAccountViewAccountDetails } from '../../../plaidAccount/plaidAccountViewReducer';
|
|
16
|
-
|
|
16
|
+
import { updatePaymentAccountList } from '../../../zeniAccounts/paymentAccountList/paymentAccountListReducer';
|
|
17
|
+
import { updateDepositAccounts } from '../../../../../entity/depositAccount/depositAccountReducer';
|
|
18
|
+
import { updateDepositAccountList } from '../../../zeniAccounts/depositAccountList/depositAccountListReducer';
|
|
19
|
+
export declare type ActionType = ReturnType<typeof fetchChargeCardSetupView> | ReturnType<typeof updateAllUsers> | ReturnType<typeof updateUserRoles> | ReturnType<typeof updateCompanies> | ReturnType<typeof updateFiles> | ReturnType<typeof updateAccounts> | ReturnType<typeof updateAddresses> | ReturnType<typeof updatePaymentAccounts> | ReturnType<typeof updatePaymentAccountList> | ReturnType<typeof updateDepositAccounts> | ReturnType<typeof updateDepositAccountList> | ReturnType<typeof updatePlaidAccountViewAccountDetails> | ReturnType<typeof updateSetupViewLocalStoreData> | ReturnType<typeof openSnackbar> | ReturnType<typeof fetchChargeCardSetupViewSuccess> | ReturnType<typeof fetchChargeCardSetupViewFailure>;
|
|
17
20
|
export declare const fetchChargeCardSetupViewEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
package/lib/view/spendManagement/chargeCards/chargeCardSetUp/epic/fetchChargeCardSetupViewEpic.js
CHANGED
|
@@ -16,6 +16,9 @@ const responsePayload_1 = require("../../../../../responsePayload");
|
|
|
16
16
|
const setupViewReducer_1 = require("../../../commonSetup/setupViewReducer");
|
|
17
17
|
const chargeCardSetUpViewReducer_1 = require("../chargeCardSetUpViewReducer");
|
|
18
18
|
const plaidAccountViewReducer_1 = require("../../../plaidAccount/plaidAccountViewReducer");
|
|
19
|
+
const paymentAccountListReducer_1 = require("../../../zeniAccounts/paymentAccountList/paymentAccountListReducer");
|
|
20
|
+
const depositAccountReducer_1 = require("../../../../../entity/depositAccount/depositAccountReducer");
|
|
21
|
+
const depositAccountListReducer_1 = require("../../../zeniAccounts/depositAccountList/depositAccountListReducer");
|
|
19
22
|
const fetchChargeCardSetupViewEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(chargeCardSetUpViewReducer_1.fetchChargeCardSetupView.match), (0, operators_1.switchMap)((action) => {
|
|
20
23
|
var _a;
|
|
21
24
|
const { companyId, cacheOverride, refreshViewInBackground } = action.payload;
|
|
@@ -29,9 +32,9 @@ const fetchChargeCardSetupViewEpic = (actions$, state$, zeniAPI) => actions$.pip
|
|
|
29
32
|
return zeniAPI
|
|
30
33
|
.getJSON(`${zeniAPI.apiEndPoints.tenantMicroServiceBaseUrl}/1.0/companies/${companyId}?query={"view":"charge_cards_setup"}`)
|
|
31
34
|
.pipe((0, operators_1.mergeMap)((response) => {
|
|
35
|
+
var _a, _b, _c;
|
|
32
36
|
if ((0, responsePayload_1.isSuccessStatus)(response) && response.data != null) {
|
|
33
37
|
const allBankAccountIds = response.data.accounts.map((account) => account.account_id);
|
|
34
|
-
const paymentAccountIds = response.data.payment_accounts.map((paymentAccount) => paymentAccount.payment_account_id);
|
|
35
38
|
const actions = [
|
|
36
39
|
(0, userReducer_1.updateAllUsers)({ users: response.data.users }),
|
|
37
40
|
(0, userRoleReducer_1.updateUserRoles)(response.data.user_roles),
|
|
@@ -43,10 +46,19 @@ const fetchChargeCardSetupViewEpic = (actions$, state$, zeniAPI) => actions$.pip
|
|
|
43
46
|
(0, fileReducer_1.updateFiles)({ files: response.data.files }),
|
|
44
47
|
(0, accountReducer_1.updateAccounts)(response.data.accounts, 'charge_cards'),
|
|
45
48
|
(0, paymentAccountReducer_1.updatePaymentAccounts)(response.data.payment_accounts),
|
|
49
|
+
(0, paymentAccountListReducer_1.updatePaymentAccountList)({
|
|
50
|
+
data: response.data.payment_accounts,
|
|
51
|
+
updateType: 'replace',
|
|
52
|
+
}),
|
|
53
|
+
(0, depositAccountReducer_1.updateDepositAccounts)((_a = response.data.deposit_accounts) !== null && _a !== void 0 ? _a : []),
|
|
54
|
+
(0, depositAccountListReducer_1.updateDepositAccountList)({
|
|
55
|
+
data: (_c = (_b = response.data) === null || _b === void 0 ? void 0 : _b.deposit_accounts) !== null && _c !== void 0 ? _c : [],
|
|
56
|
+
updateType: 'replace',
|
|
57
|
+
}),
|
|
46
58
|
(0, setupViewReducer_1.updateSetupViewLocalStoreData)({
|
|
47
59
|
companyId: response.data.companies[0].company_id,
|
|
48
60
|
}),
|
|
49
|
-
(0, plaidAccountViewReducer_1.updatePlaidAccountViewAccountDetails)(allBankAccountIds,
|
|
61
|
+
(0, plaidAccountViewReducer_1.updatePlaidAccountViewAccountDetails)(allBankAccountIds, 'charge_card_setup'),
|
|
50
62
|
(0, chargeCardSetUpViewReducer_1.fetchChargeCardSetupViewSuccess)(),
|
|
51
63
|
];
|
|
52
64
|
return (0, rxjs_1.from)(actions);
|
|
@@ -62,10 +74,10 @@ const fetchChargeCardSetupViewEpic = (actions$, state$, zeniAPI) => actions$.pip
|
|
|
62
74
|
JSON.stringify(error))))));
|
|
63
75
|
}
|
|
64
76
|
else {
|
|
65
|
-
const { allBankAccountIds
|
|
77
|
+
const { allBankAccountIds } = plaidAccountViewState['spend_management_setup'].accountDetails;
|
|
66
78
|
return (0, rxjs_1.of)((0, setupViewReducer_1.updateSetupViewLocalStoreData)({
|
|
67
79
|
companyId,
|
|
68
|
-
}), (0, plaidAccountViewReducer_1.updatePlaidAccountViewAccountDetails)(allBankAccountIds,
|
|
80
|
+
}), (0, plaidAccountViewReducer_1.updatePlaidAccountViewAccountDetails)(allBankAccountIds, 'charge_card_setup'), (0, chargeCardSetUpViewReducer_1.fetchChargeCardSetupViewSuccess)());
|
|
69
81
|
}
|
|
70
82
|
}));
|
|
71
83
|
exports.fetchChargeCardSetupViewEpic = fetchChargeCardSetupViewEpic;
|
|
@@ -77,6 +77,10 @@ export interface BusinessVerificationDetails extends CompanyAndOfficerLocalData
|
|
|
77
77
|
updateStatus: FetchStateAndError;
|
|
78
78
|
}
|
|
79
79
|
export declare function getCommonSetupViewDetails(state: RootState, companyId: ID, setupViewType: SetupViewType, plaidAccountKeyType: PlaidAccountKeyType): SetupView;
|
|
80
|
+
export declare function getPrimaryAccountForTheProduct(state: RootState, companyId: ID, setupViewType: SetupViewType): {
|
|
81
|
+
accountId: ID;
|
|
82
|
+
accountType: AccountTypeSubConfigCodeKeyType;
|
|
83
|
+
} | undefined;
|
|
80
84
|
export declare function getBusinessVerificationDetails(state: RootState, companyId: ID): BusinessVerificationDetails;
|
|
81
85
|
export declare const getCompanyAndIdentityDetails: (state: RootState, companyId: ID, companyAndIdentityDetails: CompanyAndIdentityDetails) => CompanyAndOfficerLocalData;
|
|
82
86
|
export declare const getAllFundingAccounts: (depositAccounts: DepositAccount[], paymentAccounts: PaymentAccount[], includeOnlyVerifiedAccounts?: boolean) => FundingAccount[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mapPaymentAccToFundingAccount = exports.mapDepositAccToFundingAccount = exports.getAllFundingAccounts = exports.getCompanyAndIdentityDetails = exports.getBusinessVerificationDetails = exports.getCommonSetupViewDetails = void 0;
|
|
3
|
+
exports.mapPaymentAccToFundingAccount = exports.mapDepositAccToFundingAccount = exports.getAllFundingAccounts = exports.getCompanyAndIdentityDetails = exports.getBusinessVerificationDetails = exports.getPrimaryAccountForTheProduct = exports.getCommonSetupViewDetails = void 0;
|
|
4
4
|
const accountSelector_1 = require("../../../entity/account/accountSelector");
|
|
5
5
|
const fileSelector_1 = require("../../../entity/file/fileSelector");
|
|
6
6
|
const fileViewSelector_1 = require("../../fileView/fileViewSelector");
|
|
@@ -14,58 +14,74 @@ function getCommonSetupViewDetails(state, companyId, setupViewType, plaidAccount
|
|
|
14
14
|
const { accountState, setupViewState, paymentAccountState, paymentAccountListState, depositAccountState, depositAccountListState, plaidAccountViewState, } = state;
|
|
15
15
|
const { updateStatus } = setupViewState;
|
|
16
16
|
const { accountDetails, plaidConnectionDetails } = (0, plaidAccountViewSelector_1.getPlaidAccountDetails)(plaidAccountViewState, plaidAccountKeyType);
|
|
17
|
-
const { allBankAccountIds
|
|
17
|
+
const { allBankAccountIds } = accountDetails;
|
|
18
18
|
const { paymentAccountIds } = paymentAccountListState;
|
|
19
19
|
const { accountIds: depositAccountIds } = depositAccountListState;
|
|
20
20
|
const allBankAccounts = (_a = allBankAccountIds === null || allBankAccountIds === void 0 ? void 0 : allBankAccountIds.map((accountId) => (0, accountSelector_1.getAccountBase)(accountState, accountId, setupViewType)).filter((account) => account != null)) !== null && _a !== void 0 ? _a : [];
|
|
21
21
|
const paymentAccounts = (_b = (0, paymentAccountSelector_1.getPaymentAccountsByPaymentAccountIds)(paymentAccountState, paymentAccountIds).filter((account) => account != null)) !== null && _b !== void 0 ? _b : [];
|
|
22
22
|
const depositAccounts = (_c = (0, depositAccountSelector_1.getDepositAccountsByDepositAccountIds)(depositAccountState, depositAccountIds).filter((account) => account != null)) !== null && _c !== void 0 ? _c : [];
|
|
23
|
-
const allFundingAccounts = (0, exports.getAllFundingAccounts)(depositAccounts,
|
|
23
|
+
const allFundingAccounts = (0, exports.getAllFundingAccounts)(setupViewType === 'zeni_accounts' ? [] : depositAccounts, // only external acct can be made primary for accounts setup
|
|
24
|
+
paymentAccounts, false);
|
|
24
25
|
const companyView = (0, getCompanyView_1.getCompanyView)(state, companyId, []);
|
|
25
26
|
const companyBillPayInfo = companyView === null || companyView === void 0 ? void 0 : companyView.company.company.companyBillPayInfo;
|
|
26
|
-
|
|
27
|
-
let
|
|
28
|
-
if ((
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
// For reimbursement setup, use primaryFundingAccount as the payment account.
|
|
34
|
-
// For other setup pages, continue using first payment account
|
|
35
|
-
if (plaidAccountKeyType === 'reimbursement_setup') {
|
|
36
|
-
if ((primaryFundingAccount === null || primaryFundingAccount === void 0 ? void 0 : primaryFundingAccount.accountType) === 'depositAccount') {
|
|
37
|
-
const depositAccount = (0, depositAccountSelector_1.getDepositAccountByDepositAccountId)(depositAccountState, primaryFundingAccount.accountId);
|
|
38
|
-
if (depositAccount != null) {
|
|
39
|
-
primaryAccount = (0, exports.mapDepositAccToFundingAccount)(depositAccount);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
else if ((primaryFundingAccount === null || primaryFundingAccount === void 0 ? void 0 : primaryFundingAccount.accountType) === 'paymentAccount') {
|
|
43
|
-
const paymentAccount = (0, paymentAccountSelector_1.getPaymentAccountByPaymentAccountId)(paymentAccountState, primaryFundingAccount.accountId);
|
|
44
|
-
if (paymentAccount != null) {
|
|
45
|
-
primaryAccount = (0, exports.mapPaymentAccToFundingAccount)(paymentAccount);
|
|
46
|
-
}
|
|
27
|
+
const primaryAccount = getPrimaryAccountForTheProduct(state, companyId, setupViewType);
|
|
28
|
+
let primaryFundingAccount;
|
|
29
|
+
if ((primaryAccount === null || primaryAccount === void 0 ? void 0 : primaryAccount.accountType) === 'depositAccount') {
|
|
30
|
+
const depositAccount = (0, depositAccountSelector_1.getDepositAccountByDepositAccountId)(depositAccountState, primaryAccount.accountId);
|
|
31
|
+
if (depositAccount != null) {
|
|
32
|
+
primaryFundingAccount = (0, exports.mapDepositAccToFundingAccount)(depositAccount);
|
|
47
33
|
}
|
|
48
34
|
}
|
|
49
|
-
else if ((
|
|
50
|
-
const
|
|
51
|
-
const paymentAccount = (0, paymentAccountSelector_1.getPaymentAccountByPaymentAccountId)(paymentAccountState, paymentAccountId);
|
|
35
|
+
else if ((primaryAccount === null || primaryAccount === void 0 ? void 0 : primaryAccount.accountType) === 'paymentAccount') {
|
|
36
|
+
const paymentAccount = (0, paymentAccountSelector_1.getPaymentAccountByPaymentAccountId)(paymentAccountState, primaryAccount.accountId);
|
|
52
37
|
if (paymentAccount != null) {
|
|
53
|
-
|
|
38
|
+
primaryFundingAccount = (0, exports.mapPaymentAccToFundingAccount)(paymentAccount);
|
|
54
39
|
}
|
|
55
40
|
}
|
|
41
|
+
let paymentAccountForBilling;
|
|
42
|
+
if (((_d = accountDetails.paymentAccountIds) === null || _d === void 0 ? void 0 : _d.length) > 0) {
|
|
43
|
+
const paymentAccountId = accountDetails.paymentAccountIds[0];
|
|
44
|
+
paymentAccountForBilling = (0, paymentAccountSelector_1.getPaymentAccountByPaymentAccountId)(paymentAccountState, paymentAccountId);
|
|
45
|
+
}
|
|
56
46
|
return {
|
|
57
47
|
companyBillPayInfo,
|
|
58
|
-
|
|
59
|
-
|
|
48
|
+
primaryFundingAccount,
|
|
49
|
+
paymentAccount: paymentAccountForBilling,
|
|
60
50
|
allFundingAccounts,
|
|
61
51
|
allBankAccounts,
|
|
62
52
|
plaidConnectionDetails,
|
|
63
|
-
accountUpdateStatus: accountDetails.
|
|
53
|
+
accountUpdateStatus: accountDetails.cashAccountUpdateStatus,
|
|
64
54
|
accountFetchStatus: accountDetails.fetchStatus,
|
|
65
55
|
updateStatus,
|
|
66
56
|
};
|
|
67
57
|
}
|
|
68
58
|
exports.getCommonSetupViewDetails = getCommonSetupViewDetails;
|
|
59
|
+
function getPrimaryAccountForTheProduct(state, companyId, setupViewType) {
|
|
60
|
+
const companyView = (0, getCompanyView_1.getCompanyView)(state, companyId, []);
|
|
61
|
+
if (companyView == null) {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
let primaryFundingAccount;
|
|
65
|
+
if (setupViewType === 'bill_pay') {
|
|
66
|
+
primaryFundingAccount =
|
|
67
|
+
companyView.company.company.companyBillPayInfo.primaryFundingAccount;
|
|
68
|
+
}
|
|
69
|
+
else if (setupViewType === 'reimbursement') {
|
|
70
|
+
primaryFundingAccount =
|
|
71
|
+
companyView.company.company.companyReimbursementInfo
|
|
72
|
+
.primaryFundingAccount;
|
|
73
|
+
}
|
|
74
|
+
else if (setupViewType === 'charge_cards') {
|
|
75
|
+
primaryFundingAccount =
|
|
76
|
+
companyView.company.company.companyChargeCardInfo.primaryFundingAccount;
|
|
77
|
+
}
|
|
78
|
+
else if (setupViewType === 'zeni_accounts') {
|
|
79
|
+
primaryFundingAccount =
|
|
80
|
+
companyView.company.company.companyZeniAccountInfo.primaryFundingAccount;
|
|
81
|
+
}
|
|
82
|
+
return primaryFundingAccount;
|
|
83
|
+
}
|
|
84
|
+
exports.getPrimaryAccountForTheProduct = getPrimaryAccountForTheProduct;
|
|
69
85
|
function getBusinessVerificationDetails(state, companyId) {
|
|
70
86
|
const { setupViewState } = state;
|
|
71
87
|
const { companyDetails, companyOfficerUpdateStatus, primaryContactDetails, updateStatus, } = setupViewState;
|
package/lib/view/spendManagement/plaidAccount/epic/paymentAccounts/updateMappedCashAccountEpic.js
CHANGED
|
@@ -7,7 +7,7 @@ const responsePayload_1 = require("../../../../../responsePayload");
|
|
|
7
7
|
const plaidAccountViewReducer_1 = require("../../plaidAccountViewReducer");
|
|
8
8
|
const depositAccountReducer_1 = require("../../../../../entity/depositAccount/depositAccountReducer");
|
|
9
9
|
const updateMappedCashAccountEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(plaidAccountViewReducer_1.updateMappedCashAccount.match), (0, operators_1.mergeMap)((action) => {
|
|
10
|
-
const { accountId, depositAccountId } = action.payload;
|
|
10
|
+
const { plaidAccountKeyType, accountId, depositAccountId } = action.payload;
|
|
11
11
|
return zeniAPI
|
|
12
12
|
.putAndGetJSON(`${zeniAPI.apiEndPoints.payMicroServiceBaseUrl}/1.0/deposit-accounts/${depositAccountId}`, {
|
|
13
13
|
zeni_mapped_account_id: accountId,
|
|
@@ -15,17 +15,16 @@ const updateMappedCashAccountEpic = (actions$, _state$, zeniAPI) => actions$.pip
|
|
|
15
15
|
.pipe((0, operators_1.mergeMap)((response) => {
|
|
16
16
|
var _a, _b;
|
|
17
17
|
if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
|
|
18
|
-
const depositAccountIds = response.data.deposit_accounts.map((depositAccount) => depositAccount.deposit_account_id);
|
|
19
18
|
const actions = [
|
|
20
19
|
(0, depositAccountReducer_1.updateDepositAccounts)((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.deposit_accounts) !== null && _b !== void 0 ? _b : []),
|
|
21
|
-
(0, plaidAccountViewReducer_1.updateMappedCashAccountSuccess)(
|
|
20
|
+
(0, plaidAccountViewReducer_1.updateMappedCashAccountSuccess)(plaidAccountKeyType),
|
|
22
21
|
];
|
|
23
22
|
return (0, rxjs_1.from)(actions);
|
|
24
23
|
}
|
|
25
24
|
else {
|
|
26
|
-
return (0, rxjs_1.of)((0, plaidAccountViewReducer_1.updateMappedCashAccountFailure)(response.status));
|
|
25
|
+
return (0, rxjs_1.of)((0, plaidAccountViewReducer_1.updateMappedCashAccountFailure)(plaidAccountKeyType, response.status));
|
|
27
26
|
}
|
|
28
|
-
}), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, plaidAccountViewReducer_1.updateMappedCashAccountFailure)((0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Update Mapped Cash Account errored out' +
|
|
27
|
+
}), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, plaidAccountViewReducer_1.updateMappedCashAccountFailure)(plaidAccountKeyType, (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Update Mapped Cash Account errored out' +
|
|
29
28
|
JSON.stringify(error))))));
|
|
30
29
|
}));
|
|
31
30
|
exports.updateMappedCashAccountEpic = updateMappedCashAccountEpic;
|
package/lib/view/spendManagement/plaidAccount/epic/paymentAccounts/updatePaymentAccountEpic.js
CHANGED
|
@@ -15,11 +15,10 @@ const updatePaymentAccountEpic = (actions$, _state$, zeniAPI) => actions$.pipe((
|
|
|
15
15
|
})
|
|
16
16
|
.pipe((0, operators_1.mergeMap)((response) => {
|
|
17
17
|
if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
|
|
18
|
-
const paymentAccountIds = response.data.payment_accounts.map((paymentAccount) => paymentAccount.payment_account_id);
|
|
19
18
|
const actions = [
|
|
20
19
|
(0, accountReducer_1.updateAccounts)(response.data.accounts, setupViewType),
|
|
21
20
|
(0, paymentAccountReducer_1.updatePaymentAccounts)(response.data.payment_accounts),
|
|
22
|
-
(0, plaidAccountViewReducer_1.updatePaymentAccountSuccess)(
|
|
21
|
+
(0, plaidAccountViewReducer_1.updatePaymentAccountSuccess)(plaidAccountKeyType),
|
|
23
22
|
];
|
|
24
23
|
return (0, rxjs_1.from)(actions);
|
|
25
24
|
}
|
package/lib/view/spendManagement/plaidAccount/epic/paymentAccounts/updatePaymentAccountStatusEpic.js
CHANGED
|
@@ -16,11 +16,10 @@ const updatePaymentAccountStatusEpic = (actions$, _state$, zeniAPI) => actions$.
|
|
|
16
16
|
})
|
|
17
17
|
.pipe((0, operators_1.mergeMap)((response) => {
|
|
18
18
|
if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
|
|
19
|
-
const paymentAccountIds = response.data.payment_accounts.map((paymentAccount) => paymentAccount.payment_account_id);
|
|
20
19
|
const actions = [
|
|
21
20
|
(0, accountReducer_1.updateAccounts)(response.data.accounts, setupViewType),
|
|
22
21
|
(0, paymentAccountReducer_1.updatePaymentAccounts)(response.data.payment_accounts),
|
|
23
|
-
(0, plaidAccountViewReducer_1.updatePaymentAccountStatusSuccess)(
|
|
22
|
+
(0, plaidAccountViewReducer_1.updatePaymentAccountStatusSuccess)(linkTokenType, plaidAccountKeyType),
|
|
24
23
|
];
|
|
25
24
|
return (0, rxjs_1.from)(actions);
|
|
26
25
|
}
|
|
@@ -8,32 +8,54 @@ const plaidAccountViewReducer_1 = require("../../plaidAccountViewReducer");
|
|
|
8
8
|
const companyReducer_1 = require("../../../../../entity/company/companyReducer");
|
|
9
9
|
const helpers_1 = require("../../../helpers");
|
|
10
10
|
const billPayConfigState_1 = require("../../../billPay/billPayConfig/billPayConfigState");
|
|
11
|
-
const billPayConfigPayload_1 = require("../../../billPay/billPayConfig/billPayConfigPayload");
|
|
12
11
|
const updatePrimaryFundingAccountEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(plaidAccountViewReducer_1.updatePrimaryFundingAccount.match), (0, operators_1.mergeMap)((action) => {
|
|
13
|
-
const { companyId, accountId, accountType } = action.payload;
|
|
12
|
+
const { companyId, plaidAccountKeyType, accountId, accountType } = action.payload;
|
|
14
13
|
return zeniAPI
|
|
15
|
-
.putAndGetJSON(`${zeniAPI.apiEndPoints.tenantMicroServiceBaseUrl}/1.0/companies/${companyId}`,
|
|
16
|
-
reimbursement_primary_funding_account_id: accountId,
|
|
17
|
-
reimbursement_primary_funding_account_type: (0, helpers_1.accountTypeSubConfigCodeToAccType)(accountType),
|
|
18
|
-
})
|
|
14
|
+
.putAndGetJSON(`${zeniAPI.apiEndPoints.tenantMicroServiceBaseUrl}/1.0/companies/${companyId}`, toPayload(plaidAccountKeyType, accountId, accountType))
|
|
19
15
|
.pipe((0, operators_1.mergeMap)((response) => {
|
|
20
|
-
var _a
|
|
16
|
+
var _a;
|
|
21
17
|
if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
|
|
22
18
|
const actions = [
|
|
23
19
|
(0, companyReducer_1.updateCompanies)({
|
|
24
20
|
payload: (_a = response.data.companies) !== null && _a !== void 0 ? _a : [],
|
|
25
21
|
schema: {},
|
|
26
22
|
}),
|
|
27
|
-
(0, plaidAccountViewReducer_1.updatePrimaryFundingAccountSuccess)(
|
|
28
|
-
.primary_funding_account.account_id) !== null && _b !== void 0 ? _b : '', (0, billPayConfigPayload_1.getAccountTypeSubConfigCodeKey)((0, billPayConfigState_1.toAccType)((_c = response.data.companies[0].reimbursement_info
|
|
29
|
-
.primary_funding_account.account_type) !== null && _c !== void 0 ? _c : ''))),
|
|
23
|
+
(0, plaidAccountViewReducer_1.updatePrimaryFundingAccountSuccess)(plaidAccountKeyType),
|
|
30
24
|
];
|
|
31
25
|
return (0, rxjs_1.from)(actions);
|
|
32
26
|
}
|
|
33
27
|
else {
|
|
34
|
-
return (0, rxjs_1.of)((0, plaidAccountViewReducer_1.updatePrimaryFundingAccountFailure)(response.status));
|
|
28
|
+
return (0, rxjs_1.of)((0, plaidAccountViewReducer_1.updatePrimaryFundingAccountFailure)(plaidAccountKeyType, response.status));
|
|
35
29
|
}
|
|
36
|
-
}), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, plaidAccountViewReducer_1.updatePrimaryFundingAccountFailure)((0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Update Primary Funding Account errored out' +
|
|
30
|
+
}), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, plaidAccountViewReducer_1.updatePrimaryFundingAccountFailure)(plaidAccountKeyType, (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Update Primary Funding Account errored out' +
|
|
37
31
|
JSON.stringify(error))))));
|
|
38
32
|
}));
|
|
39
33
|
exports.updatePrimaryFundingAccountEpic = updatePrimaryFundingAccountEpic;
|
|
34
|
+
function toPayload(plaidAccountKeyType, accountId, accountType) {
|
|
35
|
+
switch (plaidAccountKeyType) {
|
|
36
|
+
case 'bill_pay_setup': {
|
|
37
|
+
return {
|
|
38
|
+
bill_pay_primary_funding_account_id: accountId,
|
|
39
|
+
bill_pay_primary_funding_account_type: (0, helpers_1.accountTypeSubConfigCodeToAccType)((0, billPayConfigState_1.toAccountTypeSubConfigCodeKeyType)(accountType)),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
case 'reimbursement_setup': {
|
|
43
|
+
return {
|
|
44
|
+
reimbursement_primary_funding_account_id: accountId,
|
|
45
|
+
reimbursement_primary_funding_account_type: (0, helpers_1.accountTypeSubConfigCodeToAccType)((0, billPayConfigState_1.toAccountTypeSubConfigCodeKeyType)(accountType)),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
case 'charge_card_setup': {
|
|
49
|
+
return {
|
|
50
|
+
charge_cards_primary_funding_account_id: accountId,
|
|
51
|
+
charge_cards_primary_funding_account_type: (0, helpers_1.accountTypeSubConfigCodeToAccType)((0, billPayConfigState_1.toAccountTypeSubConfigCodeKeyType)(accountType)),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
default: {
|
|
55
|
+
return {
|
|
56
|
+
deposit_accounts_primary_funding_account_id: accountId,
|
|
57
|
+
deposit_accounts_primary_funding_account_type: (0, helpers_1.accountTypeSubConfigCodeToAccType)((0, billPayConfigState_1.toAccountTypeSubConfigCodeKeyType)(accountType)),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
package/lib/view/spendManagement/plaidAccount/epic/plaidConnection/establishPlaidConnectionEpic.d.ts
CHANGED
|
@@ -9,5 +9,6 @@ import { establishPlaidConnection, establishPlaidConnectionSuccess, establishPla
|
|
|
9
9
|
import { updateBankAccounts } from '../../../../../entity/bankAccount/bankAccountReducer';
|
|
10
10
|
import { updateUserBankAccount } from '../../../../userFinancialAccount/userFinancialAccountReducer';
|
|
11
11
|
import { updatePaymentAccountList } from '../../../zeniAccounts/paymentAccountList/paymentAccountListReducer';
|
|
12
|
-
|
|
12
|
+
import { updateCompanyPrimaryAccount } from '../../../../../entity/company/companyReducer';
|
|
13
|
+
export declare type ActionType = ReturnType<typeof establishPlaidConnection> | ReturnType<typeof updateAccounts> | ReturnType<typeof updateBankAccounts> | ReturnType<typeof updateUserBankAccount> | ReturnType<typeof updatePaymentAccounts> | ReturnType<typeof openSnackbar> | ReturnType<typeof updatePaymentAccountList> | ReturnType<typeof establishPlaidConnectionSuccess> | ReturnType<typeof establishPlaidConnectionFailure> | ReturnType<typeof updateCompanyPrimaryAccount>;
|
|
13
14
|
export declare const establishPlaidConnectionEpic: (actions$: ActionsObservable<ActionType>, state: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
package/lib/view/spendManagement/plaidAccount/epic/plaidConnection/establishPlaidConnectionEpic.js
CHANGED
|
@@ -11,9 +11,10 @@ const plaidAccountViewReducer_1 = require("../../plaidAccountViewReducer");
|
|
|
11
11
|
const bankAccountReducer_1 = require("../../../../../entity/bankAccount/bankAccountReducer");
|
|
12
12
|
const userFinancialAccountReducer_1 = require("../../../../userFinancialAccount/userFinancialAccountReducer");
|
|
13
13
|
const paymentAccountListReducer_1 = require("../../../zeniAccounts/paymentAccountList/paymentAccountListReducer");
|
|
14
|
+
const companyReducer_1 = require("../../../../../entity/company/companyReducer");
|
|
14
15
|
const establishPlaidConnectionEpic = (actions$, state, zeniAPI) => actions$.pipe((0, operators_1.filter)(plaidAccountViewReducer_1.establishPlaidConnection.match), (0, operators_1.mergeMap)((action) => {
|
|
15
16
|
var _a, _b;
|
|
16
|
-
const { publicToken, setupViewType, linkTokenType, plaidAccountKeyType } = action.payload;
|
|
17
|
+
const { publicToken, companyId, setupViewType, linkTokenType, plaidAccountKeyType, } = action.payload;
|
|
17
18
|
const requestPayload = {
|
|
18
19
|
public_token: publicToken,
|
|
19
20
|
};
|
|
@@ -23,39 +24,74 @@ const establishPlaidConnectionEpic = (actions$, state, zeniAPI) => actions$.pipe
|
|
|
23
24
|
if (setupViewType == null) {
|
|
24
25
|
requestPayload.is_user_account = true;
|
|
25
26
|
}
|
|
27
|
+
else if (plaidAccountKeyType === 'bill_pay_setup') {
|
|
28
|
+
requestPayload.is_primary_for_bill_pay = true;
|
|
29
|
+
}
|
|
26
30
|
else if (plaidAccountKeyType === 'reimbursement_setup') {
|
|
27
31
|
requestPayload.is_primary_for_reimbursements = true;
|
|
28
32
|
}
|
|
33
|
+
else if (plaidAccountKeyType === 'charge_card_setup') {
|
|
34
|
+
requestPayload.is_primary_for_charge_cards = true;
|
|
35
|
+
}
|
|
36
|
+
else if (plaidAccountKeyType === 'account_setup') {
|
|
37
|
+
requestPayload.is_primary_for_deposit_accounts = true;
|
|
38
|
+
}
|
|
29
39
|
else if (plaidAccountKeyType === 'billing_setup') {
|
|
30
40
|
requestPayload.is_primary_for_onboarding = true;
|
|
31
41
|
}
|
|
32
|
-
else {
|
|
33
|
-
requestPayload.is_primary_for_bill_pay = true;
|
|
34
|
-
}
|
|
35
42
|
}
|
|
36
43
|
return zeniAPI
|
|
37
44
|
.postAndGetJSON(`${zeniAPI.apiEndPoints.payMicroServiceBaseUrl}/1.0/plaid/public-token`, requestPayload)
|
|
38
45
|
.pipe((0, operators_1.mergeMap)((response) => {
|
|
39
46
|
if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
|
|
40
|
-
const
|
|
41
|
-
// the payment account received in the response is the new primary funding account
|
|
42
|
-
const primaryFundingAccountId = paymentAccountIds[0];
|
|
43
|
-
const existingPaymentAccountIds = state.value.plaidAccountViewState['reimbursement_setup']
|
|
44
|
-
.accountDetails.paymentAccountIds;
|
|
47
|
+
const paymentAccount = response.data.payment_accounts[0];
|
|
45
48
|
const actions = [
|
|
46
49
|
(0, paymentAccountReducer_1.updatePaymentAccounts)(response.data.payment_accounts),
|
|
47
50
|
(0, paymentAccountListReducer_1.updatePaymentAccountList)({
|
|
48
51
|
data: response.data.payment_accounts,
|
|
49
52
|
updateType: 'merge',
|
|
50
53
|
}),
|
|
51
|
-
(0, plaidAccountViewReducer_1.establishPlaidConnectionSuccess)(
|
|
54
|
+
(0, plaidAccountViewReducer_1.establishPlaidConnectionSuccess)(linkTokenType, plaidAccountKeyType),
|
|
52
55
|
];
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
if (setupViewType != null) {
|
|
57
|
+
const primaryAccountForProducts = [];
|
|
58
|
+
// if the account added is primary for any product, it should be reflected on that setup page without refresh also
|
|
59
|
+
// this happens when the first external account is added - it becomes primary for rest of the products also
|
|
60
|
+
if (paymentAccount.is_primary_for_bill_pay === true) {
|
|
61
|
+
primaryAccountForProducts.push('bill_pay');
|
|
62
|
+
}
|
|
63
|
+
if (paymentAccount.is_primary_for_bill_pay === true) {
|
|
64
|
+
actions.push((0, companyReducer_1.updateCompanyPrimaryAccount)({
|
|
65
|
+
companyId: companyId,
|
|
66
|
+
primaryFundingAccountId: paymentAccount.payment_account_id,
|
|
67
|
+
accountType: 'paymentAccount',
|
|
68
|
+
productType: 'bill_pay',
|
|
69
|
+
}));
|
|
70
|
+
}
|
|
71
|
+
if (paymentAccount.is_primary_for_reimbursements === true) {
|
|
72
|
+
actions.push((0, companyReducer_1.updateCompanyPrimaryAccount)({
|
|
73
|
+
companyId: companyId,
|
|
74
|
+
primaryFundingAccountId: paymentAccount.payment_account_id,
|
|
75
|
+
accountType: 'paymentAccount',
|
|
76
|
+
productType: 'reimbursement',
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
if (paymentAccount.is_primary_for_charge_cards === true) {
|
|
80
|
+
actions.push((0, companyReducer_1.updateCompanyPrimaryAccount)({
|
|
81
|
+
companyId: companyId,
|
|
82
|
+
primaryFundingAccountId: paymentAccount.payment_account_id,
|
|
83
|
+
accountType: 'paymentAccount',
|
|
84
|
+
productType: 'charge_cards',
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
if (paymentAccount.is_primary_for_deposit_accounts === true) {
|
|
88
|
+
actions.push((0, companyReducer_1.updateCompanyPrimaryAccount)({
|
|
89
|
+
companyId: companyId,
|
|
90
|
+
primaryFundingAccountId: paymentAccount.payment_account_id,
|
|
91
|
+
accountType: 'paymentAccount',
|
|
92
|
+
productType: 'zeni_accounts',
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
59
95
|
}
|
|
60
96
|
if (response.data.bank_accounts != null) {
|
|
61
97
|
const bankAccountIds = response.data.bank_accounts.map((bank_account) => bank_account.bank_account_id);
|
|
@@ -6,7 +6,7 @@ const operators_1 = require("rxjs/operators");
|
|
|
6
6
|
const responsePayload_1 = require("../../../../../responsePayload");
|
|
7
7
|
const snackbarReducer_1 = require("../../../../../entity/snackbar/snackbarReducer");
|
|
8
8
|
const plaidAccountViewReducer_1 = require("../../plaidAccountViewReducer");
|
|
9
|
-
const getPlaidLinkTokenEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(plaidAccountViewReducer_1.getPlaidLinkToken.match), (0, operators_1.
|
|
9
|
+
const getPlaidLinkTokenEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(plaidAccountViewReducer_1.getPlaidLinkToken.match), (0, operators_1.mergeMap)((action) => {
|
|
10
10
|
const { linkTokenType, paymentAccountId, plaidAccountKeyType } = action.payload;
|
|
11
11
|
return zeniAPI
|
|
12
12
|
.getJSON(`${zeniAPI.apiEndPoints.payMicroServiceBaseUrl}/1.0/plaid/link-token?query=${JSON.stringify((0, exports.toLinkTokenPayload)(linkTokenType, paymentAccountId))}`)
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ID } from '../../../commonStateTypes/common';
|
|
2
1
|
import { ZeniAPIStatus } from '../../../responsePayload';
|
|
3
2
|
import { PlaidAccountKeyType, PlaidAccountViewState, PlaidLinkTokenType } from './plaidAccountViewState';
|
|
4
3
|
export declare const initialState: PlaidAccountViewState;
|
|
@@ -17,8 +16,7 @@ export declare const getPaymentAccounts: import("@reduxjs/toolkit").ActionCreato
|
|
|
17
16
|
paymentAccountId: string;
|
|
18
17
|
setupViewType: "bill_pay" | "reimbursement" | "zeni_accounts" | "charge_cards" | "billing";
|
|
19
18
|
plaidAccountKeyType: PlaidAccountKeyType;
|
|
20
|
-
}, string, never, never>, updatePaymentAccountSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[
|
|
21
|
-
paymentAccountIds: string[];
|
|
19
|
+
}, string, never, never>, updatePaymentAccountSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[plaidAccountKeyType: PlaidAccountKeyType], {
|
|
22
20
|
plaidAccountKeyType: PlaidAccountKeyType;
|
|
23
21
|
}, string, never, never>, updatePaymentAccountFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[error: ZeniAPIStatus<Record<string, unknown>>, plaidAccountKeyType: PlaidAccountKeyType], {
|
|
24
22
|
error: ZeniAPIStatus<Record<string, unknown>>;
|
|
@@ -29,8 +27,7 @@ export declare const getPaymentAccounts: import("@reduxjs/toolkit").ActionCreato
|
|
|
29
27
|
setupViewType: "bill_pay" | "reimbursement" | "zeni_accounts" | "charge_cards" | "billing";
|
|
30
28
|
plaidAccountKeyType: PlaidAccountKeyType;
|
|
31
29
|
linkTokenType: PlaidLinkTokenType;
|
|
32
|
-
}, string, never, never>, updatePaymentAccountStatusSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[
|
|
33
|
-
paymentAccountIds: string[];
|
|
30
|
+
}, string, never, never>, updatePaymentAccountStatusSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[linkTokenType: PlaidLinkTokenType, plaidAccountKeyType: PlaidAccountKeyType], {
|
|
34
31
|
linkTokenType: PlaidLinkTokenType;
|
|
35
32
|
plaidAccountKeyType: PlaidAccountKeyType;
|
|
36
33
|
}, string, never, never>, updatePaymentAccountStatusFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[error: ZeniAPIStatus<Record<string, unknown>>, linkTokenType: PlaidLinkTokenType, plaidAccountKeyType: PlaidAccountKeyType], {
|
|
@@ -64,44 +61,41 @@ export declare const getPaymentAccounts: import("@reduxjs/toolkit").ActionCreato
|
|
|
64
61
|
error: ZeniAPIStatus<Record<string, unknown>>;
|
|
65
62
|
linkTokenType: PlaidLinkTokenType;
|
|
66
63
|
plaidAccountKeyType: PlaidAccountKeyType;
|
|
67
|
-
}, string, never, never>, establishPlaidConnection: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[publicToken: string, plaidAccountKeyType: PlaidAccountKeyType, setupViewType?: "bill_pay" | "reimbursement" | "zeni_accounts" | "charge_cards" | "billing" | undefined, linkTokenType?: PlaidLinkTokenType | undefined], {
|
|
64
|
+
}, string, never, never>, establishPlaidConnection: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[publicToken: string, companyId: string, plaidAccountKeyType: PlaidAccountKeyType, setupViewType?: "bill_pay" | "reimbursement" | "zeni_accounts" | "charge_cards" | "billing" | undefined, linkTokenType?: PlaidLinkTokenType | undefined], {
|
|
68
65
|
publicToken: string;
|
|
66
|
+
companyId: string;
|
|
69
67
|
setupViewType: "bill_pay" | "reimbursement" | "zeni_accounts" | "charge_cards" | "billing" | undefined;
|
|
70
68
|
linkTokenType: PlaidLinkTokenType;
|
|
71
69
|
plaidAccountKeyType: PlaidAccountKeyType;
|
|
72
|
-
}, string, never, never>, establishPlaidConnectionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[
|
|
73
|
-
primaryFundingAccountId: string;
|
|
74
|
-
paymentAccountIds: string[];
|
|
70
|
+
}, string, never, never>, establishPlaidConnectionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[linkTokenType: PlaidLinkTokenType, plaidAccountKeyType: PlaidAccountKeyType], {
|
|
75
71
|
linkTokenType: PlaidLinkTokenType;
|
|
76
72
|
plaidAccountKeyType: PlaidAccountKeyType;
|
|
77
73
|
}, string, never, never>, establishPlaidConnectionFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[error: ZeniAPIStatus<Record<string, unknown>>, linkTokenType: PlaidLinkTokenType, plaidAccountKeyType: PlaidAccountKeyType], {
|
|
78
74
|
error: ZeniAPIStatus<Record<string, unknown>>;
|
|
79
75
|
linkTokenType: PlaidLinkTokenType;
|
|
80
76
|
plaidAccountKeyType: PlaidAccountKeyType;
|
|
81
|
-
}, string, never, never>, updatePlaidAccountViewAccountDetails: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[allBankAccountIds: string[],
|
|
82
|
-
accountId: ID;
|
|
83
|
-
accountType: string;
|
|
84
|
-
} | undefined], {
|
|
77
|
+
}, string, never, never>, updatePlaidAccountViewAccountDetails: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[allBankAccountIds: string[], plaidAccountKeyType: PlaidAccountKeyType], {
|
|
85
78
|
allBankAccountIds: string[];
|
|
86
|
-
paymentAccountIds: string[];
|
|
87
79
|
plaidAccountKeyType: PlaidAccountKeyType;
|
|
88
|
-
|
|
89
|
-
primaryFundingAccount: {
|
|
90
|
-
accountId: ID;
|
|
91
|
-
accountType: string;
|
|
92
|
-
} | undefined;
|
|
93
|
-
}, string, never, never>, updatePrimaryFundingAccount: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[companyId: string, accountId: string, accountType: string], {
|
|
80
|
+
}, string, never, never>, updatePrimaryFundingAccount: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[companyId: string, plaidAccountKeyType: PlaidAccountKeyType, accountId: string, accountType: string], {
|
|
94
81
|
companyId: string;
|
|
82
|
+
plaidAccountKeyType: PlaidAccountKeyType;
|
|
95
83
|
accountId: string;
|
|
96
84
|
accountType: string;
|
|
97
|
-
}, string, never, never>, updatePrimaryFundingAccountSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
85
|
+
}, string, never, never>, updatePrimaryFundingAccountSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[plaidAccountKeyType: PlaidAccountKeyType], {
|
|
86
|
+
plaidAccountKeyType: PlaidAccountKeyType;
|
|
87
|
+
}, string, never, never>, updatePrimaryFundingAccountFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[plaidAccountKeyType: PlaidAccountKeyType, error: ZeniAPIStatus<Record<string, unknown>>], {
|
|
88
|
+
error: ZeniAPIStatus<Record<string, unknown>>;
|
|
89
|
+
plaidAccountKeyType: PlaidAccountKeyType;
|
|
90
|
+
}, string, never, never>, updateMappedCashAccount: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[plaidAccountKeyType: PlaidAccountKeyType, accountId: string, depositAccountId: string], {
|
|
91
|
+
plaidAccountKeyType: PlaidAccountKeyType;
|
|
101
92
|
accountId: string;
|
|
102
93
|
depositAccountId: string;
|
|
103
|
-
}, string, never, never>, updateMappedCashAccountSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[
|
|
104
|
-
|
|
105
|
-
}, string, never, never>, updateMappedCashAccountFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[error: ZeniAPIStatus<Record<string, unknown>>],
|
|
94
|
+
}, string, never, never>, updateMappedCashAccountSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[plaidAccountKeyType: PlaidAccountKeyType], {
|
|
95
|
+
plaidAccountKeyType: PlaidAccountKeyType;
|
|
96
|
+
}, string, never, never>, updateMappedCashAccountFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[plaidAccountKeyType: PlaidAccountKeyType, error: ZeniAPIStatus<Record<string, unknown>>], {
|
|
97
|
+
plaidAccountKeyType: PlaidAccountKeyType;
|
|
98
|
+
error: ZeniAPIStatus<Record<string, unknown>>;
|
|
99
|
+
}, string, never, never>, clearPlaidAccountView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
106
100
|
declare const _default: import("@reduxjs/toolkit").Reducer<PlaidAccountViewState, import("@reduxjs/toolkit").AnyAction>;
|
|
107
101
|
export default _default;
|