@zeniai/client-epic-state 4.15.34 → 4.15.35

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.
Files changed (188) hide show
  1. package/lib/commonStateTypes/timePeriod.d.ts +1 -1
  2. package/lib/commonStateTypes/timePeriod.js +2 -2
  3. package/lib/commonStateTypes/viewAndReport/agingReportStateTypes.js +1 -1
  4. package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
  5. package/lib/commonStateTypes/viewAndReport/viewAndReport.js +1 -0
  6. package/lib/configureStore.js +2 -1
  7. package/lib/entity/account/accountState.d.ts +1 -1
  8. package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
  9. package/lib/entity/accountRecon/accountReconPayload.d.ts +70 -0
  10. package/lib/entity/accountRecon/accountReconPayload.js +125 -0
  11. package/lib/entity/accountRecon/accountReconReducer.d.ts +16 -0
  12. package/lib/entity/accountRecon/accountReconReducer.js +71 -0
  13. package/lib/entity/accountRecon/accountReconSelector.d.ts +28 -0
  14. package/lib/entity/accountRecon/accountReconSelector.js +44 -0
  15. package/lib/entity/accountRecon/accountReconState.d.ts +70 -0
  16. package/lib/entity/accountRecon/accountReconState.js +28 -0
  17. package/lib/entity/class/classReducer.d.ts +4 -4
  18. package/lib/entity/class/classState.d.ts +1 -1
  19. package/lib/entity/company/companyReducer.js +0 -1
  20. package/lib/entity/customer/customerPayload.d.ts +1 -1
  21. package/lib/entity/customer/customerPayload.js +16 -6
  22. package/lib/entity/forecast/forecastState.d.ts +1 -1
  23. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  24. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  25. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  26. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  27. package/lib/entity/snackbar/snackbarTypes.js +4 -0
  28. package/lib/entity/task/taskState.d.ts +1 -1
  29. package/lib/entity/tenant/clearAllEpic.d.ts +4 -2
  30. package/lib/entity/tenant/clearAllEpic.js +4 -0
  31. package/lib/entity/tenant/tenantReducer.js +0 -1
  32. package/lib/entity/transaction/payloadTypes/customerTransactionPayload.d.ts +1 -1
  33. package/lib/entity/transaction/payloadTypes/customerTransactionPayload.js +1 -2
  34. package/lib/entity/transaction/payloadTypes/reconciliationTransactionPayloads.d.ts +35 -0
  35. package/lib/entity/transaction/payloadTypes/reconciliationTransactionPayloads.js +53 -0
  36. package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +2 -0
  37. package/lib/entity/transaction/payloadTypes/transactionPayload.js +7 -3
  38. package/lib/entity/transaction/payloadTypes/vendorTransactionPayload.d.ts +9 -1
  39. package/lib/entity/transaction/payloadTypes/vendorTransactionPayload.js +23 -2
  40. package/lib/entity/transaction/stateTypes/reconciliationTransaction.d.ts +32 -0
  41. package/lib/entity/transaction/stateTypes/reconciliationTransaction.js +10 -0
  42. package/lib/entity/transaction/stateTypes/transaction.d.ts +3 -1
  43. package/lib/entity/transaction/stateTypes/transactionType.d.ts +1 -1
  44. package/lib/entity/transaction/stateTypes/transactionType.js +1 -1
  45. package/lib/entity/transaction/stateTypes/vendorTransaction.d.ts +5 -0
  46. package/lib/entity/transaction/stateTypes/vendorTransaction.js +5 -1
  47. package/lib/entity/transaction/toSupportedTransaction.js +6 -1
  48. package/lib/entity/transaction/transactionReducer.d.ts +17 -0
  49. package/lib/entity/transaction/transactionReducer.js +47 -2
  50. package/lib/entity/transaction/transactionSelector.d.ts +2 -0
  51. package/lib/entity/transaction/transactionSelector.js +5 -0
  52. package/lib/entity/transaction/transactionState.d.ts +6 -4
  53. package/lib/entity/vendorExpense/vendorExpenseReducer.js +0 -1
  54. package/lib/entity/vendorExpense/vendorExpenseSelector.d.ts +2 -2
  55. package/lib/epic.d.ts +6 -1
  56. package/lib/epic.js +6 -1
  57. package/lib/index.d.ts +16 -7
  58. package/lib/index.js +52 -27
  59. package/lib/init.d.ts +2 -1
  60. package/lib/init.js +9 -2
  61. package/lib/reducer.d.ts +7 -1
  62. package/lib/reducer.js +6 -0
  63. package/lib/view/accountList/accountListReducer.js +1 -3
  64. package/lib/view/accountMappingView/accountMappingReducer.js +0 -1
  65. package/lib/view/apAgingView/apAgingDetail/apAgingDetailReducer.js +1 -2
  66. package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
  67. package/lib/view/balanceSheet/balanceSheetReducer.js +1 -6
  68. package/lib/view/bankAccountView/bankAccountViewReducer.js +0 -1
  69. package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
  70. package/lib/view/cardBalance/cardBalanceSelector.d.ts +1 -1
  71. package/lib/view/cashBalance/cashBalanceSelector.d.ts +1 -1
  72. package/lib/view/cashFlow/cashFlowReducer.js +1 -4
  73. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
  74. package/lib/view/cashPosition/cashPositionReducer.js +0 -1
  75. package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
  76. package/lib/view/commonVendorView/vendorView/epics/fetchAndUpdateVendorRecommendationsEpic.js +1 -3
  77. package/lib/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewReducer.d.ts +2 -2
  78. package/lib/view/companyView/companyViewReducer.js +1 -10
  79. package/lib/view/dashboard/dashboardEpic.js +0 -2
  80. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  81. package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.d.ts +15 -0
  82. package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +118 -0
  83. package/lib/view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic.d.ts +10 -0
  84. package/lib/view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic.js +49 -0
  85. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationDetailEpic.d.ts +14 -0
  86. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationDetailEpic.js +169 -0
  87. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.d.ts +9 -0
  88. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.js +154 -0
  89. package/lib/view/expenseAutomationView/epics/accountRecon/updateReconcileTabLocalDataEpic.d.ts +6 -0
  90. package/lib/view/expenseAutomationView/epics/accountRecon/updateReconcileTabLocalDataEpic.js +110 -0
  91. package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.d.ts +2 -1
  92. package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +24 -10
  93. package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.d.ts +2 -1
  94. package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js +14 -0
  95. package/lib/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +20 -4
  96. package/lib/view/expenseAutomationView/expenseAutomationViewReducer.d.ts +2 -2
  97. package/lib/view/expenseAutomationView/expenseAutomationViewReducer.js +1 -5
  98. package/lib/view/expenseAutomationView/expenseAutomationViewSelector.js +17 -2
  99. package/lib/view/expenseAutomationView/expenseAutomationViewState.d.ts +2 -2
  100. package/lib/view/expenseAutomationView/expenseAutomationViewState.js +1 -1
  101. package/lib/view/expenseAutomationView/helpers/reconciliationHelpers.d.ts +7 -0
  102. package/lib/view/expenseAutomationView/helpers/reconciliationHelpers.js +18 -0
  103. package/lib/view/expenseAutomationView/helpers/saveTransactionHelper.js +81 -30
  104. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  105. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +54 -10
  106. package/lib/view/expenseAutomationView/payload/reconciliationPayload.d.ts +28 -0
  107. package/lib/view/expenseAutomationView/payload/reconciliationPayload.js +51 -0
  108. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.d.ts +66 -0
  109. package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.js +384 -0
  110. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +2 -1
  111. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +5 -4
  112. package/lib/view/expenseAutomationView/selectorTypes/expenseAutomationViewSelectorTypes.d.ts +2 -0
  113. package/lib/view/expenseAutomationView/selectorTypes/expenseAutomationViewSelectorTypes.js +1 -1
  114. package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.d.ts +51 -0
  115. package/lib/view/expenseAutomationView/selectorTypes/reconciliationViewSelectorTypes.js +7 -0
  116. package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.d.ts +5 -0
  117. package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.js +250 -0
  118. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +103 -0
  119. package/lib/view/expenseAutomationView/types/reconciliationViewState.js +38 -0
  120. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +8 -0
  121. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  122. package/lib/view/financeStatement/financeStatementReducer.js +1 -4
  123. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
  124. package/lib/view/netBurnOrIncome/netBurnOrIncomeReducer.js +3 -10
  125. package/lib/view/netBurnOrIncomeClassesView/netBurnOrIncomeClassesViewReducer.js +1 -6
  126. package/lib/view/netBurnOrIncomeStoryCard/netBurnOrIncomeStoryCardReducer.js +0 -1
  127. package/lib/view/onboardingView/cockpitView/onboardingCockpitViewReducer.js +0 -3
  128. package/lib/view/opEx/opExForTimeFrameEpic.js +1 -1
  129. package/lib/view/opEx/opExReducer.js +4 -14
  130. package/lib/view/opExByVendor/opExByVendorReducer.js +1 -3
  131. package/lib/view/opExClassesView/opExClassesViewReducer.js +1 -6
  132. package/lib/view/people/fetchPeopleEpic.js +1 -3
  133. package/lib/view/people/invitePeopleEpic.js +1 -3
  134. package/lib/view/people/inviteZeniPeopleEpic.js +1 -3
  135. package/lib/view/people/peopleReducer.js +0 -1
  136. package/lib/view/people/peopleSaveUpdatesEpic.js +1 -1
  137. package/lib/view/profitAndLoss/profitAndLossReducer.js +1 -6
  138. package/lib/view/profitAndLossClassesView/profitAndLossClassesViewReducer.js +1 -6
  139. package/lib/view/recommendation/recommendationReducer.js +1 -4
  140. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
  141. package/lib/view/reportUIOptions/updateReportUIOptionThisPeriodEpic.js +1 -3
  142. package/lib/view/revenue/revenueReducer.js +3 -10
  143. package/lib/view/revenueClassesView/revenueClassesViewReducer.js +1 -6
  144. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  145. package/lib/view/settingsView/settingsViewReducer.js +0 -1
  146. package/lib/view/spendManagement/billPay/billList/billListReducer.js +0 -1
  147. package/lib/view/spendManagement/billPay/billPayConfig/billPayConfigPayload.d.ts +5 -1
  148. package/lib/view/spendManagement/billPay/billPayConfig/billPayConfigState.js +0 -6
  149. package/lib/view/spendManagement/billPay/billsBulkActionView/epics/validateBillsBulkActionEpic.ts.js +4 -3
  150. package/lib/view/spendManagement/billPay/editBillView/epics/fetchBillAndInitializeLocalStoreEpic.js +1 -3
  151. package/lib/view/spendManagement/billPay/editBillView/epics/saveBillDetailEpic.d.ts +2 -1
  152. package/lib/view/spendManagement/plaidAccount/epic/plaidConnection/establishPlaidConnectionEpic.js +11 -3
  153. package/lib/view/spendManagement/plaidAccount/plaidAccountViewReducer.d.ts +2 -1
  154. package/lib/view/spendManagement/plaidAccount/plaidAccountViewReducer.js +3 -1
  155. package/lib/view/spendManagement/plaidAccount/plaidAccountViewState.d.ts +1 -1
  156. package/lib/view/spendManagement/reimbursement/editRemiView/epics/fetchRecommendationsAndUpdateMerchantRecommendationsEpic.js +2 -6
  157. package/lib/view/spendManagement/reimbursement/editRemiView/epics/fetchRemiAndInitializeLocalStoreEpic.js +1 -3
  158. package/lib/view/spendManagement/reimbursement/remiListView/remiListReducer.js +0 -1
  159. package/lib/view/spendManagement/zeniAccounts/expressPay/epics/fetchExpressPayInitialDetailsEpic.d.ts +2 -2
  160. package/lib/view/spendManagement/zeniAccounts/expressPay/epics/fetchExpressPayInitialDetailsEpic.js +7 -7
  161. package/lib/view/spendManagement/zeniAccounts/expressPay/expressPaySelector.d.ts +2 -2
  162. package/lib/view/spendManagement/zeniAccounts/expressPay/expressPaySelector.js +5 -4
  163. package/lib/view/spendManagement/zeniAccounts/expressPay/expressPayState.d.ts +2 -2
  164. package/lib/view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigPayload.d.ts +14 -0
  165. package/lib/view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigPayload.js +78 -1
  166. package/lib/view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigReducer.js +3 -1
  167. package/lib/view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigSelector.d.ts +2 -1
  168. package/lib/view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigSelector.js +2 -1
  169. package/lib/view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigState.d.ts +9 -0
  170. package/lib/view/subscriptionView/subscriptionViewReducer.js +0 -1
  171. package/lib/view/subscriptionView/types/subscriptionTypes.js +0 -1
  172. package/lib/view/taskManager/taskListView/epics/dragNDropTasksEpic.js +1 -3
  173. package/lib/view/tasksCard/fetchTasksCardEpic.js +1 -2
  174. package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
  175. package/lib/view/tasksCard/tasksCardSelector.js +1 -1
  176. package/lib/view/topEx/topExSelector.d.ts +1 -1
  177. package/lib/view/transactionDetail/epics/saveTransactionHelper.js +13 -4
  178. package/lib/view/transactionDetail/epics/updateTransactionDetailEpic.js +16 -3
  179. package/lib/view/transactionDetail/transactionDetailLocalDataHelper.js +22 -5
  180. package/lib/view/transactionDetail/transactionDetailState.d.ts +1 -0
  181. package/lib/view/transactionDetail/transactionDetailTypes.d.ts +6 -0
  182. package/lib/view/transactionList/transactionListByEntitySelector.js +0 -2
  183. package/lib/view/transactionList/transactionListReducer.js +4 -6
  184. package/lib/view/trendWithTransactions/trendWithTransactionsReducer.js +0 -1
  185. package/lib/view/userFinancialAccount/userFinancialAccountReducer.js +1 -3
  186. package/lib/view/vendorReviewView/vendorGlobalReviewView/vendorGlobalReviewViewState.d.ts +1 -1
  187. package/lib/zeniAPI.d.ts +1 -0
  188. package/package.json +9 -3
