@zeniai/client-epic-state 4.11.46 → 4.11.48

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 (56) hide show
  1. package/lib/entity/chargeCardTransaction/chargeCardTransaction.d.ts +1 -1
  2. package/lib/entity/company/companyPayload.d.ts +0 -12
  3. package/lib/entity/company/companyPayload.js +0 -21
  4. package/lib/entity/company/companyReducer.d.ts +0 -7
  5. package/lib/entity/company/companyReducer.js +2 -22
  6. package/lib/entity/company/companyStateTypes.d.ts +0 -12
  7. package/lib/entity/depositAccountTransaction/depositAccountTransaction.d.ts +1 -1
  8. package/lib/entity/paymentAccount/paymentAccountPayload.d.ts +0 -2
  9. package/lib/entity/paymentAccount/paymentAccountPayload.js +0 -2
  10. package/lib/entity/paymentAccount/paymentAccountState.d.ts +0 -2
  11. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  12. package/lib/entity/toastNotification/epic/pushToastNotificationEpic.d.ts +1 -1
  13. package/lib/view/cardPayment/epic/addCardPaymentSourceEpic.d.ts +1 -1
  14. package/lib/view/cardPayment/epic/confirmCardSetupIntentEpic.d.ts +1 -1
  15. package/lib/view/cardPayment/epic/createCardSetupIntentEpic.d.ts +1 -1
  16. package/lib/view/cardPayment/epic/fetchPaymentSourcesEpic.d.ts +1 -1
  17. package/lib/view/companyView/types/cockpitTypes.d.ts +2 -2
  18. package/lib/view/onboardingView/customerView/epic/plaidConnection/establishOnboardingPlaidConnectionEpic.js +0 -2
  19. package/lib/view/people/changeZeniPersonRolesEpic.d.ts +1 -1
  20. package/lib/view/people/deletePersonEpic.d.ts +1 -1
  21. package/lib/view/people/invitePeopleEpic.d.ts +1 -1
  22. package/lib/view/people/inviteZeniPeopleEpic.d.ts +1 -1
  23. package/lib/view/people/resendInviteEpic.d.ts +1 -1
  24. package/lib/view/referralView/referralState.d.ts +1 -1
  25. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  26. package/lib/view/settingsView/epic/saveNotificationSettingsEpic.d.ts +1 -1
  27. package/lib/view/settingsView/settingsViewHelpers.js +12 -6
  28. package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +3 -2
  29. package/lib/view/spendManagement/billPay/billPaySetupView/billPaySetupViewSelector.js +1 -1
  30. package/lib/view/spendManagement/billPay/billPaySetupView/epic/billPaySetup/fetchBillPaySetupViewEpic.d.ts +1 -4
  31. package/lib/view/spendManagement/billPay/billPaySetupView/epic/billPaySetup/fetchBillPaySetupViewEpic.js +4 -16
  32. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +3 -2
  33. package/lib/view/spendManagement/chargeCards/chargeCardSetUp/chargeCardSetUpViewSelector.js +1 -1
  34. package/lib/view/spendManagement/chargeCards/chargeCardSetUp/epic/fetchChargeCardSetupViewEpic.d.ts +1 -4
  35. package/lib/view/spendManagement/chargeCards/chargeCardSetUp/epic/fetchChargeCardSetupViewEpic.js +4 -16
  36. package/lib/view/spendManagement/commonSetup/setupViewSelector.d.ts +0 -4
  37. package/lib/view/spendManagement/commonSetup/setupViewSelector.js +32 -42
  38. package/lib/view/spendManagement/plaidAccount/epic/paymentAccounts/getPaymentAccountsEpic.js +2 -1
  39. package/lib/view/spendManagement/plaidAccount/epic/paymentAccounts/updateMappedCashAccountEpic.js +5 -4
  40. package/lib/view/spendManagement/plaidAccount/epic/paymentAccounts/updatePaymentAccountEpic.js +2 -1
  41. package/lib/view/spendManagement/plaidAccount/epic/paymentAccounts/updatePaymentAccountStatusEpic.js +2 -1
  42. package/lib/view/spendManagement/plaidAccount/epic/paymentAccounts/updatePrimaryFundingAccountEpic.js +12 -34
  43. package/lib/view/spendManagement/plaidAccount/epic/plaidConnection/establishPlaidConnectionEpic.d.ts +1 -2
  44. package/lib/view/spendManagement/plaidAccount/epic/plaidConnection/establishPlaidConnectionEpic.js +16 -52
  45. package/lib/view/spendManagement/plaidAccount/plaidAccountViewReducer.d.ts +29 -22
  46. package/lib/view/spendManagement/plaidAccount/plaidAccountViewReducer.js +78 -49
  47. package/lib/view/spendManagement/plaidAccount/plaidAccountViewState.d.ts +8 -2
  48. package/lib/view/spendManagement/plaidAccount/plaidAccountViewState.js +3 -5
  49. package/lib/view/spendManagement/reimbursement/remiSetupView/epic/remiSetup/fetchRemiSetupViewEpic.js +19 -6
  50. package/lib/view/spendManagement/zeniAccounts/zeniAccountList/zeniAccountListSelector.js +2 -2
  51. package/lib/view/spendManagement/zeniAccounts/zeniAccountSetUp/epic/fetchZeniAccountSetupViewEpic.d.ts +1 -4
  52. package/lib/view/spendManagement/zeniAccounts/zeniAccountSetUp/epic/fetchZeniAccountSetupViewEpic.js +9 -20
  53. package/lib/view/spendManagement/zeniAccounts/zeniAccountSetUp/zeniAccountSetupViewSelector.js +1 -1
  54. package/lib/view/tagView/epics/createTagEpic.d.ts +6 -6
  55. package/lib/view/tagView/epics/deleteTagEpic.d.ts +6 -6
  56. package/package.json +1 -1
