@zeniai/client-epic-state 4.15.42 → 4.15.43
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/index.d.ts +2 -1
- package/lib/view/spendManagement/billPay/billPayConfig/billPayConfigPayload.d.ts +5 -1
- package/lib/view/spendManagement/billPay/editBillView/epics/saveBillDetailEpic.d.ts +2 -1
- package/lib/view/spendManagement/zeniAccounts/expressPay/epics/fetchExpressPayInitialDetailsEpic.d.ts +2 -2
- package/lib/view/spendManagement/zeniAccounts/expressPay/epics/fetchExpressPayInitialDetailsEpic.js +7 -7
- package/lib/view/spendManagement/zeniAccounts/expressPay/expressPaySelector.d.ts +2 -2
- package/lib/view/spendManagement/zeniAccounts/expressPay/expressPaySelector.js +5 -4
- package/lib/view/spendManagement/zeniAccounts/expressPay/expressPayState.d.ts +2 -2
- package/lib/view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigPayload.d.ts +14 -0
- package/lib/view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigPayload.js +78 -1
- package/lib/view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigReducer.js +3 -1
- package/lib/view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigSelector.d.ts +2 -1
- package/lib/view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigSelector.js +2 -1
- package/lib/view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigState.d.ts +9 -0
- package/package.json +2 -1
package/lib/index.d.ts
CHANGED
|
@@ -471,6 +471,7 @@ import { ZeniAccountBusinessVerificationDetails, ZeniAccountSetupView, getZeniAc
|
|
|
471
471
|
import { ZeniAccountSetupViewLocalData, ZeniAccountSetupViewState } from './view/spendManagement/zeniAccounts/zeniAccountSetUp/zeniAccountSetupViewState';
|
|
472
472
|
import { fetchZeniAccountsConfig } from './view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigReducer';
|
|
473
473
|
import { ZeniAccountsConfigSelectorView, getZeniAccountsConfigDetail } from './view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigSelector';
|
|
474
|
+
import { ZeniAccountPaymentMethod } from './view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigState';
|
|
474
475
|
import { clearSubscriptionLocalData, clearSubscriptionUpdateViewDataByTenantId, clearSubscriptionView, fetchSubscriptionAddOns, fetchSubscriptionCoupons, fetchSubscriptionCreateEstimate, fetchSubscriptionDetails, fetchSubscriptionList, fetchSubscriptionPlans, fetchSubscriptionUpdateEstimate, initializeSubscriptionLocalData, saveSubscriptionLocalData, saveSubscriptionNotesUpdates, saveSubscriptionUpdates, updateSubscriptionListUIState } from './view/subscriptionView/subscriptionViewReducer';
|
|
475
476
|
import { getSubscriptionEstimationData, getSubscriptionListView, getSubscriptionLocalStoreDataView, getSubscriptionsDetailView } from './view/subscriptionView/subscriptionViewSelector';
|
|
476
477
|
import { SubscriptionDetails, SubscriptionEstimationData, SubscriptionListView, SubscriptionLocalStoreDataView, SubscriptionsDetailView } from './view/subscriptionView/subscriptionViewSelectorTypes';
|
|
@@ -747,7 +748,7 @@ export { ReimbursementCardReport };
|
|
|
747
748
|
export { VendorListViewSortKey, VendorViewUIState, VendorListSelectorView, VendorListQuery, getVendorList, VendorListView, updateSortUiState, updatePageToken, updateYTDSelectionUIState, VendorListViewYTDSpendSortKey, isColumnYTDSpend, isVendorsTabVisible, VendorViewType, VendorReportIDType, toVendorReportIDType, VendorFiling1099ListSelectorView, getVendorFiling1099List, VendorFiling1099ListViewSortKey, VendorFiling1099ViewUIState, VendorFiling1099DownloadData, fetchVendorsFiling1099Download, Type1099Download, VendorFiling1099DownloadDataForType, };
|
|
748
749
|
export { fetchEntityRecommendationsByTransactionId, fetchRecommendationByEntityId, fetchRecommendationByEntityName, };
|
|
749
750
|
export { fetchOwnerList };
|
|
750
|
-
export { ZeniAccountsConfigSelectorView, getZeniAccountsConfigDetail, ZeniAccountListSelectorView, getZeniAccountList, fetchZeniAccountList, DepositAccount, createCheckingAccount, fetchPaymentAccountList, unlinkPaymentAccount, getDepositAccountDetail, DepositAccountDetailSelectorView, DepositAccountListSelectorView, getAllDepostAccounts, getDepositAccountDetailForPDF, DepositAccountDetailForPDF, fetchDepositAccount, fetchZeniAccountsConfig, AccountHistoryWithBalances, TransferDetailLocalData, ReviewTransferDetail, updateTransferMoneyLocalData, updateTransferToLocalData, updateDepositToLocalData, transferMoney, getTransferDetail, TransferDetailSelectorView, clearTransferDetail, clearReviewTransferDetail, fetchReviewTransferDetail, fetchDepositAccountDetail, DepositAccountTransaction, DepositTransactionStatusCode, DepositTransactionStatus, CheckDepositLocalData, depositCheck, updateCheckDepositLocalData, clearCheckDeposit, CheckDepositSelectorView, getCheckDepositDetail, updateDepositAccount, fetchDepositAccountHistorySuccess, fetchDepositAccountHistoryFailure, DepositAccountUpdateType, ZeniAccountSummaryWithBalance, fetchZeniAccStatementPage, getZeniAccStatements, ZeniAccStatementsSelectorView, };
|
|
751
|
+
export { ZeniAccountsConfigSelectorView, getZeniAccountsConfigDetail, ZeniAccountListSelectorView, getZeniAccountList, fetchZeniAccountList, DepositAccount, createCheckingAccount, fetchPaymentAccountList, unlinkPaymentAccount, getDepositAccountDetail, DepositAccountDetailSelectorView, DepositAccountListSelectorView, getAllDepostAccounts, getDepositAccountDetailForPDF, DepositAccountDetailForPDF, fetchDepositAccount, fetchZeniAccountsConfig, AccountHistoryWithBalances, TransferDetailLocalData, ReviewTransferDetail, updateTransferMoneyLocalData, updateTransferToLocalData, updateDepositToLocalData, transferMoney, getTransferDetail, TransferDetailSelectorView, clearTransferDetail, clearReviewTransferDetail, fetchReviewTransferDetail, fetchDepositAccountDetail, DepositAccountTransaction, DepositTransactionStatusCode, DepositTransactionStatus, CheckDepositLocalData, depositCheck, updateCheckDepositLocalData, clearCheckDeposit, CheckDepositSelectorView, getCheckDepositDetail, updateDepositAccount, fetchDepositAccountHistorySuccess, fetchDepositAccountHistoryFailure, DepositAccountUpdateType, ZeniAccountSummaryWithBalance, fetchZeniAccStatementPage, getZeniAccStatements, ZeniAccStatementsSelectorView, ZeniAccountPaymentMethod, };
|
|
751
752
|
export { HistoricEvent, HistoricEventUpdate, ActivityHistorySelectorView };
|
|
752
753
|
export { ActivityRealTimeApprovalSelectorView, Statement, fetchDepositAccountTransactionList, DepositAccountTransactionListSelectorView, getDepositAccountTransactionList, };
|
|
753
754
|
export { TransactionVendorLocalData, TransactionVendorState, TransactionVendorViewState, };
|
|
@@ -3,7 +3,7 @@ import { Currency } from '../../../../commonStateTypes/amount';
|
|
|
3
3
|
import { AccountBasePayload } from '../../../../entity/account/accountPayload';
|
|
4
4
|
import { ClassBasePayload } from '../../../../entity/class/classPayload';
|
|
5
5
|
import { ZeniAPIResponse } from '../../../../responsePayload';
|
|
6
|
-
import { AccType, AccountTypeSubConfigCodeKeyType, BillPayConfig, BillPaymentConfigCodeType, BillPaymentOutsideZeniSubConfigCodeType, BillPaymentSubConfigCodeKeyType, BillPaymentSubConfigCodeType, BillPaymentWireSubConfigCodeKeyType, BillPaymentWireSubConfigCodeType, InternationalSubConfigCodeKeyType, InternationalSubConfigCodeType, InternationalWireMethodCodeKeyType, InternationalWireMethodCodeType, PaymentAchSubConfigCodeKeyType, PaymentAchSubConfigCodeType, VendorCurrency } from './billPayConfigState';
|
|
6
|
+
import { AccType, AccountTypeSubConfigCodeKeyType, BillPayConfig, BillPaymentConfigCodeType, BillPaymentOutsideZeniSubConfigCodeType, BillPaymentSubConfigCodeKeyType, BillPaymentSubConfigCodeType, BillPaymentWireSubConfigCodeKeyType, BillPaymentWireSubConfigCodeType, ConfigPeriod, InternationalSubConfigCodeKeyType, InternationalSubConfigCodeType, InternationalWireMethodCodeKeyType, InternationalWireMethodCodeType, PaymentAchSubConfigCodeKeyType, PaymentAchSubConfigCodeType, VendorCurrency } from './billPayConfigState';
|
|
7
7
|
export interface BillPayConfigPayload {
|
|
8
8
|
bill_pay_bot_email: string;
|
|
9
9
|
is_us_domestic_wire_enabled: boolean;
|
|
@@ -106,6 +106,10 @@ export declare const getBillPaymentWireSubConfigCodeKey: (subCode: BillPaymentWi
|
|
|
106
106
|
export declare const getInternationalSubConfigCodeKey: (subCode: InternationalSubConfigCodeType) => InternationalSubConfigCodeKeyType;
|
|
107
107
|
export declare const getInternationalWireMethodCodeKey: (subCode: InternationalWireMethodCodeType) => InternationalWireMethodCodeKeyType;
|
|
108
108
|
export declare const getAccountTypeSubConfigCodeKey: (subCode: AccType) => AccountTypeSubConfigCodeKeyType;
|
|
109
|
+
export interface TimelineDetail {
|
|
110
|
+
minPeriod: ConfigPeriod;
|
|
111
|
+
maxPeriod: ConfigPeriod;
|
|
112
|
+
}
|
|
109
113
|
export declare const mapBillPayConfigPayloadToBillPayConfig: (paymentProcessor: BillPayConfigPaymentProcessorPayload, isEnabled: boolean, isVerified: boolean, code: BillPaymentConfigCodeType, subCode: BillPaymentSubConfigCodeType, accType?: AccType, internationalMethod?: InternationalWireMethodCodeType, internationalSubMethod?: InternationalSubConfigCodeType) => BillPayConfig;
|
|
110
114
|
export declare const mapBillPayVendorConfigPayloadToBillPayVendorConfig: (payload: BillPayConfigPayload, code: BillPaymentConfigCodeType, subCode: BillPaymentSubConfigCodeType) => Currency[];
|
|
111
115
|
export declare const toVendorCurrency: (payload: VendorCurrencyPayload) => VendorCurrency;
|
|
@@ -10,13 +10,14 @@ import { openSnackbar } from '../../../../../entity/snackbar/snackbarReducer';
|
|
|
10
10
|
import { TransactionWithAccountAndClassLinePayload } from '../../../../../entity/transaction/payloadTypes/transactionLinePayload';
|
|
11
11
|
import { RootState } from '../../../../../reducer';
|
|
12
12
|
import { ZeniAPI } from '../../../../../zeniAPI';
|
|
13
|
+
import { ZeniAccountPaymentMethod } from '../../../zeniAccounts/zeniAccountsConfig/zeniAccountsConfigState';
|
|
13
14
|
import { BillPayConfig, BillPaymentConfigCodeType, BillPaymentSubConfigCodeType } from '../../billPayConfig/billPayConfigState';
|
|
14
15
|
import { saveBillDetail, saveBillSuccessOrFailure } from '../editBillViewReducer';
|
|
15
16
|
import { EditBillDetail } from '../editBillViewState';
|
|
16
17
|
export type ActionType = ReturnType<typeof saveBillDetail> | ReturnType<typeof updateBillTransaction> | ReturnType<typeof openSnackbar> | ReturnType<typeof saveBillSuccessOrFailure> | ReturnType<typeof updateRecurringBillConfigs> | ReturnType<typeof updateRecurringBills>;
|
|
17
18
|
export declare const saveBillDetailEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => import("rxjs").Observable<ActionType>;
|
|
18
19
|
export declare function prepareSaveBillPayload(accountState: AccountState, billTransactionState: BillTransactionState, paymentAccountState: PaymentAccountState, recurringBillState: RecurringBillState, billDetail: EditBillDetail, billStageCode: BillStageCodeType, isForMarkAsPaid: boolean, isApproverMarkingAsPaid: boolean): Partial<SaveBillPayload>;
|
|
19
|
-
export declare const getBillPaymentMethodTypePayload: (paymentType?: BillPayConfig) => BillPaymentMethodTypePayload;
|
|
20
|
+
export declare const getBillPaymentMethodTypePayload: (paymentType?: BillPayConfig | ZeniAccountPaymentMethod) => BillPaymentMethodTypePayload;
|
|
20
21
|
interface BillPaymentMethodTypePayload {
|
|
21
22
|
code: BillPaymentConfigCodeType | null;
|
|
22
23
|
name: string;
|
|
@@ -2,8 +2,8 @@ import { ActionsObservable, StateObservable } from 'redux-observable';
|
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { RootState } from '../../../../../reducer';
|
|
4
4
|
import { fetchVendorTypeList } from '../../../../vendorTypeList/vendorTypeListReducer';
|
|
5
|
-
import { fetchBillPayConfig } from '../../../billPay/billPayConfig/billPayConfigReducer';
|
|
6
5
|
import { fetchDepositAccountList } from '../../depositAccountList/depositAccountListReducer';
|
|
6
|
+
import { fetchZeniAccountsConfig } from '../../zeniAccountsConfig/zeniAccountsConfigReducer';
|
|
7
7
|
import { fetchExpressPayInitialDetails, updateExpressPayFetchState } from '../expressPayReducer';
|
|
8
|
-
export type ActionType = ReturnType<typeof fetchExpressPayInitialDetails> | ReturnType<typeof
|
|
8
|
+
export type ActionType = ReturnType<typeof fetchExpressPayInitialDetails> | ReturnType<typeof fetchZeniAccountsConfig> | ReturnType<typeof fetchVendorTypeList> | ReturnType<typeof fetchDepositAccountList> | ReturnType<typeof updateExpressPayFetchState>;
|
|
9
9
|
export declare const fetchExpressPayInitialDetailsEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>) => Observable<ActionType>;
|
package/lib/view/spendManagement/zeniAccounts/expressPay/epics/fetchExpressPayInitialDetailsEpic.js
CHANGED
|
@@ -4,16 +4,16 @@ exports.fetchExpressPayInitialDetailsEpic = void 0;
|
|
|
4
4
|
const rxjs_1 = require("rxjs");
|
|
5
5
|
const operators_1 = require("rxjs/operators");
|
|
6
6
|
const vendorTypeListReducer_1 = require("../../../../vendorTypeList/vendorTypeListReducer");
|
|
7
|
-
const billPayConfigReducer_1 = require("../../../billPay/billPayConfig/billPayConfigReducer");
|
|
8
7
|
const depositAccountListReducer_1 = require("../../depositAccountList/depositAccountListReducer");
|
|
8
|
+
const zeniAccountsConfigReducer_1 = require("../../zeniAccountsConfig/zeniAccountsConfigReducer");
|
|
9
9
|
const expressPayReducer_1 = require("../expressPayReducer");
|
|
10
10
|
const fetchExpressPayInitialDetailsEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(expressPayReducer_1.fetchExpressPayInitialDetails.match), (0, operators_1.mergeMap)((action) => {
|
|
11
|
-
const { cacheOverride
|
|
11
|
+
const { cacheOverride } = action.payload;
|
|
12
12
|
const state = state$.value;
|
|
13
13
|
const fetchActions = [];
|
|
14
14
|
if (cacheOverride === true) {
|
|
15
15
|
fetchActions.push((0, vendorTypeListReducer_1.fetchVendorTypeList)());
|
|
16
|
-
fetchActions.push((0,
|
|
16
|
+
fetchActions.push((0, zeniAccountsConfigReducer_1.fetchZeniAccountsConfig)());
|
|
17
17
|
fetchActions.push((0, depositAccountListReducer_1.fetchDepositAccountList)());
|
|
18
18
|
fetchActions.push((0, expressPayReducer_1.updateExpressPayFetchState)());
|
|
19
19
|
}
|
|
@@ -22,10 +22,10 @@ const fetchExpressPayInitialDetailsEpic = (actions$, state$) => actions$.pipe((0
|
|
|
22
22
|
state.vendorTypeListState.fetchState !== 'In-Progress') {
|
|
23
23
|
fetchActions.push((0, vendorTypeListReducer_1.fetchVendorTypeList)());
|
|
24
24
|
}
|
|
25
|
-
const
|
|
26
|
-
if (
|
|
27
|
-
|
|
28
|
-
fetchActions.push((0,
|
|
25
|
+
const zeniAccountsConfig = state.zeniAccountsConfigState;
|
|
26
|
+
if (zeniAccountsConfig.hasValidState() === false &&
|
|
27
|
+
zeniAccountsConfig.fetchState !== 'In-Progress') {
|
|
28
|
+
fetchActions.push((0, zeniAccountsConfigReducer_1.fetchZeniAccountsConfig)());
|
|
29
29
|
}
|
|
30
30
|
const depositAccounts = state.depositAccountListState;
|
|
31
31
|
if (depositAccounts.fetchState !== 'In-Progress' &&
|
|
@@ -5,9 +5,9 @@ import { File } from '../../../../entity/file/fileState';
|
|
|
5
5
|
import { RootState } from '../../../../reducer';
|
|
6
6
|
import { VendorViewSelectorView } from '../../../commonVendorView/vendorView/vendorViewSelector';
|
|
7
7
|
import { VendorType } from '../../../vendorTypeList/vendorTypeListPayload';
|
|
8
|
-
import { BillPayConfig } from '../../billPay/billPayConfig/billPayConfigState';
|
|
9
8
|
import { PaymentDetailsSectionView, PaymentToOption } from '../../billPay/editBillView/editBillViewSelector';
|
|
10
9
|
import { FundingAccount } from '../../commonSetup/setupViewSelector';
|
|
10
|
+
import { ZeniAccountPaymentMethod } from '../zeniAccountsConfig/zeniAccountsConfigState';
|
|
11
11
|
import { ExpressPayFormLocalData } from './expressPayState';
|
|
12
12
|
export interface ExpressPayView extends SelectorView {
|
|
13
13
|
vendorViewDetails: VendorViewSelectorView;
|
|
@@ -15,7 +15,7 @@ export interface ExpressPayView extends SelectorView {
|
|
|
15
15
|
expressPayLocalData?: ExpressPayFormLocalData;
|
|
16
16
|
paymentDetails?: PaymentDetailsSectionView;
|
|
17
17
|
paymentToOptions: PaymentToOption[];
|
|
18
|
-
allPaymentMethods:
|
|
18
|
+
allPaymentMethods: ZeniAccountPaymentMethod[];
|
|
19
19
|
withdrawFromList: FundingAccount[];
|
|
20
20
|
receiptFile?: File;
|
|
21
21
|
internationalWireOnboardingStatus?: AllowedValueWithCode;
|
|
@@ -11,18 +11,19 @@ const fileViewSelector_1 = require("../../../fileView/fileViewSelector");
|
|
|
11
11
|
const editBillViewSelector_1 = require("../../billPay/editBillView/editBillViewSelector");
|
|
12
12
|
const setupViewSelector_1 = require("../../commonSetup/setupViewSelector");
|
|
13
13
|
const depositAccountListSelector_1 = require("../depositAccountList/depositAccountListSelector");
|
|
14
|
+
const zeniAccountsConfigSelector_1 = require("../zeniAccountsConfig/zeniAccountsConfigSelector");
|
|
14
15
|
const getExpressPayView = (state) => {
|
|
15
16
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
16
17
|
const deleteFileStatusById = {};
|
|
17
18
|
const updateFileStatusById = {};
|
|
18
|
-
const { tenantState, expressPayState, vendorTypeListState, bankAccountState, paymentInstrumentState,
|
|
19
|
+
const { tenantState, expressPayState, vendorTypeListState, bankAccountState, paymentInstrumentState, vendorViewState, depositAccountState, depositAccountListState, paymentAccountListState, zeniAccountsConfigState, } = state;
|
|
19
20
|
const { currentTenantId } = tenantState;
|
|
20
21
|
const companyId = currentTenantId != null
|
|
21
22
|
? (_b = (_a = tenantState.tenantsById) === null || _a === void 0 ? void 0 : _a[currentTenantId]) === null || _b === void 0 ? void 0 : _b.companyId
|
|
22
23
|
: undefined;
|
|
23
24
|
const companyView = (0, getCompanyView_1.getCompanyView)(state, companyId !== null && companyId !== void 0 ? companyId : '', []);
|
|
24
25
|
const vendorTypeList = vendorTypeListState.vendorTypes;
|
|
25
|
-
const allPaymentMethods = (0,
|
|
26
|
+
const allPaymentMethods = (0, zeniAccountsConfigSelector_1.getZeniAccountsConfigDetail)(state).zeniAccountsConfigDetail.paymentMethods;
|
|
26
27
|
const vendorId = (_c = expressPayState.formLocalData) === null || _c === void 0 ? void 0 : _c.vendorId;
|
|
27
28
|
const vendorViewDetails = (0, vendorViewSelector_1.getVendorView)(state, vendorId);
|
|
28
29
|
const vendorLocalData = vendorId != null
|
|
@@ -53,8 +54,8 @@ const getExpressPayView = (state) => {
|
|
|
53
54
|
error: vendorTypeListState.error,
|
|
54
55
|
},
|
|
55
56
|
{
|
|
56
|
-
fetchState:
|
|
57
|
-
error:
|
|
57
|
+
fetchState: zeniAccountsConfigState.fetchState,
|
|
58
|
+
error: zeniAccountsConfigState.error,
|
|
58
59
|
},
|
|
59
60
|
{
|
|
60
61
|
fetchState: depositAccountListState.fetchState,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Amount } from '../../../../commonStateTypes/amount';
|
|
2
2
|
import { FetchStateAndError, ID } from '../../../../commonStateTypes/common';
|
|
3
3
|
import { ZeniDate } from '../../../../zeniDayJS';
|
|
4
|
-
import { BillPayConfig } from '../../billPay/billPayConfig/billPayConfigState';
|
|
5
4
|
import { FundingAccount } from '../../commonSetup/setupViewSelector';
|
|
5
|
+
import { ZeniAccountPaymentMethod } from '../zeniAccountsConfig/zeniAccountsConfigState';
|
|
6
6
|
export interface ExpressPayState extends FetchStateAndError {
|
|
7
7
|
expressPayId?: ID;
|
|
8
8
|
formLocalData?: ExpressPayFormLocalData;
|
|
@@ -12,7 +12,7 @@ export interface ExpressPayFormLocalData {
|
|
|
12
12
|
vendorId?: ID;
|
|
13
13
|
withdrawFrom?: FundingAccount;
|
|
14
14
|
paymentToAccountId?: ID;
|
|
15
|
-
paymentType?:
|
|
15
|
+
paymentType?: ZeniAccountPaymentMethod;
|
|
16
16
|
amount: Amount;
|
|
17
17
|
paymentDate: ZeniDate;
|
|
18
18
|
receiptFileId?: ID;
|
package/lib/view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigPayload.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { AddressPayload } from '../../../../entity/address/addressPayload';
|
|
2
2
|
import { ZeniAPIResponse } from '../../../../responsePayload';
|
|
3
|
+
import { ConfigTimelinePayload, TimelineDetail } from '../../billPay/billPayConfig/billPayConfigPayload';
|
|
4
|
+
import { BillPaymentConfigCodeType, PaymentAchSubConfigCodeType } from '../../billPay/billPayConfig/billPayConfigState';
|
|
3
5
|
import { ZeniAccountsConfig } from './zeniAccountsConfigState';
|
|
4
6
|
export interface ZeniAccountsConfigPayload {
|
|
5
7
|
apy: string | null;
|
|
@@ -7,7 +9,18 @@ export interface ZeniAccountsConfigPayload {
|
|
|
7
9
|
deposit_product_config: DepositProductConfigPayload;
|
|
8
10
|
mailing_address: AddressPayload;
|
|
9
11
|
bank_address: AddressPayload;
|
|
12
|
+
payment_processor: PaymentProcessorPayload;
|
|
13
|
+
is_us_domestic_wire_enabled: boolean;
|
|
14
|
+
is_same_day_ach_enabled: boolean;
|
|
10
15
|
}
|
|
16
|
+
export interface PaymentProcessorPayload {
|
|
17
|
+
payment_timeline: PaymentTimeline;
|
|
18
|
+
}
|
|
19
|
+
interface PaymentTimeline {
|
|
20
|
+
ach: Record<PaymentAchSubConfigCodeType, ConfigTimelineForAccTypePayload>;
|
|
21
|
+
wire: Record<'us-domestic', ConfigTimelineForAccTypePayload>;
|
|
22
|
+
}
|
|
23
|
+
export type ConfigTimelineForAccTypePayload = Record<'deposit_account', ConfigTimelinePayload>;
|
|
11
24
|
export declare const mapZeniAccountsConfigPayloadToZeniAccountsConfigState: (payload: ZeniAccountsConfigPayload) => ZeniAccountsConfig;
|
|
12
25
|
interface DepositProductConfigPayload {
|
|
13
26
|
deposit_products: DepositProductsPayload[];
|
|
@@ -17,4 +30,5 @@ interface DepositProductsPayload {
|
|
|
17
30
|
range: (number | null)[];
|
|
18
31
|
}
|
|
19
32
|
export type FetchZeniAccountsConfigResponse = ZeniAPIResponse<ZeniAccountsConfigPayload>;
|
|
33
|
+
export declare const getTimelineDetail: (paymentTimeline: PaymentTimeline, code: BillPaymentConfigCodeType, subCode: "standard" | "same-day" | "us-domestic") => TimelineDetail;
|
|
20
34
|
export {};
|
package/lib/view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigPayload.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mapZeniAccountsConfigPayloadToZeniAccountsConfigState = void 0;
|
|
3
|
+
exports.getTimelineDetail = exports.mapZeniAccountsConfigPayloadToZeniAccountsConfigState = void 0;
|
|
4
|
+
const billPayConfigPayload_1 = require("../../billPay/billPayConfig/billPayConfigPayload");
|
|
5
|
+
const billPayConfigState_1 = require("../../billPay/billPayConfig/billPayConfigState");
|
|
4
6
|
const mapZeniAccountsConfigPayloadToZeniAccountsConfigState = (payload) => ({
|
|
5
7
|
annualPercentageYield: payload.apy != null ? payload.apy : '',
|
|
6
8
|
bankName: payload.bank_name,
|
|
7
9
|
mailingAddressId: payload.mailing_address.address_id,
|
|
8
10
|
bankAddressId: payload.bank_address.address_id,
|
|
9
11
|
depositProductConfig: mapDepositProductConfigPayloadToDepositProductConfig(payload.deposit_product_config),
|
|
12
|
+
paymentMethods: mapZeniAccountConfigPayloadToPaymentMethods(payload.payment_processor, payload.is_same_day_ach_enabled, payload.is_us_domestic_wire_enabled),
|
|
10
13
|
});
|
|
11
14
|
exports.mapZeniAccountsConfigPayloadToZeniAccountsConfigState = mapZeniAccountsConfigPayloadToZeniAccountsConfigState;
|
|
12
15
|
const mapDepositProductConfigPayloadToDepositProductConfig = (payload) => {
|
|
@@ -20,3 +23,77 @@ const mapDepositProductConfigPayloadToDepositProductConfig = (payload) => {
|
|
|
20
23
|
depositProducts: array,
|
|
21
24
|
};
|
|
22
25
|
};
|
|
26
|
+
const mapZeniAccountConfigPayloadToPaymentMethods = (paymentProcessor, isSameDayAchEnabled, isDomesticWireEnabled) => {
|
|
27
|
+
const paymentMethods = [];
|
|
28
|
+
billPayConfigState_1.BILL_PAYMENT_METHOD_CODE.forEach((code) => {
|
|
29
|
+
switch (code) {
|
|
30
|
+
case 'ach': {
|
|
31
|
+
billPayConfigState_1.PAYMENT_ACH_SUB_CODES.forEach((subCode) => {
|
|
32
|
+
billPayConfigState_1.ACCOUNT_TYPE_CODES.forEach((accType) => {
|
|
33
|
+
paymentMethods.push(mapBillPayConfigPayloadToBillPayConfig(paymentProcessor, subCode === 'standard' ? true : isSameDayAchEnabled, true, code, subCode, accType));
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
case 'wire': {
|
|
39
|
+
billPayConfigState_1.BILL_PAYMENT_WIRE_SUB_CODES.forEach((subCode) => {
|
|
40
|
+
if (subCode === 'us-domestic') {
|
|
41
|
+
billPayConfigState_1.ACCOUNT_TYPE_CODES.forEach((accType) => {
|
|
42
|
+
paymentMethods.push(mapBillPayConfigPayloadToBillPayConfig(paymentProcessor, isDomesticWireEnabled, true, code, subCode, accType));
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
return paymentMethods;
|
|
51
|
+
};
|
|
52
|
+
const mapBillPayConfigPayloadToBillPayConfig = (paymentProcessor, isEnabled, isVerified, code, subCode, accType) => {
|
|
53
|
+
const { payment_timeline } = paymentProcessor;
|
|
54
|
+
const { minPeriod, maxPeriod } = (0, exports.getTimelineDetail)(payment_timeline, code, subCode);
|
|
55
|
+
return {
|
|
56
|
+
minPeriod: minPeriod,
|
|
57
|
+
maxPeriod: maxPeriod,
|
|
58
|
+
method: (0, billPayConfigState_1.getBillPayConfigMethodKey)(code, (0, billPayConfigState_1.toBillPaymentSubConfigCodeKeyType)((0, billPayConfigPayload_1.getBillPaymentSubConfigCodeKey)(subCode)), accType != null ? (0, billPayConfigPayload_1.getAccountTypeSubConfigCodeKey)(accType) : undefined),
|
|
59
|
+
isEnabled,
|
|
60
|
+
isVerified,
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
const getTimelineDetail = (paymentTimeline, code, subCode) => {
|
|
64
|
+
const accType = 'deposit_account';
|
|
65
|
+
let minPeriod = {
|
|
66
|
+
value: 0,
|
|
67
|
+
units: 'days',
|
|
68
|
+
};
|
|
69
|
+
let maxPeriod = {
|
|
70
|
+
value: 0,
|
|
71
|
+
units: 'days',
|
|
72
|
+
};
|
|
73
|
+
if (code === 'ach') {
|
|
74
|
+
minPeriod = {
|
|
75
|
+
value: paymentTimeline[code][(0, billPayConfigState_1.toPaymentAchSubMethodCodeType)(subCode)][accType]
|
|
76
|
+
.min.value,
|
|
77
|
+
units: paymentTimeline[code][(0, billPayConfigState_1.toPaymentAchSubMethodCodeType)(subCode)][accType]
|
|
78
|
+
.min.units,
|
|
79
|
+
};
|
|
80
|
+
maxPeriod = {
|
|
81
|
+
value: paymentTimeline[code][(0, billPayConfigState_1.toPaymentAchSubMethodCodeType)(subCode)][accType]
|
|
82
|
+
.max.value,
|
|
83
|
+
units: paymentTimeline[code][(0, billPayConfigState_1.toPaymentAchSubMethodCodeType)(subCode)][accType]
|
|
84
|
+
.max.units,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
else if (code === 'wire') {
|
|
88
|
+
minPeriod = {
|
|
89
|
+
value: paymentTimeline[code]['us-domestic'][accType].min.value,
|
|
90
|
+
units: paymentTimeline[code]['us-domestic'][accType].min.units,
|
|
91
|
+
};
|
|
92
|
+
maxPeriod = {
|
|
93
|
+
value: paymentTimeline[code]['us-domestic'][accType].max.value,
|
|
94
|
+
units: paymentTimeline[code]['us-domestic'][accType].max.units,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
return { minPeriod, maxPeriod };
|
|
98
|
+
};
|
|
99
|
+
exports.getTimelineDetail = getTimelineDetail;
|
package/lib/view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigReducer.js
CHANGED
|
@@ -13,6 +13,7 @@ exports.initialState = {
|
|
|
13
13
|
depositProductConfig: {
|
|
14
14
|
depositProducts: [{ annualPercentageYield: 0, range: [] }],
|
|
15
15
|
},
|
|
16
|
+
paymentMethods: [],
|
|
16
17
|
},
|
|
17
18
|
hasValidState() {
|
|
18
19
|
return this.fetchState == 'Completed';
|
|
@@ -29,13 +30,14 @@ const zeniAccountsConfig = (0, toolkit_1.createSlice)({
|
|
|
29
30
|
draft.error = undefined;
|
|
30
31
|
},
|
|
31
32
|
updateZeniAccountsConfigSuccess(draft, action) {
|
|
32
|
-
const { bankName, mailingAddressId, bankAddressId, depositProductConfig, annualPercentageYield, } = (0, zeniAccountsConfigPayload_1.mapZeniAccountsConfigPayloadToZeniAccountsConfigState)(action.payload);
|
|
33
|
+
const { bankName, mailingAddressId, bankAddressId, depositProductConfig, annualPercentageYield, paymentMethods, } = (0, zeniAccountsConfigPayload_1.mapZeniAccountsConfigPayloadToZeniAccountsConfigState)(action.payload);
|
|
33
34
|
draft.zeniAccountsConfig = {
|
|
34
35
|
annualPercentageYield,
|
|
35
36
|
bankName,
|
|
36
37
|
mailingAddressId,
|
|
37
38
|
bankAddressId,
|
|
38
39
|
depositProductConfig,
|
|
40
|
+
paymentMethods,
|
|
39
41
|
};
|
|
40
42
|
draft.fetchState = 'Completed';
|
|
41
43
|
draft.error = undefined;
|
package/lib/view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigSelector.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SelectorView } from '../../../../commonStateTypes/viewAndReport/viewAndReport';
|
|
2
2
|
import { Address } from '../../../../entity/address/addressState';
|
|
3
3
|
import { RootState } from '../../../../reducer';
|
|
4
|
-
import { DepositProductConfig } from './zeniAccountsConfigState';
|
|
4
|
+
import { DepositProductConfig, ZeniAccountPaymentMethod } from './zeniAccountsConfigState';
|
|
5
5
|
export interface ZeniAccountsConfigSelectorView extends SelectorView {
|
|
6
6
|
zeniAccountsConfigDetail: {
|
|
7
7
|
annualPercentageYield: string;
|
|
@@ -9,6 +9,7 @@ export interface ZeniAccountsConfigSelectorView extends SelectorView {
|
|
|
9
9
|
depositProductConfig: DepositProductConfig;
|
|
10
10
|
mailingAddress?: Address;
|
|
11
11
|
bankAddress?: Address;
|
|
12
|
+
paymentMethods: ZeniAccountPaymentMethod[];
|
|
12
13
|
};
|
|
13
14
|
}
|
|
14
15
|
export declare const getZeniAccountsConfigDetail: (state: RootState) => ZeniAccountsConfigSelectorView;
|
package/lib/view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigSelector.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.getZeniAccountsConfigDetail = void 0;
|
|
|
4
4
|
const addressSelector_1 = require("../../../../entity/address/addressSelector");
|
|
5
5
|
const getZeniAccountsConfigDetail = (state) => {
|
|
6
6
|
const { zeniAccountsConfigState, addressState } = state;
|
|
7
|
-
const { bankName, depositProductConfig, bankAddressId, mailingAddressId, annualPercentageYield, } = zeniAccountsConfigState.zeniAccountsConfig;
|
|
7
|
+
const { bankName, depositProductConfig, bankAddressId, mailingAddressId, annualPercentageYield, paymentMethods, } = zeniAccountsConfigState.zeniAccountsConfig;
|
|
8
8
|
const mailingAddress = (0, addressSelector_1.getAddressByAddressId)(addressState, mailingAddressId);
|
|
9
9
|
const bankAddress = (0, addressSelector_1.getAddressByAddressId)(addressState, bankAddressId);
|
|
10
10
|
return {
|
|
@@ -14,6 +14,7 @@ const getZeniAccountsConfigDetail = (state) => {
|
|
|
14
14
|
depositProductConfig: depositProductConfig,
|
|
15
15
|
mailingAddress,
|
|
16
16
|
bankAddress,
|
|
17
|
+
paymentMethods,
|
|
17
18
|
},
|
|
18
19
|
fetchState: zeniAccountsConfigState.fetchState,
|
|
19
20
|
error: zeniAccountsConfigState.error,
|
package/lib/view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigState.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { FetchedState, ID } from '../../../../commonStateTypes/common';
|
|
2
|
+
import { ConfigPeriod } from '../../billPay/billPayConfig/billPayConfigState';
|
|
2
3
|
export interface ZeniAccountsConfigState extends FetchedState {
|
|
3
4
|
zeniAccountsConfig: ZeniAccountsConfig;
|
|
4
5
|
}
|
|
@@ -8,6 +9,14 @@ export interface ZeniAccountsConfig {
|
|
|
8
9
|
mailingAddressId: ID;
|
|
9
10
|
bankAddressId: ID;
|
|
10
11
|
depositProductConfig: DepositProductConfig;
|
|
12
|
+
paymentMethods: ZeniAccountPaymentMethod[];
|
|
13
|
+
}
|
|
14
|
+
export interface ZeniAccountPaymentMethod {
|
|
15
|
+
minPeriod: ConfigPeriod;
|
|
16
|
+
maxPeriod: ConfigPeriod;
|
|
17
|
+
method: string;
|
|
18
|
+
isEnabled: boolean;
|
|
19
|
+
isVerified: boolean;
|
|
11
20
|
}
|
|
12
21
|
export interface DepositProductConfig {
|
|
13
22
|
depositProducts: DepositProduct[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "4.15.
|
|
3
|
+
"version": "4.15.43",
|
|
4
4
|
"description": "Shared module between Web & Mobile containing required abstractions for state management, async network communication. ",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -85,6 +85,7 @@
|
|
|
85
85
|
"lint": "eslint . --ext .js,.jsx,.ts,.tsx --fix",
|
|
86
86
|
"find-dead-code": "ts-prune | grep -v '(used in module)'",
|
|
87
87
|
"find-unused-exports": "ts-unused-exports ./tsconfig.json",
|
|
88
|
+
"circular-dependency": "npx madge --circular --extensions ts ./src",
|
|
88
89
|
"build": "concurrently --kill-others-on-fail \"eslint . --ext .js,.jsx,.ts,.tsx\" \"tsc\" \"jest --config jest.config.json\" && rimraf \"lib/**/__mocks__\" \"lib/**/__testHelpers__\"",
|
|
89
90
|
"only-build": "concurrently --kill-others-on-fail \"eslint . --ext .js,.jsx,.ts,.tsx\" \"tsc\" && rimraf \"lib/**/__mocks__\" \"lib/**/__testHelpers__\"",
|
|
90
91
|
"format": "prettier --write --ignore-unknown \"src/**/*\"",
|