@@ -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, billPayConfigState, vendorViewState, depositAccountState, depositAccountListState, paymentAccountListState, } = state;
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, editBillViewSelector_1.getBillPayConfigList)(billPayConfigState);
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: billPayConfigState.fetchState,
57
- error: billPayConfigState.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?: BillPayConfig;
15
+ paymentType?: ZeniAccountPaymentMethod;
16
16
  amount: Amount;
17
17
  paymentDate: ZeniDate;
18
18
  receiptFileId?: ID;
@@ -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 {};
@@ -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;
@@ -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;
@@ -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;
@@ -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,
@@ -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[];
@@ -191,7 +191,6 @@ const subscriptionView = (0, toolkit_1.createSlice)({
191
191
  },
192
192
  },
193
193
  fetchSubscriptionList: {
194
- // eslint-disable-next-line @typescript-eslint/no-inferrable-types
195
194
  prepare(fetchFullResponse = false) {
196
195
  return { payload: { fetchFullResponse } };
197
196
  },
@@ -15,7 +15,6 @@ const ALL_SUBSCRIPTION_SORT_KEYS = [
15
15
  'monthlyRecurringRevenue',
16
16
  'notes',
17
17
  ];
18
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
19
18
  const toSubscriptionSortKeyType = (v) => (0, stringToUnion_1.stringToUnion)(v, ALL_SUBSCRIPTION_SORT_KEYS);
20
19
  exports.toSubscriptionSortKeyType = toSubscriptionSortKeyType;
21
20
  exports.SUBSCRIPTION_STATUS_CODES = [
@@ -5,9 +5,7 @@ const rxjs_1 = require("rxjs");
5
5
  const operators_1 = require("rxjs/operators");
6
6
  const taskListReducer_1 = require("../taskListReducer");
7
7
  const taskListViewHelpers_1 = require("../taskListViewHelpers");
8
- const dragNDropTasksEpic = (actions$,
9
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
10
- state$) => actions$.pipe((0, operators_1.filter)(taskListReducer_1.dragNDropTasks.match), (0, operators_1.mergeMap)((action) => {
8
+ const dragNDropTasksEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(taskListReducer_1.dragNDropTasks.match), (0, operators_1.mergeMap)((action) => {
11
9
  const { taskIds, groupId } = action.payload;
12
10
  const state = state$.value;
13
11
  const { groupByKey } = state.taskListState.uiState;
@@ -9,8 +9,7 @@ const fetchTasksCardEpic = (actions$, _, zeniAPI) => actions$.pipe((0, operators
9
9
  .getJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/reports/task_card`)
10
10
  .pipe((0, operators_1.mergeMap)((response) => {
11
11
  if ((0, responsePayload_1.isSuccessResponse)(response)) {
12
- return (0, rxjs_1.of)((0, tasksCardReducer_1.updateTasksCard)(response.data) // eslint-disable-line @typescript-eslint/no-non-null-assertion
13
- );
12
+ return (0, rxjs_1.of)((0, tasksCardReducer_1.updateTasksCard)(response.data));
14
13
  }
15
14
  else {
16
15
  return (0, rxjs_1.of)((0, tasksCardReducer_1.updateTasksCardFailure)(response.status));
@@ -1,6 +1,6 @@
1
1
  import { RootState } from '../../reducer';
2
2
  export declare const getTasksCardReport: (state: RootState) => {
3
- reportId: "billing" | "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "charge_cards" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "flux_analysis_operating_expense";
3
+ reportId: "billing" | "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "charge_cards" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "flux_analysis_operating_expense" | "account_reconciliation";
4
4
  reportTitle: string;
5
5
  version: string | number | undefined;
6
6
  status: import("../..").Status | undefined;
@@ -4,7 +4,7 @@ exports.getTasksCardReport = void 0;
4
4
  const toolkit_1 = require("@reduxjs/toolkit");
5
5
  const getTasksCardReportSelector = (0, toolkit_1.createSelector)((state) => state.tasksCardState, (tasksCardState) => {
6
6
  const { tasks, fetchState } = tasksCardState;
7
- let showCard = false || fetchState !== 'Completed';
7
+ let showCard = fetchState !== 'Completed';
8
8
  let isMulti = false;
9
9
  if (fetchState === 'Completed') {
10
10
  for (const key in tasks) {
@@ -4,7 +4,7 @@ import { RootState } from '../../reducer';
4
4
  import { TopExReport, TopExTimePeriodWithMetaData } from './topExSelectorTypes';
5
5
  import { TopExState } from './topExState';
6
6
  export declare const getTopExpenses: (accountState: AccountState, topExState: TopExState, numberOfExpenses?: number) => {
7
- reportId: "billing" | "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "charge_cards" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "flux_analysis_operating_expense";
7
+ reportId: "billing" | "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "charge_cards" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "flux_analysis_operating_expense" | "account_reconciliation";
8
8
  reportTitle: string;
9
9
  version: string | number | undefined;
10
10
  status: import("../..").Status | undefined;
@@ -25,7 +25,7 @@ const recommendationState_1 = require("../../recommendation/recommendationState"
25
25
  * additionally fire “Mark as not miscat” for every point above.
26
26
  */
27
27
  const toTransactionUpdatesFromTransactionDetailLocalData = (transactionDetailLocalData, transaction, isExpenseAutomationEnabled) => {
28
- var _a, _b, _c;
28
+ var _a, _b, _c, _d;
29
29
  const updates = {
30
30
  updatesByLineId: {},
31
31
  };
@@ -39,15 +39,16 @@ const toTransactionUpdatesFromTransactionDetailLocalData = (transactionDetailLoc
39
39
  : undefined;
40
40
  if ((0, vendorTransaction_1.isVendorTransaction)(transaction)) {
41
41
  updates.vendorId = (_b = transactionDetailLocalData.vendorUpdates) === null || _b === void 0 ? void 0 : _b.id;
42
+ updates.customerId = (_c = transactionDetailLocalData.customerUpdates) === null || _c === void 0 ? void 0 : _c.id;
42
43
  }
43
44
  let isBulkUpdate = false;
44
45
  const entity = getEntityFromTransaction(transaction);
45
46
  let lastUpdatedCategory;
46
47
  let lastUpdatedClass;
47
48
  // single recommendation to just pick the last recommendation in the list of lines
48
- (_c = transaction.lines) === null || _c === void 0 ? void 0 : _c.forEach((line) => {
49
+ (_d = transaction.lines) === null || _d === void 0 ? void 0 : _d.forEach((line) => {
49
50
  var _a, _b, _c, _d, _e, _f;
50
- const entityDetails = getEntityDetails(entity, transactionDetailLocalData.lineItemById[line.id], transactionDetailLocalData.vendorUpdates);
51
+ const entityDetails = getEntityDetails(entity, transactionDetailLocalData.lineItemById[line.id], transactionDetailLocalData.vendorUpdates, transactionDetailLocalData.customerUpdates);
51
52
  if (line.type === 'transaction_with_account_and_class_line' ||
52
53
  line.type === 'transaction_with_product_or_service_line' ||
53
54
  line.type === 'journal_entry_transaction_line') {
@@ -229,7 +230,7 @@ const getEntityFromTransaction = (transaction) => {
229
230
  }
230
231
  return entity;
231
232
  };
232
- const getEntityDetails = (entity, lineItemLocalData, vendorUpdates) => {
233
+ const getEntityDetails = (entity, lineItemLocalData, vendorUpdates, customerUpdates) => {
233
234
  var _a, _b, _c, _d;
234
235
  if (entity != null) {
235
236
  return {
@@ -243,6 +244,14 @@ const getEntityDetails = (entity, lineItemLocalData, vendorUpdates) => {
243
244
  entityType: lineItemLocalData.vendor != null ? 'vendor' : 'customer',
244
245
  };
245
246
  }
247
+ if (customerUpdates != null &&
248
+ Boolean(customerUpdates.id) === true &&
249
+ customerUpdates.id != null) {
250
+ return {
251
+ entityId: customerUpdates.id,
252
+ entityType: 'customer',
253
+ };
254
+ }
246
255
  if (vendorUpdates != null && vendorUpdates.id != null) {
247
256
  return {
248
257
  entityId: vendorUpdates.id,
@@ -126,6 +126,7 @@ function preparePayload(transactionState, vendorState, transactionDetailState, t
126
126
  const detail = (0, transactionSelector_1.getSupportedTransactionById)(transactionState, transactionDetailKey);
127
127
  const tranDetail = (0, get_1.default)(transactionDetailState.transactionDetailById, transactionDetailKey, undefined);
128
128
  const tranVendorUpdates = tranDetail === null || tranDetail === void 0 ? void 0 : tranDetail.transactionDetailLocalData.vendorUpdates;
129
+ const tranCustomerUpdates = tranDetail === null || tranDetail === void 0 ? void 0 : tranDetail.transactionDetailLocalData.customerUpdates;
129
130
  let vendorUpdates = undefined;
130
131
  if ((tranVendorUpdates === null || tranVendorUpdates === void 0 ? void 0 : tranVendorUpdates.qboId) != null) {
131
132
  const vendor = (0, vendorSelector_1.getVendorByVendorId)(vendorState, tranVendorUpdates.qboId);
@@ -142,8 +143,15 @@ function preparePayload(transactionState, vendorState, transactionDetailState, t
142
143
  };
143
144
  }
144
145
  }
146
+ let customerUpdates = undefined;
147
+ if ((tranCustomerUpdates === null || tranCustomerUpdates === void 0 ? void 0 : tranCustomerUpdates.qboId) != null) {
148
+ customerUpdates = {
149
+ id: tranCustomerUpdates.qboId,
150
+ name: tranCustomerUpdates.name,
151
+ };
152
+ }
145
153
  if (detail != null) {
146
- const transUpdates = toTransactionUpdatePayload(saveUpdates.updates, detail, vendorUpdates);
154
+ const transUpdates = toTransactionUpdatePayload(saveUpdates.updates, detail, vendorUpdates, customerUpdates);
147
155
  const entityUpdates = toEntityUpdatePayload(saveUpdates.entityRelatedUpdates);
148
156
  return {
149
157
  entity_related_updates: entityUpdates,
@@ -153,7 +161,7 @@ function preparePayload(transactionState, vendorState, transactionDetailState, t
153
161
  }
154
162
  return undefined;
155
163
  }
156
- const toTransactionUpdatePayload = (updates, detail, vendorUpdates) => {
164
+ const toTransactionUpdatePayload = (updates, detail, vendorUpdates, customerUpdates) => {
157
165
  var _a, _b;
158
166
  const transaction = Object.assign({}, detail);
159
167
  transaction.memo = (_a = updates.memo) !== null && _a !== void 0 ? _a : '';
@@ -197,7 +205,12 @@ const toTransactionUpdatePayload = (updates, detail, vendorUpdates) => {
197
205
  return (0, customerTransactionPayload_1.toCustomerTransactionPayload)(transaction);
198
206
  }
199
207
  else if ((0, vendorTransaction_1.isVendorTransaction)(transaction)) {
200
- return (0, vendorTransactionPayload_1.toVendorTransactionPayload)(transaction, vendorUpdates);
208
+ if ((0, vendorTransaction_1.isVendorTransactionWithCustomer)(transaction)) {
209
+ return (0, vendorTransactionPayload_1.toVendorTransactionWithCustomerPayload)(transaction, vendorUpdates, customerUpdates);
210
+ }
211
+ else {
212
+ return (0, vendorTransactionPayload_1.toVendorTransactionPayload)(transaction, vendorUpdates);
213
+ }
201
214
  }
202
215
  else if ((0, otherTransaction_1.isTransferTransaction)(transaction)) {
203
216
  return (0, otherTransactionPayload_1.toTransferTransactionPayload)(transaction);
@@ -6,8 +6,9 @@ const customerTransaction_1 = require("../../entity/transaction/stateTypes/custo
6
6
  const vendorTransaction_1 = require("../../entity/transaction/stateTypes/vendorTransaction");
7
7
  const transactionDetailState_1 = require("./transactionDetailState");
8
8
  const toTransactionDetailLocalData = (transaction, vendorId, uncategorizedIncomeExpense) => {
9
- var _a, _b, _c, _d, _e, _f, _g;
9
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
10
10
  const transactionLocal = Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData);
11
+ const customerId = transaction.customerId;
11
12
  transactionLocal.memo = transaction.memo;
12
13
  transactionLocal.vendorUpdates =
13
14
  (0, vendorTransaction_1.isVendorTransaction)(transaction) && vendorId != null
@@ -17,12 +18,28 @@ const toTransactionDetailLocalData = (transaction, vendorId, uncategorizedIncome
17
18
  qboId: (_c = transaction.vendor) === null || _c === void 0 ? void 0 : _c.id,
18
19
  }
19
20
  : undefined;
21
+ transactionLocal.customerUpdates =
22
+ (0, customerTransaction_1.isCustomerTransaction)(transaction) && customerId != null
23
+ ? {
24
+ id: customerId,
25
+ name: (_e = (_d = transaction.customer) === null || _d === void 0 ? void 0 : _d.name) !== null && _e !== void 0 ? _e : '',
26
+ qboId: (_g = (_f = transaction.customer) === null || _f === void 0 ? void 0 : _f.id) !== null && _g !== void 0 ? _g : '',
27
+ }
28
+ : undefined;
20
29
  transactionLocal.vendorDetails =
21
30
  (0, vendorTransaction_1.isVendorTransaction)(transaction) && vendorId != null
22
31
  ? {
23
32
  id: vendorId,
24
- qboId: (_e = (_d = transaction.vendor) === null || _d === void 0 ? void 0 : _d.id) !== null && _e !== void 0 ? _e : '',
25
- name: (_g = (_f = transaction.vendor) === null || _f === void 0 ? void 0 : _f.name) !== null && _g !== void 0 ? _g : '',
33
+ qboId: (_j = (_h = transaction.vendor) === null || _h === void 0 ? void 0 : _h.id) !== null && _j !== void 0 ? _j : '',
34
+ name: (_l = (_k = transaction.vendor) === null || _k === void 0 ? void 0 : _k.name) !== null && _l !== void 0 ? _l : '',
35
+ }
36
+ : undefined;
37
+ transactionLocal.customerDetails =
38
+ (0, customerTransaction_1.isCustomerTransaction)(transaction) && customerId != null
39
+ ? {
40
+ id: customerId,
41
+ qboId: (_o = (_m = transaction.customer) === null || _m === void 0 ? void 0 : _m.id) !== null && _o !== void 0 ? _o : '',
42
+ name: (_q = (_p = transaction.customer) === null || _p === void 0 ? void 0 : _p.name) !== null && _q !== void 0 ? _q : '',
26
43
  }
27
44
  : undefined;
28
45
  transactionLocal.lineItemById =
@@ -661,12 +678,12 @@ const toSetAllLineItemsToVendor = (transaction, transactionDetailLocalData, enti
661
678
  ? toVendorBaseFromLineEntity(entity)
662
679
  : undefined;
663
680
  if (line.type === 'transaction_with_product_or_service_line') {
664
- const lineRecord = Object.assign(Object.assign({}, transactionDetailLocalData.lineItemById[lineId]), { vendor: record.vendor });
681
+ const lineRecord = Object.assign(Object.assign({}, transactionDetailLocalData.lineItemById[lineId]), { vendor: record.vendor, customer: record.customer });
665
682
  record.item = lineRecord.item;
666
683
  record.lineDetailType = lineRecord.lineDetailType;
667
684
  }
668
685
  if (line.type === 'journal_entry_transaction_line') {
669
- const lineRecord = Object.assign(Object.assign({}, transactionDetailLocalData.lineItemById[lineId]), { vendor: record.vendor });
686
+ const lineRecord = Object.assign(Object.assign({}, transactionDetailLocalData.lineItemById[lineId]), { vendor: record.vendor, customer: record.customer });
670
687
  record.lineTransactionType = lineRecord.lineTransactionType;
671
688
  record.postingType = lineRecord.postingType;
672
689
  record.postingTypeName = lineRecord.postingTypeName;
@@ -59,6 +59,7 @@ export interface TransactionUpdates {
59
59
  memo?: string;
60
60
  updatesByLineId: Record<ID, TransactionLineUpdates>;
61
61
  vendorId?: ID;
62
+ customerId?: ID;
62
63
  }
63
64
  export interface EntityRelatedRecommendationUpdates {
64
65
  entityId: ID;
@@ -44,6 +44,12 @@ export interface TransactionDetailLocalData {
44
44
  name: string;
45
45
  qboId: ID;
46
46
  };
47
+ customerDetails?: {
48
+ id: ID;
49
+ name: string;
50
+ qboId: ID;
51
+ };
52
+ customerUpdates?: TransactionVendorUpdates;
47
53
  vendorUpdates?: TransactionVendorUpdates;
48
54
  updatePreviousTransactionsWithUpdatedVendor?: boolean;
49
55
  isVendorUpdateAllChecked: boolean;
@@ -25,7 +25,6 @@ const getTransactionListByEntity = (transactionState, transactionListState, filt
25
25
  .filter((eTransaction) => eTransaction != null);
26
26
  const fetchState = (0, reduceTransactionListFetchState_1.reduceFetchState)(entityTransactions);
27
27
  let transactions = [];
28
- // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
29
28
  if ((0, reduceTransactionListFetchState_1.isAnyFetchCompleted)(entityTransactions)) {
30
29
  const allTransactionIDs = (0, flatMap_1.default)(entityTransactions, (value) => value.transactionIDs);
31
30
  const transactionsUnsorted = allTransactionIDs
@@ -75,7 +74,6 @@ const getTransactionListByEntityForSinglePeriod = (state, entity, numberOfQuarte
75
74
  .filter((eTransaction) => eTransaction != null);
76
75
  const fetchState = (0, reduceTransactionListFetchState_1.reduceFetchState)(entityTransactions);
77
76
  let transactions = [];
78
- // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
79
77
  if ((0, reduceTransactionListFetchState_1.isAnyFetchCompleted)(entityTransactions)) {
80
78
  const allTransactionIDs = (0, flatMap_1.default)(entityTransactions, (value) => value.transactionIDs);
81
79
  const transactionsUnsorted = allTransactionIDs
@@ -303,9 +303,8 @@ exports.default = transactionList.reducer;
303
303
  function doUpdateTransactionListByAccount(draft, payload) {
304
304
  const transactionIDs = payload.account.transactions.map((transactionPaylod) => transactionPaylod.transaction_id);
305
305
  const account = (0, accountPayload_1.mapAccountBasePayloadToAccountBase)(payload.account);
306
- const start = (0, timePeriod_1.toAbsoluteDay)(payload.query.start_date); // eslint-disable-line @typescript-eslint/no-non-null-assertion
307
- const end = (0, timePeriod_1.toAbsoluteDay)(payload.query.end_date); // eslint-disable-line @typescript-eslint/no-non-null-assertion
308
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
306
+ const start = (0, timePeriod_1.toAbsoluteDay)(payload.query.start_date);
307
+ const end = (0, timePeriod_1.toAbsoluteDay)(payload.query.end_date);
309
308
  const key = (0, transactionListState_1.getAcTranKey)(account.accountId, account.accountType, {
310
309
  start,
311
310
  end,
@@ -325,9 +324,8 @@ function doUpdateTransactionListByClass(draft, payload) {
325
324
  const transactionIDs = payload.account.transactions.map((transactionPaylod) => transactionPaylod.transaction_id);
326
325
  const account = (0, accountPayload_1.mapAccountBasePayloadToAccountBase)(payload.account);
327
326
  const classId = payload.query.accounting_class_id;
328
- const start = (0, timePeriod_1.toAbsoluteDay)(payload.query.start_date); // eslint-disable-line @typescript-eslint/no-non-null-assertion
329
- const end = (0, timePeriod_1.toAbsoluteDay)(payload.query.end_date); // eslint-disable-line @typescript-eslint/no-non-null-assertion
330
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
327
+ const start = (0, timePeriod_1.toAbsoluteDay)(payload.query.start_date);
328
+ const end = (0, timePeriod_1.toAbsoluteDay)(payload.query.end_date);
331
329
  const key = (0, transactionListState_1.getClassAcTranKey)(account.accountId, account.accountType, classId, {
332
330
  start,
333
331
  end,
@@ -48,7 +48,6 @@ const trendWithTransactions = (0, toolkit_1.createSlice)({
48
48
  },
49
49
  },
50
50
  clearTrendWithTransactions: {
51
- // eslint-disable-next-line @typescript-eslint/no-inferrable-types
52
51
  prepare(keepUiState = true) {
53
52
  return { payload: { keepUiState } };
54
53
  },
@@ -11,9 +11,7 @@ const userFinancialAccount = (0, toolkit_1.createSlice)({
11
11
  initialState: exports.initialState,
12
12
  reducers: {
13
13
  fetchUserFinancialAccount: {
14
- reducer(draft,
15
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
16
- action) {
14
+ reducer(draft, action) {
17
15
  const { userId } = action.payload;
18
16
  draft.financialAccountByUserId[userId] = {
19
17
  hasValidState() {
@@ -3,7 +3,7 @@ import { SortOrder } from '../../../commonStateTypes/selectorTypes/sortOrderType
3
3
  import { PageToken } from '../../../commonStateTypes/viewAndReport/viewAndReport';
4
4
  import { GlobalVendorReviewRowCurrentSelection } from '../common/state/commonTypes';
5
5
  import { RecommendedNonExistingGlobalMerchant } from '../vendorFirstReviewView/vendorFirstReviewViewState';
6
- export declare const toVendorGlobalReviewColumnSortKeyType: (v: string) => "tenants" | "originalVendor" | "recommended" | "requestedVendor";
6
+ export declare const toVendorGlobalReviewColumnSortKeyType: (v: string) => "tenants" | "recommended" | "originalVendor" | "requestedVendor";
7
7
  export type VendorGlobalReviewViewColumnSortKey = ReturnType<typeof toVendorGlobalReviewColumnSortKeyType>;
8
8
  export interface GlobalReviewPageCurrentSelectionByColumn {
9
9
  requested: boolean;
package/lib/zeniAPI.d.ts CHANGED
@@ -18,6 +18,7 @@ export interface RESTAPIEndpoints {
18
18
  readonly cardMicroServiceBaseUrl: string;
19
19
  readonly taskMicroServiceBaseUrl: string;
20
20
  readonly notificationMicroServiceBaseUrl: string;
21
+ readonly reconciliationMicroServiceBaseUrl: string;
21
22
  }
22
23
  export interface ZeniAPI<ResponseType = FetchResponse> {
23
24
  readonly apiEndPoints: RESTAPIEndpoints;