@@ -46,7 +46,7 @@ export declare const REFERRAL_LIST_VIEW_SORT_KEYS: readonly ["invitee_email", "a
46
46
  export declare const toReferralListViewSortKeyType: (v: string) => "status" | "amount" | "invitee_email" | "referral_date";
47
47
  export declare type ReferralListViewSortKey = ReturnType<typeof toReferralListViewSortKeyType>;
48
48
  export declare const ALL_REFERRAL_STATUSES: readonly ["invite_processing", "invite_sent", "onboarding", "active", "declined", "resend_invite", "reward_sent"];
49
- export declare const toReferralStatusType: (v: string) => "active" | "onboarding" | "invite_processing" | "invite_sent" | "declined" | "resend_invite" | "reward_sent";
49
+ export declare const toReferralStatusType: (v: string) => "active" | "onboarding" | "declined" | "invite_processing" | "invite_sent" | "resend_invite" | "reward_sent";
50
50
  export declare type ReferralStatus = ReturnType<typeof toReferralStatusType>;
51
51
  export declare const StatusTypes: Record<ReferralStatus, string>;
52
52
  export declare const ALL_REFERRAL_AMOUNT_STATUSES: readonly ["received", "to_be_received"];
@@ -10,7 +10,7 @@ export declare const ALL_SCHEDULES_SUB_TABS: readonly ["all", "new", "ongoing",
10
10
  export declare const toScheduleSubTabType: (v: string) => "all" | "new" | "completed" | "ongoing";
11
11
  export declare type ScheduleSubTabType = ReturnType<typeof toScheduleSubTabType>;
12
12
  export declare const ALL_SCHEDULES_PAY_SORT_KEYS: readonly ["transactionDate", "vendor", "scheduleCategory", "expenseCategory", "accumulatedDepreciationCategory", "class", "amount", "balanceAsOfToday", "memo", "startMonth", "endMonth", "months", "transactionType", "status", "assetId", "user"];
13
- export declare const toScheduleSortKeyType: (v: string) => "status" | "user" | "months" | "amount" | "vendor" | "class" | "memo" | "transactionDate" | "transactionType" | "balanceAsOfToday" | "scheduleCategory" | "expenseCategory" | "accumulatedDepreciationCategory" | "startMonth" | "endMonth" | "assetId";
13
+ export declare const toScheduleSortKeyType: (v: string) => "status" | "user" | "months" | "amount" | "vendor" | "class" | "memo" | "transactionDate" | "scheduleCategory" | "expenseCategory" | "accumulatedDepreciationCategory" | "balanceAsOfToday" | "startMonth" | "endMonth" | "transactionType" | "assetId";
14
14
  export declare type ScheduleListSortKey = ReturnType<typeof toScheduleSortKeyType>;
15
15
  export interface DownloadJEScheduleTabOptions {
16
16
  timezone: string;
@@ -18,7 +18,7 @@ export declare const saveNotificationSettingsEpic: (actions$: ActionsObservable<
18
18
  type: string;
19
19
  } | {
20
20
  payload: {
21
- messageSection: "bill_pay_setup" | "reimbursement_setup" | "charge_card_setup" | "common" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_accept_term" | "create_schedule" | "save_schedule" | "delete_schedule" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "create_tag" | "delete_tag" | "update_charge_card" | "issue_charge_card" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success";
21
+ messageSection: "reimbursement_setup" | "common" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "bill_pay_setup" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_setup" | "charge_card_accept_term" | "create_schedule" | "save_schedule" | "delete_schedule" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "create_tag" | "delete_tag" | "update_charge_card" | "issue_charge_card" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success";
22
22
  messageText: "failed" | "success" | "notification";
23
23
  type: import("../../..").SnackbarMessageType;
24
24
  showStatusIcon?: boolean | undefined;
@@ -11,7 +11,8 @@ const isAccountingTabVisible = (userRole, currentTenant, userRoleMap) => {
11
11
  return (((0, userRoleType_1.hasBillPayAccessible)(currentTenant, userRoleMap) ||
12
12
  (0, userRoleType_1.hasReimbursementAccessible)(currentTenant, userRoleMap) ||
13
13
  (0, userRoleType_1.hasFullOrAdminLevelAccess)(userRole)) &&
14
- (0, tenantSelector_1.isTenantBankingOnly)(currentTenant) === false);
14
+ (0, tenantSelector_1.isTenantBankingOnly)(currentTenant) === false &&
15
+ (0, tenantSelector_1.isTenantCardsOnly)(currentTenant) === false);
15
16
  }
16
17
  else {
17
18
  return false;
@@ -30,7 +31,8 @@ const isApprovalRulesTabVisible = (userRole, currentTenant, userRoleMap) => {
30
31
  (0, userRoleType_1.hasReimbursementAccessible)(currentTenant, userRoleMap) ||
31
32
  ((isBillPayTOSAccepted || isReimbursementTOSAccepted) &&
32
33
  (0, userRoleType_1.hasFullOrAdminLevelAccess)(userRole))) &&
33
- (0, tenantSelector_1.isTenantBankingOnly)(currentTenant) === false);
34
+ (0, tenantSelector_1.isTenantBankingOnly)(currentTenant) === false &&
35
+ (0, tenantSelector_1.isTenantCardsOnly)(currentTenant) === false);
34
36
  }
35
37
  else {
36
38
  return false;
@@ -46,7 +48,8 @@ const isBankConnectionsTabVisible = (currentTenant, userRoleMap) => {
46
48
  (0, userRoleType_1.hasReimbursementAccessible)(currentTenant, userRoleMap) ||
47
49
  (0, userRoleType_1.hasZeniAccountsAccessible)(currentTenant, userRoleMap) ||
48
50
  (0, userRoleType_1.hasChargeCardAccessible)(currentTenant, userRoleMap)) &&
49
- (0, tenantSelector_1.isTenantBankingOnly)(currentTenant) === false);
51
+ (0, tenantSelector_1.isTenantBankingOnly)(currentTenant) === false &&
52
+ (0, tenantSelector_1.isTenantCardsOnly)(currentTenant) === false);
50
53
  }
51
54
  else {
52
55
  return false;
@@ -62,7 +65,8 @@ const isBusinessVerificationTabVisible = (currentTenant, userRoleMap) => {
62
65
  (0, userRoleType_1.hasReimbursementAccessible)(currentTenant, userRoleMap) ||
63
66
  (0, userRoleType_1.hasZeniAccountsAccessible)(currentTenant, userRoleMap) ||
64
67
  (0, userRoleType_1.hasChargeCardAccessible)(currentTenant, userRoleMap)) &&
65
- (0, tenantSelector_1.isTenantBankingOnly)(currentTenant) === false);
68
+ (0, tenantSelector_1.isTenantBankingOnly)(currentTenant) === false &&
69
+ (0, tenantSelector_1.isTenantCardsOnly)(currentTenant) === false);
66
70
  }
67
71
  else {
68
72
  return false;
@@ -88,7 +92,8 @@ const isIntegrationsTabVisible = (userRole, currentTenant) => {
88
92
  return false;
89
93
  }
90
94
  if ((0, exports.isSettingsVisible)(currentTenant)) {
91
- return ((0, userRoleType_1.hasFullOrAdminLevelAccess)(userRole) && !(0, tenantSelector_1.isTenantBankingOnly)(currentTenant));
95
+ return ((0, userRoleType_1.hasFullOrAdminLevelAccess)(userRole) &&
96
+ !((0, tenantSelector_1.isTenantBankingOnly)(currentTenant) || (0, tenantSelector_1.isTenantCardsOnly)(currentTenant)));
92
97
  }
93
98
  else {
94
99
  return false;
@@ -137,6 +142,7 @@ const isNotificationsTabVisible = (notificationSettings, signedInUseEmail, curre
137
142
  const { reminderNotificationSettings, monthEndInsightsNotificationSettings } = notificationSettings;
138
143
  return (((0, exports.isRemindersSectionVisibleOnSettingsPage)(reminderNotificationSettings) ||
139
144
  (0, exports.isMonthEndNotificationsSectionVisibleOnSettingsPage)(monthEndInsightsNotificationSettings, signedInUseEmail)) &&
140
- (0, tenantSelector_1.isTenantBankingOnly)(currentTenant) === false);
145
+ (0, tenantSelector_1.isTenantBankingOnly)(currentTenant) === false &&
146
+ (0, tenantSelector_1.isTenantCardsOnly)(currentTenant) === false);
141
147
  };
142
148
  exports.isNotificationsTabVisible = isNotificationsTabVisible;
@@ -37,7 +37,7 @@ const getDuplicateBills = (state, billId) => {
37
37
  exports.getDuplicateBills = getDuplicateBills;
38
38
  const getReviewPageBillDetail = (state, billId) => {
39
39
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
40
- const { accountListState, accountState, billTransactionState, classListState, editBillDetailViewState, paymentAccountState, vendorState, contactState, billPayConfigState, recurringBillState, depositAccountState, depositAccountListState, paymentAccountListState, } = state;
40
+ const { accountListState, accountState, plaidAccountViewState, billTransactionState, classListState, editBillDetailViewState, paymentAccountState, vendorState, contactState, billPayConfigState, recurringBillState, depositAccountState, depositAccountListState, } = state;
41
41
  const key = (0, billDetailViewState_1.getBillTransactionDetailKey)(billId !== null && billId !== void 0 ? billId : '');
42
42
  const sourceBillDetail = billId != null
43
43
  ? (_a = editBillDetailViewState.editBillStateById) === null || _a === void 0 ? void 0 : _a[key]
@@ -47,7 +47,8 @@ const getReviewPageBillDetail = (state, billId) => {
47
47
  let paymentDetailsSection;
48
48
  let file;
49
49
  let contactDetails = [];
50
- const primaryPaymentAccount = (0, paymentAccountSelector_1.getPaymentAccountsByPaymentAccountIds)(paymentAccountState, paymentAccountListState.paymentAccountIds);
50
+ const primaryPaymentAccount = (0, paymentAccountSelector_1.getPaymentAccountsByPaymentAccountIds)(paymentAccountState, plaidAccountViewState['spend_management_setup'].accountDetails
51
+ .paymentAccountIds);
51
52
  const allDepositAccounts = (0, depositAccountListSelector_1.getAllDepostAccounts)(depositAccountState, depositAccountListState).depositAccounts;
52
53
  const withdrawFromList = (0, setupViewSelector_1.getAllFundingAccounts)(allDepositAccounts, primaryPaymentAccount);
53
54
  let fetchState = 'Not-Started';
@@ -4,7 +4,7 @@ exports.getBillPayBusinessVerificationDetails = exports.getBillPaySetupViewDetai
4
4
  const setupViewSelector_1 = require("../../commonSetup/setupViewSelector");
5
5
  const helpers_1 = require("../../helpers");
6
6
  function getBillPaySetupViewDetails(state, companyId) {
7
- const billPaySetupViewDetails = (0, setupViewSelector_1.getCommonSetupViewDetails)(state, companyId, 'bill_pay', 'bill_pay_setup');
7
+ const billPaySetupViewDetails = (0, setupViewSelector_1.getCommonSetupViewDetails)(state, companyId, 'bill_pay', 'spend_management_setup');
8
8
  const businessVerificationDetails = getBillPayBusinessVerificationDetails(state, companyId);
9
9
  const selectedCompanyOfficer = (0, helpers_1.getSelectedCompanyOfficer)(businessVerificationDetails);
10
10
  const { billPaySetupViewState, setupViewState } = state;
@@ -13,8 +13,5 @@ import { openSnackbar } from '../../../../../../entity/snackbar/snackbarReducer'
13
13
  import { updateSetupViewLocalStoreData } from '../../../../commonSetup/setupViewReducer';
14
14
  import { fetchBillPaySetupView, fetchBillPaySetupViewSuccess, fetchBillPaySetupViewFailure } from '../../billPaySetupViewReducer';
15
15
  import { updatePlaidAccountViewAccountDetails } from '../../../../plaidAccount/plaidAccountViewReducer';
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 fetchBillPaySetupView> | 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 fetchBillPaySetupViewSuccess> | ReturnType<typeof fetchBillPaySetupViewFailure>;
16
+ export declare type ActionType = ReturnType<typeof fetchBillPaySetupView> | ReturnType<typeof updateAllUsers> | ReturnType<typeof updateUserRoles> | ReturnType<typeof updateCompanies> | ReturnType<typeof updateFiles> | ReturnType<typeof updateAccounts> | ReturnType<typeof updateAddresses> | ReturnType<typeof updatePaymentAccounts> | ReturnType<typeof updatePlaidAccountViewAccountDetails> | ReturnType<typeof updateSetupViewLocalStoreData> | ReturnType<typeof openSnackbar> | ReturnType<typeof fetchBillPaySetupViewSuccess> | ReturnType<typeof fetchBillPaySetupViewFailure>;
20
17
  export declare const fetchBillPaySetupViewEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -16,9 +16,6 @@ const snackbarReducer_1 = require("../../../../../../entity/snackbar/snackbarRed
16
16
  const setupViewReducer_1 = require("../../../../commonSetup/setupViewReducer");
17
17
  const billPaySetupViewReducer_1 = require("../../billPaySetupViewReducer");
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");
22
19
  const fetchBillPaySetupViewEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(billPaySetupViewReducer_1.fetchBillPaySetupView.match), (0, operators_1.switchMap)((action) => {
23
20
  var _a;
24
21
  const { companyId, cacheOverride, refreshViewInBackground } = action.payload;
@@ -32,9 +29,9 @@ const fetchBillPaySetupViewEpic = (actions$, state$, zeniAPI) => actions$.pipe((
32
29
  return zeniAPI
33
30
  .getJSON(`${zeniAPI.apiEndPoints.tenantMicroServiceBaseUrl}/1.0/companies/${companyId}?query={"view":"bill_pay_setup"}`)
34
31
  .pipe((0, operators_1.mergeMap)((response) => {
35
- var _a, _b, _c;
36
32
  if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
37
33
  const allBankAccountIds = response.data.accounts.map((account) => account.account_id);
34
+ const paymentAccountIds = response.data.payment_accounts.map((paymentAccount) => paymentAccount.payment_account_id);
38
35
  const actions = [
39
36
  (0, userReducer_1.updateAllUsers)({ users: response.data.users }),
40
37
  (0, userRoleReducer_1.updateUserRoles)(response.data.user_roles),
@@ -46,19 +43,10 @@ const fetchBillPaySetupViewEpic = (actions$, state$, zeniAPI) => actions$.pipe((
46
43
  (0, fileReducer_1.updateFiles)({ files: response.data.files }),
47
44
  (0, accountReducer_1.updateAccounts)(response.data.accounts, 'bill_pay'),
48
45
  (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
- }),
58
46
  (0, setupViewReducer_1.updateSetupViewLocalStoreData)({
59
47
  companyId: response.data.companies[0].company_id,
60
48
  }),
61
- (0, plaidAccountViewReducer_1.updatePlaidAccountViewAccountDetails)(allBankAccountIds, 'bill_pay_setup'),
49
+ (0, plaidAccountViewReducer_1.updatePlaidAccountViewAccountDetails)(allBankAccountIds, paymentAccountIds, 'spend_management_setup'),
62
50
  (0, billPaySetupViewReducer_1.fetchBillPaySetupViewSuccess)(),
63
51
  ];
64
52
  return (0, rxjs_1.from)(actions);
@@ -74,10 +62,10 @@ const fetchBillPaySetupViewEpic = (actions$, state$, zeniAPI) => actions$.pipe((
74
62
  JSON.stringify(error))))));
75
63
  }
76
64
  else {
77
- const { allBankAccountIds } = plaidAccountViewState['spend_management_setup'].accountDetails;
65
+ const { allBankAccountIds, paymentAccountIds } = plaidAccountViewState['spend_management_setup'].accountDetails;
78
66
  return (0, rxjs_1.of)((0, setupViewReducer_1.updateSetupViewLocalStoreData)({
79
67
  companyId,
80
- }), (0, plaidAccountViewReducer_1.updatePlaidAccountViewAccountDetails)(allBankAccountIds, 'bill_pay_setup'), (0, billPaySetupViewReducer_1.fetchBillPaySetupViewSuccess)());
68
+ }), (0, plaidAccountViewReducer_1.updatePlaidAccountViewAccountDetails)(allBankAccountIds, paymentAccountIds, 'spend_management_setup'), (0, billPaySetupViewReducer_1.fetchBillPaySetupViewSuccess)());
81
69
  }
82
70
  }));
83
71
  exports.fetchBillPaySetupViewEpic = fetchBillPaySetupViewEpic;
@@ -32,7 +32,7 @@ const depositAccountSelector_1 = require("../../../../entity/depositAccount/depo
32
32
  const setupViewSelector_1 = require("../../commonSetup/setupViewSelector");
33
33
  const getEditBillDetail = (state, isVendorRecommendationFeatureEnabled, isZeniAccountsEnabled, billId) => {
34
34
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7;
35
- const { accountListState, accountState, bankAccountState, billDetailViewState, paymentAccountListState, billTransactionState, billPayConfigState, classListState, classState, editBillDetailViewState, paymentAccountState, vendorState, tenantState, companyState, userState, commonHistoryState, contactState, paymentInstrumentState, recurringBillState, depositAccountListState, depositAccountState, } = state;
35
+ const { accountListState, accountState, bankAccountState, billDetailViewState, plaidAccountViewState, billTransactionState, billPayConfigState, classListState, classState, editBillDetailViewState, paymentAccountState, vendorState, tenantState, companyState, userState, commonHistoryState, contactState, paymentInstrumentState, recurringBillState, depositAccountListState, depositAccountState, } = state;
36
36
  const transaction = (0, get_1.default)(billTransactionState.transactionById, billId !== null && billId !== void 0 ? billId : '', undefined);
37
37
  let recommendations = {};
38
38
  if (billId != null) {
@@ -70,7 +70,8 @@ const getEditBillDetail = (state, isVendorRecommendationFeatureEnabled, isZeniAc
70
70
  we need to pick payment ids from billPayInfo object
71
71
  */
72
72
  [transaction.billPayInfo.fromAccount.billAccountId]
73
- : paymentAccountListState.paymentAccountIds);
73
+ : plaidAccountViewState['spend_management_setup'].accountDetails
74
+ .paymentAccountIds);
74
75
  const fromDepositAccount = (transaction === null || transaction === void 0 ? void 0 : transaction.billPayInfo.fromAccount.billAccountType) === 'depositAccount' &&
75
76
  (transaction === null || transaction === void 0 ? void 0 : transaction.billPayInfo.fromAccount.billAccountId) != null
76
77
  ? (0, depositAccountSelector_1.getDepositAccountByDepositAccountId)(depositAccountState, transaction === null || transaction === void 0 ? void 0 : transaction.billPayInfo.fromAccount.billAccountId)
@@ -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', 'charge_card_setup');
8
+ const chargeCardSetupViewDetails = (0, setupViewSelector_1.getCommonSetupViewDetails)(state, companyId, 'charge_cards', 'spend_management_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;
@@ -13,8 +13,5 @@ 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
- 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>;
16
+ 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 updatePlaidAccountViewAccountDetails> | ReturnType<typeof updateSetupViewLocalStoreData> | ReturnType<typeof openSnackbar> | ReturnType<typeof fetchChargeCardSetupViewSuccess> | ReturnType<typeof fetchChargeCardSetupViewFailure>;
20
17
  export declare const fetchChargeCardSetupViewEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -16,9 +16,6 @@ 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");
22
19
  const fetchChargeCardSetupViewEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(chargeCardSetUpViewReducer_1.fetchChargeCardSetupView.match), (0, operators_1.switchMap)((action) => {
23
20
  var _a;
24
21
  const { companyId, cacheOverride, refreshViewInBackground } = action.payload;
@@ -32,9 +29,9 @@ const fetchChargeCardSetupViewEpic = (actions$, state$, zeniAPI) => actions$.pip
32
29
  return zeniAPI
33
30
  .getJSON(`${zeniAPI.apiEndPoints.tenantMicroServiceBaseUrl}/1.0/companies/${companyId}?query={"view":"charge_cards_setup"}`)
34
31
  .pipe((0, operators_1.mergeMap)((response) => {
35
- var _a, _b, _c;
36
32
  if ((0, responsePayload_1.isSuccessStatus)(response) && response.data != null) {
37
33
  const allBankAccountIds = response.data.accounts.map((account) => account.account_id);
34
+ const paymentAccountIds = response.data.payment_accounts.map((paymentAccount) => paymentAccount.payment_account_id);
38
35
  const actions = [
39
36
  (0, userReducer_1.updateAllUsers)({ users: response.data.users }),
40
37
  (0, userRoleReducer_1.updateUserRoles)(response.data.user_roles),
@@ -46,19 +43,10 @@ const fetchChargeCardSetupViewEpic = (actions$, state$, zeniAPI) => actions$.pip
46
43
  (0, fileReducer_1.updateFiles)({ files: response.data.files }),
47
44
  (0, accountReducer_1.updateAccounts)(response.data.accounts, 'charge_cards'),
48
45
  (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
- }),
58
46
  (0, setupViewReducer_1.updateSetupViewLocalStoreData)({
59
47
  companyId: response.data.companies[0].company_id,
60
48
  }),
61
- (0, plaidAccountViewReducer_1.updatePlaidAccountViewAccountDetails)(allBankAccountIds, 'charge_card_setup'),
49
+ (0, plaidAccountViewReducer_1.updatePlaidAccountViewAccountDetails)(allBankAccountIds, paymentAccountIds, 'spend_management_setup'),
62
50
  (0, chargeCardSetUpViewReducer_1.fetchChargeCardSetupViewSuccess)(),
63
51
  ];
64
52
  return (0, rxjs_1.from)(actions);
@@ -74,10 +62,10 @@ const fetchChargeCardSetupViewEpic = (actions$, state$, zeniAPI) => actions$.pip
74
62
  JSON.stringify(error))))));
75
63
  }
76
64
  else {
77
- const { allBankAccountIds } = plaidAccountViewState['spend_management_setup'].accountDetails;
65
+ const { allBankAccountIds, paymentAccountIds } = plaidAccountViewState['spend_management_setup'].accountDetails;
78
66
  return (0, rxjs_1.of)((0, setupViewReducer_1.updateSetupViewLocalStoreData)({
79
67
  companyId,
80
- }), (0, plaidAccountViewReducer_1.updatePlaidAccountViewAccountDetails)(allBankAccountIds, 'charge_card_setup'), (0, chargeCardSetUpViewReducer_1.fetchChargeCardSetupViewSuccess)());
68
+ }), (0, plaidAccountViewReducer_1.updatePlaidAccountViewAccountDetails)(allBankAccountIds, paymentAccountIds, 'spend_management_setup'), (0, chargeCardSetUpViewReducer_1.fetchChargeCardSetupViewSuccess)());
81
69
  }
82
70
  }));
83
71
  exports.fetchChargeCardSetupViewEpic = fetchChargeCardSetupViewEpic;
@@ -77,10 +77,6 @@ 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;
84
80
  export declare function getBusinessVerificationDetails(state: RootState, companyId: ID): BusinessVerificationDetails;
85
81
  export declare const getCompanyAndIdentityDetails: (state: RootState, companyId: ID, companyAndIdentityDetails: CompanyAndIdentityDetails) => CompanyAndOfficerLocalData;
86
82
  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.getPrimaryAccountForTheProduct = exports.getCommonSetupViewDetails = void 0;
3
+ exports.mapPaymentAccToFundingAccount = exports.mapDepositAccToFundingAccount = exports.getAllFundingAccounts = exports.getCompanyAndIdentityDetails = exports.getBusinessVerificationDetails = 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");
@@ -10,72 +10,62 @@ const paymentAccountSelector_1 = require("../../../entity/paymentAccount/payment
10
10
  const depositAccountSelector_1 = require("../../../entity/depositAccount/depositAccountSelector");
11
11
  const depositAccountPayload_1 = require("../../../entity/depositAccount/depositAccountPayload");
12
12
  function getCommonSetupViewDetails(state, companyId, setupViewType, plaidAccountKeyType) {
13
- var _a, _b, _c;
13
+ var _a, _b, _c, _d;
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 } = accountDetails;
17
+ const { allBankAccountIds, primaryFundingAccount } = 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)(setupViewType === 'zeni_accounts' ? [] : depositAccounts, // only external acct can be made primary for accounts setup
24
- paymentAccounts, false);
23
+ const allFundingAccounts = (0, exports.getAllFundingAccounts)(depositAccounts, paymentAccounts, false);
25
24
  const companyView = (0, getCompanyView_1.getCompanyView)(state, companyId, []);
26
25
  const companyBillPayInfo = companyView === null || companyView === void 0 ? void 0 : companyView.company.company.companyBillPayInfo;
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);
26
+ let paymentAccount;
27
+ let primaryAccount = undefined;
28
+ if (((_d = accountDetails.paymentAccountIds) === null || _d === void 0 ? void 0 : _d.length) > 0) {
29
+ // paymentAccount is used for products other than reimbursement
30
+ const paymentAccountId = accountDetails.paymentAccountIds[0];
31
+ paymentAccount = (0, paymentAccountSelector_1.getPaymentAccountByPaymentAccountId)(paymentAccountState, paymentAccountId);
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
+ }
33
47
  }
34
48
  }
35
- else if ((primaryAccount === null || primaryAccount === void 0 ? void 0 : primaryAccount.accountType) === 'paymentAccount') {
36
- const paymentAccount = (0, paymentAccountSelector_1.getPaymentAccountByPaymentAccountId)(paymentAccountState, primaryAccount.accountId);
49
+ else if ((paymentAccountIds === null || paymentAccountIds === void 0 ? void 0 : paymentAccountIds.length) > 0) {
50
+ const paymentAccountId = paymentAccountIds[0];
51
+ const paymentAccount = (0, paymentAccountSelector_1.getPaymentAccountByPaymentAccountId)(paymentAccountState, paymentAccountId);
37
52
  if (paymentAccount != null) {
38
- primaryFundingAccount = (0, exports.mapPaymentAccToFundingAccount)(paymentAccount);
53
+ primaryAccount = (0, exports.mapPaymentAccToFundingAccount)(paymentAccount);
39
54
  }
40
55
  }
41
56
  return {
42
57
  companyBillPayInfo,
43
- primaryFundingAccount,
58
+ paymentAccount,
59
+ primaryFundingAccount: primaryAccount,
44
60
  allFundingAccounts,
45
61
  allBankAccounts,
46
62
  plaidConnectionDetails,
47
- accountUpdateStatus: accountDetails.cashAccountUpdateStatus,
63
+ accountUpdateStatus: accountDetails.updateStatus,
48
64
  accountFetchStatus: accountDetails.fetchStatus,
49
65
  updateStatus,
50
66
  };
51
67
  }
52
68
  exports.getCommonSetupViewDetails = getCommonSetupViewDetails;
53
- function getPrimaryAccountForTheProduct(state, companyId, setupViewType) {
54
- const companyView = (0, getCompanyView_1.getCompanyView)(state, companyId, []);
55
- if (companyView == null) {
56
- return undefined;
57
- }
58
- let primaryFundingAccount;
59
- if (setupViewType === 'bill_pay') {
60
- primaryFundingAccount =
61
- companyView.company.company.companyBillPayInfo.primaryFundingAccount;
62
- }
63
- else if (setupViewType === 'reimbursement') {
64
- primaryFundingAccount =
65
- companyView.company.company.companyReimbursementInfo
66
- .primaryFundingAccount;
67
- }
68
- else if (setupViewType === 'charge_cards') {
69
- primaryFundingAccount =
70
- companyView.company.company.companyChargeCardInfo.primaryFundingAccount;
71
- }
72
- else if (setupViewType === 'zeni_accounts') {
73
- primaryFundingAccount =
74
- companyView.company.company.companyZeniAccountInfo.primaryFundingAccount;
75
- }
76
- return primaryFundingAccount;
77
- }
78
- exports.getPrimaryAccountForTheProduct = getPrimaryAccountForTheProduct;
79
69
  function getBusinessVerificationDetails(state, companyId) {
80
70
  const { setupViewState } = state;
81
71
  const { companyDetails, companyOfficerUpdateStatus, primaryContactDetails, updateStatus, } = setupViewState;
@@ -24,10 +24,11 @@ const getPaymentAccountsEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0,
24
24
  .getJSON(`${zeniAPI.apiEndPoints.payMicroServiceBaseUrl}/1.0/payment-accounts?query=${encodeURIComponent(JSON.stringify(queryParams))}`)
25
25
  .pipe((0, operators_1.mergeMap)((response) => {
26
26
  if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
27
+ const paymentAccountIds = response.data.payment_accounts.map((paymentAccount) => paymentAccount.payment_account_id);
27
28
  const actions = [
28
29
  (0, accountReducer_1.updateAccounts)(response.data.accounts, setupViewType),
29
30
  (0, paymentAccountReducer_1.updatePaymentAccounts)(response.data.payment_accounts),
30
- (0, plaidAccountViewReducer_1.getPaymentAccountsSuccess)(plaidAccountKeyType),
31
+ (0, plaidAccountViewReducer_1.getPaymentAccountsSuccess)(paymentAccountIds, plaidAccountKeyType),
31
32
  ];
32
33
  return (0, rxjs_1.from)(actions);
33
34
  }
@@ -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 { plaidAccountKeyType, accountId, depositAccountId } = action.payload;
10
+ const { 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,16 +15,17 @@ 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);
18
19
  const actions = [
19
20
  (0, depositAccountReducer_1.updateDepositAccounts)((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.deposit_accounts) !== null && _b !== void 0 ? _b : []),
20
- (0, plaidAccountViewReducer_1.updateMappedCashAccountSuccess)(plaidAccountKeyType),
21
+ (0, plaidAccountViewReducer_1.updateMappedCashAccountSuccess)(depositAccountIds),
21
22
  ];
22
23
  return (0, rxjs_1.from)(actions);
23
24
  }
24
25
  else {
25
- return (0, rxjs_1.of)((0, plaidAccountViewReducer_1.updateMappedCashAccountFailure)(plaidAccountKeyType, response.status));
26
+ return (0, rxjs_1.of)((0, plaidAccountViewReducer_1.updateMappedCashAccountFailure)(response.status));
26
27
  }
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' +
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' +
28
29
  JSON.stringify(error))))));
29
30
  }));
30
31
  exports.updateMappedCashAccountEpic = updateMappedCashAccountEpic;
@@ -15,10 +15,11 @@ 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);
18
19
  const actions = [
19
20
  (0, accountReducer_1.updateAccounts)(response.data.accounts, setupViewType),
20
21
  (0, paymentAccountReducer_1.updatePaymentAccounts)(response.data.payment_accounts),
21
- (0, plaidAccountViewReducer_1.updatePaymentAccountSuccess)(plaidAccountKeyType),
22
+ (0, plaidAccountViewReducer_1.updatePaymentAccountSuccess)(paymentAccountIds, plaidAccountKeyType),
22
23
  ];
23
24
  return (0, rxjs_1.from)(actions);
24
25
  }
@@ -16,10 +16,11 @@ 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);
19
20
  const actions = [
20
21
  (0, accountReducer_1.updateAccounts)(response.data.accounts, setupViewType),
21
22
  (0, paymentAccountReducer_1.updatePaymentAccounts)(response.data.payment_accounts),
22
- (0, plaidAccountViewReducer_1.updatePaymentAccountStatusSuccess)(linkTokenType, plaidAccountKeyType),
23
+ (0, plaidAccountViewReducer_1.updatePaymentAccountStatusSuccess)(paymentAccountIds, linkTokenType, plaidAccountKeyType),
23
24
  ];
24
25
  return (0, rxjs_1.from)(actions);
25
26
  }
@@ -8,54 +8,32 @@ 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");
11
12
  const updatePrimaryFundingAccountEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(plaidAccountViewReducer_1.updatePrimaryFundingAccount.match), (0, operators_1.mergeMap)((action) => {
12
- const { companyId, plaidAccountKeyType, accountId, accountType } = action.payload;
13
+ const { companyId, accountId, accountType } = action.payload;
13
14
  return zeniAPI
14
- .putAndGetJSON(`${zeniAPI.apiEndPoints.tenantMicroServiceBaseUrl}/1.0/companies/${companyId}`, toPayload(plaidAccountKeyType, accountId, accountType))
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
+ })
15
19
  .pipe((0, operators_1.mergeMap)((response) => {
16
- var _a;
20
+ var _a, _b, _c;
17
21
  if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
18
22
  const actions = [
19
23
  (0, companyReducer_1.updateCompanies)({
20
24
  payload: (_a = response.data.companies) !== null && _a !== void 0 ? _a : [],
21
25
  schema: {},
22
26
  }),
23
- (0, plaidAccountViewReducer_1.updatePrimaryFundingAccountSuccess)(plaidAccountKeyType),
27
+ (0, plaidAccountViewReducer_1.updatePrimaryFundingAccountSuccess)((_b = response.data.companies[0].reimbursement_info
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 : ''))),
24
30
  ];
25
31
  return (0, rxjs_1.from)(actions);
26
32
  }
27
33
  else {
28
- return (0, rxjs_1.of)((0, plaidAccountViewReducer_1.updatePrimaryFundingAccountFailure)(plaidAccountKeyType, response.status));
34
+ return (0, rxjs_1.of)((0, plaidAccountViewReducer_1.updatePrimaryFundingAccountFailure)(response.status));
29
35
  }
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' +
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' +
31
37
  JSON.stringify(error))))));
32
38
  }));
33
39
  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
- }
@@ -9,6 +9,5 @@ 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
- 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>;
12
+ 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>;
14
13
  export declare const establishPlaidConnectionEpic: (actions$: ActionsObservable<ActionType>, state: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;