@zeniai/client-epic-state 5.1.13 → 5.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/common/aiCfo/aiCfoSuggestedQuestionsPageContext.d.ts +1 -1
- package/lib/commonStateTypes/amount.d.ts +0 -1
- package/lib/commonStateTypes/amount.js +1 -9
- package/lib/commonStateTypes/animations.d.ts +1 -1
- package/lib/commonStateTypes/animations.js +0 -1
- package/lib/commonStateTypes/workingDayHelper.d.ts +0 -9
- package/lib/commonStateTypes/workingDayHelper.js +1 -28
- package/lib/entity/aiCfo/aiCfoPayload.d.ts +5 -63
- package/lib/entity/aiCfo/aiCfoReducer.d.ts +2 -23
- package/lib/entity/aiCfo/aiCfoReducer.js +9 -249
- package/lib/entity/aiCfo/aiCfoSelector.d.ts +1 -4
- package/lib/entity/aiCfo/aiCfoSelector.js +1 -19
- package/lib/entity/aiCfo/aiCfoState.d.ts +4 -97
- package/lib/entity/aiCfo/aiCfoState.js +1 -20
- package/lib/entity/approvalRule/approvalRulePayload.d.ts +5 -34
- package/lib/entity/approvalRule/approvalRulePayload.js +10 -149
- package/lib/entity/approvalRule/approvalRuleSelector.d.ts +1 -25
- package/lib/entity/approvalRule/approvalRuleSelector.js +0 -40
- package/lib/entity/approvalRule/approvalRuleState.d.ts +7 -59
- package/lib/entity/company/companyPayload.d.ts +0 -4
- package/lib/entity/company/companyPayload.js +0 -6
- package/lib/entity/company/companyStateTypes.d.ts +0 -7
- package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +0 -1
- package/lib/entity/jeSchedules/jeSchedulesPayload.js +0 -19
- package/lib/entity/jeSchedules/jeSchedulesState.d.ts +0 -2
- package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +1 -1
- package/lib/entity/monthEndCloseChecks/monthEndCloseChecksState.d.ts +1 -1
- package/lib/entity/paymentAccount/paymentAccountSelector.d.ts +0 -1
- package/lib/entity/paymentAccount/paymentAccountSelector.js +0 -9
- package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
- package/lib/entity/snackbar/snackbarTypes.js +0 -5
- package/lib/entity/task/taskPayload.d.ts +1 -3
- package/lib/entity/task/taskPayload.js +0 -2
- package/lib/entity/task/taskState.d.ts +0 -2
- package/lib/entity/tenant/clearAllEpic.d.ts +2 -8
- package/lib/entity/tenant/clearAllEpic.js +0 -12
- package/lib/entity/tenant/epic/deleteConnectionEpic.d.ts +1 -1
- package/lib/entity/tenant/epic/saveAPIKeyConnectionEpic.d.ts +1 -1
- package/lib/entity/tenant/epic/saveConnectorCredentialsEpic.d.ts +3 -3
- package/lib/entity/tenant/epic/saveOAuthConnectionEpic.d.ts +1 -1
- package/lib/entity/tenant/tenantPayload.d.ts +0 -1
- package/lib/entity/tenant/tenantReducer.d.ts +25 -38
- package/lib/entity/tenant/tenantReducer.js +10 -70
- package/lib/entity/tenant/tenantState.d.ts +0 -1
- package/lib/entity/transaction/payloadTypes/transactionPayload.js +2 -14
- package/lib/epic.d.ts +3 -31
- package/lib/epic.js +3 -32
- package/lib/esm/commonStateTypes/amount.js +0 -7
- package/lib/esm/commonStateTypes/animations.js +0 -1
- package/lib/esm/commonStateTypes/workingDayHelper.js +0 -26
- package/lib/esm/entity/aiCfo/aiCfoReducer.js +9 -249
- package/lib/esm/entity/aiCfo/aiCfoSelector.js +1 -17
- package/lib/esm/entity/aiCfo/aiCfoState.js +0 -17
- package/lib/esm/entity/approvalRule/approvalRulePayload.js +10 -149
- package/lib/esm/entity/approvalRule/approvalRuleSelector.js +0 -35
- package/lib/esm/entity/company/companyPayload.js +0 -6
- package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +0 -19
- package/lib/esm/entity/paymentAccount/paymentAccountSelector.js +0 -8
- package/lib/esm/entity/snackbar/snackbarTypes.js +0 -5
- package/lib/esm/entity/task/taskPayload.js +0 -2
- package/lib/esm/entity/tenant/clearAllEpic.js +0 -12
- package/lib/esm/entity/tenant/tenantReducer.js +8 -68
- package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +2 -14
- package/lib/esm/epic.js +3 -32
- package/lib/esm/index.js +25 -66
- package/lib/esm/reducer.js +0 -18
- package/lib/esm/view/aiCfoView/aiCfoViewReducer.js +3 -6
- package/lib/esm/view/aiCfoView/epics/createSessionAndSubmitEpic.js +2 -5
- package/lib/esm/view/aiCfoView/epics/createSessionEpic.js +1 -2
- package/lib/esm/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +2 -12
- package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewReducer.js +11 -39
- package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewSelector.js +4 -14
- package/lib/esm/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +28 -37
- package/lib/esm/view/companyView/epic/companyPassport/updateCapitalizationAccountThresholdEpic.js +3 -3
- package/lib/esm/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
- package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +1 -1
- package/lib/esm/view/fileView/epic/deleteFileEpic.js +2 -2
- package/lib/esm/view/fileView/epic/deleteFileListEpic.js +2 -2
- package/lib/esm/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewEpic.js +18 -24
- package/lib/esm/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewLocalStoreDataEpic.js +17 -29
- package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewReducer.js +51 -223
- package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewSelector.js +18 -36
- package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewState.js +6 -45
- package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +2 -22
- package/lib/esm/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +0 -14
- package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.js +12 -109
- package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/deleteBillPayApprovalRuleEpic.js +2 -10
- package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPaySetupApproverViewEpic.js +4 -8
- package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/initializeBillPaySetupApproverViewUpdateDataEpic.js +7 -11
- package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/saveBillPaySetupApproverViewUpdatesEpic.js +4 -13
- package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +16 -144
- package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +4 -60
- package/lib/esm/view/spendManagement/billPay/editBillView/epics/fetchEditBillDetailPageEpic.js +2 -8
- package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +0 -25
- package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +2 -2
- package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +4 -42
- package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +0 -35
- package/lib/esm/view/spendManagement/commonSetup/setupViewReducer.js +52 -106
- package/lib/esm/view/spendManagement/commonSetup/setupViewSelector.js +1 -6
- package/lib/esm/view/spendManagement/reimbursement/editRemiView/epics/fetchEditRemiDetailPageEpic.js +1 -5
- package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/deleteRemiApprovalRuleEpic.js +2 -10
- package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/fetchRemiSetupApproverViewEpic.js +2 -8
- package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/initializeRemiSetupApproverViewUpdateDataEpic.js +7 -11
- package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/saveRemiSetupApproverViewUpdatesEpic.js +4 -13
- package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js +11 -80
- package/lib/esm/view/transactionDetail/epics/saveTransactionHelper.js +0 -1
- package/lib/esm/view/transactionDetail/epics/updateTransactionDetailEpic.js +0 -6
- package/lib/esm/view/transactionDetail/transactionDetailLocalDataHelper.js +1 -7
- package/lib/index.d.ts +32 -82
- package/lib/index.js +34 -266
- package/lib/reducer.d.ts +0 -18
- package/lib/reducer.js +0 -18
- package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +2 -11
- package/lib/view/aiCfoView/aiCfoViewReducer.js +3 -6
- package/lib/view/aiCfoView/epics/createSessionAndSubmitEpic.js +2 -5
- package/lib/view/aiCfoView/epics/createSessionEpic.js +1 -2
- package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.d.ts +1 -8
- package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +2 -12
- package/lib/view/companyTaskManagerView/companyTaskManagerViewPayload.d.ts +11 -19
- package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +5 -11
- package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.js +12 -40
- package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.d.ts +0 -2
- package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.js +3 -13
- package/lib/view/companyTaskManagerView/companyTaskManagerViewState.d.ts +3 -11
- package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.d.ts +3 -1
- package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +28 -37
- package/lib/view/companyView/epic/companyPassport/updateCapitalizationAccountThresholdEpic.d.ts +1 -1
- package/lib/view/companyView/epic/companyPassport/updateCapitalizationAccountThresholdEpic.js +2 -2
- package/lib/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
- package/lib/view/companyView/types/cockpitTypes.d.ts +2 -3
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
- package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +1 -1
- package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.d.ts +1 -1
- package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +1 -1
- package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +1 -1
- package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +1 -1
- package/lib/view/fileView/epic/deleteFileEpic.js +1 -1
- package/lib/view/fileView/epic/deleteFileListEpic.js +1 -1
- package/lib/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewEpic.js +18 -24
- package/lib/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewLocalStoreDataEpic.d.ts +2 -2
- package/lib/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewLocalStoreDataEpic.js +15 -27
- package/lib/view/onboardingView/customerView/onboardingCustomerViewPayload.d.ts +0 -3
- package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.d.ts +5 -44
- package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.js +52 -225
- package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.d.ts +1 -6
- package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.js +18 -39
- package/lib/view/onboardingView/customerView/onboardingCustomerViewState.d.ts +8 -53
- package/lib/view/onboardingView/customerView/onboardingCustomerViewState.js +7 -47
- package/lib/view/people/peopleTypes.d.ts +1 -1
- package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
- package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.d.ts +1 -8
- package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +1 -21
- package/lib/view/spendManagement/autotransferRules/autoTransferRulesState.d.ts +0 -22
- package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.d.ts +0 -7
- package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +0 -14
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.d.ts +3 -14
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.js +13 -110
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewState.d.ts +0 -16
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/deleteBillPayApprovalRuleEpic.js +2 -10
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPaySetupApproverViewEpic.js +4 -8
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/initializeBillPaySetupApproverViewUpdateDataEpic.js +6 -10
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/saveBillPaySetupApproverViewUpdatesEpic.js +3 -12
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.d.ts +1 -59
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +17 -146
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonState.d.ts +5 -31
- package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.d.ts +1 -8
- package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +4 -60
- package/lib/view/spendManagement/billPay/editBillView/epics/fetchEditBillDetailPageEpic.js +2 -8
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.d.ts +0 -14
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +1 -27
- package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.d.ts +2 -2
- package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +1 -1
- package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.d.ts +2 -12
- package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +5 -43
- package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.d.ts +0 -7
- package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +1 -42
- package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardState.d.ts +0 -5
- package/lib/view/spendManagement/commonSetup/setupViewReducer.d.ts +2 -28
- package/lib/view/spendManagement/commonSetup/setupViewReducer.js +53 -107
- package/lib/view/spendManagement/commonSetup/setupViewSelector.d.ts +2 -7
- package/lib/view/spendManagement/commonSetup/setupViewSelector.js +1 -6
- package/lib/view/spendManagement/commonSetup/setupViewState.d.ts +0 -19
- package/lib/view/spendManagement/reimbursement/editRemiView/epics/fetchEditRemiDetailPageEpic.js +1 -5
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/deleteRemiApprovalRuleEpic.js +2 -10
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/fetchRemiSetupApproverViewEpic.js +2 -8
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/initializeRemiSetupApproverViewUpdateDataEpic.js +6 -10
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/saveRemiSetupApproverViewUpdatesEpic.js +3 -12
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.d.ts +3 -14
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js +12 -81
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewState.d.ts +0 -12
- package/lib/view/taskManager/taskListView/taskList.d.ts +3 -3
- package/lib/view/taskManager/taskListView/taskListReducer.d.ts +1 -1
- package/lib/view/transactionDetail/epics/saveTransactionHelper.js +0 -1
- package/lib/view/transactionDetail/epics/updateTransactionDetailEpic.js +0 -6
- package/lib/view/transactionDetail/journalEntryLinesViewModel.d.ts +1 -1
- package/lib/view/transactionDetail/transactionDetailLocalDataHelper.js +1 -7
- package/lib/view/transactionDetail/transactionDetailState.d.ts +0 -1
- package/lib/zeniAPI.d.ts +0 -1
- package/package.json +4 -6
- package/lib/entity/approvalRule/approvalRuleConflict.d.ts +0 -56
- package/lib/entity/approvalRule/approvalRuleConflict.js +0 -77
- package/lib/entity/cardPolicy/cardPolicyPayload.d.ts +0 -277
- package/lib/entity/cardPolicy/cardPolicyPayload.js +0 -143
- package/lib/entity/cardPolicy/cardPolicyReducer.d.ts +0 -19
- package/lib/entity/cardPolicy/cardPolicyReducer.js +0 -175
- package/lib/entity/cardPolicy/cardPolicySelector.d.ts +0 -32
- package/lib/entity/cardPolicy/cardPolicySelector.js +0 -99
- package/lib/entity/cardPolicy/cardPolicyState.d.ts +0 -205
- package/lib/entity/cardPolicy/cardPolicyState.js +0 -14
- package/lib/entity/cardPolicy/extractPolicyDocumentEpic.d.ts +0 -18
- package/lib/entity/cardPolicy/extractPolicyDocumentEpic.js +0 -68
- package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.d.ts +0 -26
- package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +0 -47
- package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.d.ts +0 -25
- package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +0 -39
- package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.d.ts +0 -24
- package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.js +0 -105
- package/lib/entity/tenant/epic/initEmailConnectOAuthEpic.d.ts +0 -21
- package/lib/entity/tenant/epic/initEmailConnectOAuthEpic.js +0 -59
- package/lib/esm/entity/approvalRule/approvalRuleConflict.js +0 -74
- package/lib/esm/entity/cardPolicy/cardPolicyPayload.js +0 -130
- package/lib/esm/entity/cardPolicy/cardPolicyReducer.js +0 -171
- package/lib/esm/entity/cardPolicy/cardPolicySelector.js +0 -75
- package/lib/esm/entity/cardPolicy/cardPolicyState.js +0 -9
- package/lib/esm/entity/cardPolicy/extractPolicyDocumentEpic.js +0 -64
- package/lib/esm/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +0 -43
- package/lib/esm/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +0 -35
- package/lib/esm/entity/cardPolicy/policyRecommendationFromUploadEpic.js +0 -101
- package/lib/esm/entity/tenant/epic/initEmailConnectOAuthEpic.js +0 -55
- package/lib/esm/view/companyTaskManagerView/epics/fetchCockpitContextEpic.js +0 -38
- package/lib/esm/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js +0 -16
- package/lib/esm/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.js +0 -40
- package/lib/esm/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.js +0 -29
- package/lib/esm/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.js +0 -40
- package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/reorderBillPayApprovalRulesEpic.js +0 -54
- package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.js +0 -29
- package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.js +0 -78
- package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.js +0 -49
- package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.js +0 -47
- package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.js +0 -32
- package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.js +0 -32
- package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.js +0 -54
- package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.js +0 -92
- package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.js +0 -212
- package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.js +0 -10
- package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.js +0 -23
- package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.js +0 -36
- package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.js +0 -27
- package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.js +0 -28
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +0 -52
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +0 -22
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +0 -1
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +0 -36
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +0 -39
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +0 -34
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +0 -71
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +0 -21
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +0 -1
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +0 -38
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +0 -289
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +0 -109
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +0 -44
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +0 -111
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +0 -25
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +0 -363
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +0 -36
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +0 -19
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +0 -6
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +0 -119
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +0 -154
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +0 -22
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +0 -1
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +0 -49
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +0 -140
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +0 -20
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +0 -100
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +0 -96
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +0 -59
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +0 -24
- package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +0 -1
- package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +0 -34
- package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +0 -57
- package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +0 -35
- package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +0 -62
- package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +0 -44
- package/lib/esm/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.js +0 -58
- package/lib/esm/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.js +0 -77
- package/lib/esm/view/spendManagement/commonSetup/kycKybAutofillActions.js +0 -14
- package/lib/esm/view/spendManagement/commonSetup/kycKybParseMapper.js +0 -221
- package/lib/esm/view/spendManagement/commonSetup/types/kycKybAutofill.js +0 -41
- package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/reorderRemiApprovalRulesEpic.js +0 -61
- package/lib/view/companyTaskManagerView/epics/fetchCockpitContextEpic.d.ts +0 -10
- package/lib/view/companyTaskManagerView/epics/fetchCockpitContextEpic.js +0 -42
- package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.d.ts +0 -6
- package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js +0 -20
- package/lib/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.d.ts +0 -7
- package/lib/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.js +0 -44
- package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.d.ts +0 -8
- package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.js +0 -33
- package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.d.ts +0 -9
- package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.js +0 -44
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/reorderBillPayApprovalRulesEpic.d.ts +0 -23
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/reorderBillPayApprovalRulesEpic.js +0 -58
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.d.ts +0 -47
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.js +0 -34
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.d.ts +0 -23
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.js +0 -82
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.d.ts +0 -40
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.js +0 -53
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.d.ts +0 -37
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.js +0 -53
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.d.ts +0 -14
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.js +0 -36
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.d.ts +0 -7
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.js +0 -36
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.d.ts +0 -56
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.js +0 -60
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.d.ts +0 -22
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.js +0 -96
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.d.ts +0 -59
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.js +0 -217
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.d.ts +0 -122
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.js +0 -13
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.d.ts +0 -7
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.js +0 -27
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.d.ts +0 -9
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.js +0 -40
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.d.ts +0 -7
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.js +0 -31
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.d.ts +0 -15
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.js +0 -32
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.d.ts +0 -14
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +0 -56
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.d.ts +0 -15
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +0 -28
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.d.ts +0 -8
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +0 -2
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.d.ts +0 -8
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +0 -40
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.d.ts +0 -8
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +0 -43
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.d.ts +0 -8
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +0 -38
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.d.ts +0 -15
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +0 -75
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.d.ts +0 -15
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +0 -27
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.d.ts +0 -7
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +0 -2
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.d.ts +0 -8
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +0 -42
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.d.ts +0 -8
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +0 -294
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.d.ts +0 -8
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +0 -113
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.d.ts +0 -9
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +0 -48
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.d.ts +0 -8
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +0 -115
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.d.ts +0 -13
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +0 -29
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.d.ts +0 -14
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +0 -369
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.d.ts +0 -6
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +0 -40
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.d.ts +0 -7
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +0 -26
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.d.ts +0 -116
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +0 -10
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.d.ts +0 -33
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +0 -126
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.d.ts +0 -52
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +0 -158
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.d.ts +0 -11
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +0 -31
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.d.ts +0 -12
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +0 -2
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.d.ts +0 -9
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +0 -53
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.d.ts +0 -10
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +0 -144
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.d.ts +0 -7
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +0 -24
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.d.ts +0 -11
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +0 -104
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.d.ts +0 -22
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +0 -100
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.d.ts +0 -8
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +0 -63
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.d.ts +0 -3
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +0 -28
- package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.d.ts +0 -34
- package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +0 -2
- package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.d.ts +0 -7
- package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +0 -38
- package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.d.ts +0 -12
- package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +0 -61
- package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.d.ts +0 -9
- package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +0 -39
- package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.d.ts +0 -11
- package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +0 -66
- package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.d.ts +0 -3
- package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +0 -48
- package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.d.ts +0 -28
- package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.js +0 -62
- package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.d.ts +0 -9
- package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.js +0 -81
- package/lib/view/spendManagement/commonSetup/kycKybAutofillActions.d.ts +0 -24
- package/lib/view/spendManagement/commonSetup/kycKybAutofillActions.js +0 -17
- package/lib/view/spendManagement/commonSetup/kycKybParseMapper.d.ts +0 -29
- package/lib/view/spendManagement/commonSetup/kycKybParseMapper.js +0 -229
- package/lib/view/spendManagement/commonSetup/types/kycKybAutofill.d.ts +0 -154
- package/lib/view/spendManagement/commonSetup/types/kycKybAutofill.js +0 -46
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/reorderRemiApprovalRulesEpic.d.ts +0 -14
- package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/reorderRemiApprovalRulesEpic.js +0 -65
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { of } from 'rxjs';
|
|
2
|
-
import { catchError, filter, mergeMap, switchMap, takeUntil, } from 'rxjs/operators';
|
|
3
|
-
import { createZeniAPIStatus, isSuccessStatus } from '../../responsePayload';
|
|
4
|
-
import { clearPolicyDocumentExtraction, extractPolicyDocument, updatePolicyDocumentExtractionFailure, updatePolicyDocumentExtractionSuccess, } from './cardPolicyReducer';
|
|
5
|
-
/**
|
|
6
|
-
* Build a multipart `FormData` body for `POST /cards/1.0/policy-documents/extract`.
|
|
7
|
-
*
|
|
8
|
-
* Uses the same `attachment_file_<i>` / `attachment_json_<i>` field-naming
|
|
9
|
-
* convention as the charge-card receipt upload (`uploadReceipts.ts` in
|
|
10
|
-
* `web-components`) so backends that already support that wire shape
|
|
11
|
-
* accept this endpoint without bespoke parsing.
|
|
12
|
-
*/
|
|
13
|
-
const buildPolicyDocumentFormData = (files) => {
|
|
14
|
-
const data = new FormData();
|
|
15
|
-
files.forEach((file, index) => {
|
|
16
|
-
data.append(`attachment_file_${index}`, file);
|
|
17
|
-
const attachmentJson = JSON.stringify({
|
|
18
|
-
file_name: file.name,
|
|
19
|
-
content_type: file.type,
|
|
20
|
-
size: file.size,
|
|
21
|
-
});
|
|
22
|
-
data.append(`attachment_json_${index}`, attachmentJson);
|
|
23
|
-
});
|
|
24
|
-
return data;
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Listens for `extractPolicyDocument`, POSTs the file(s) as multipart
|
|
28
|
-
* form-data to the cards micro-service's policy-document extract endpoint,
|
|
29
|
-
* and dispatches success / failure into the entity slice.
|
|
30
|
-
*
|
|
31
|
-
* Consumed by:
|
|
32
|
-
* - Manual `CardPolicyCreatePage` (read result via
|
|
33
|
-
* `getExtractedCardPolicyRules` then pre-fill the RHF form via
|
|
34
|
-
* `applyExtractedPolicyRulesToFormValues` from `@zeniai/web-components`).
|
|
35
|
-
* - (Future) AI CFO upload surface — same action + selector contract.
|
|
36
|
-
*/
|
|
37
|
-
export const extractPolicyDocumentEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(extractPolicyDocument.match),
|
|
38
|
-
// `switchMap` (vs `mergeMap`) cancels any in-flight extract whenever a
|
|
39
|
-
// new upload is dispatched. With `mergeMap` an older, slower response
|
|
40
|
-
// could win the race: `updatePolicyDocumentExtractionSuccess` would
|
|
41
|
-
// fire with stale `extractedRules` and the chained bridge epic would
|
|
42
|
-
// pair them with whatever `aiCfoAnswerId` / `aiCfoChatSessionId` are
|
|
43
|
-
// currently in state — recommending the old file's rules against the
|
|
44
|
-
// wrong AI CFO answer.
|
|
45
|
-
switchMap((action) => {
|
|
46
|
-
const formData = buildPolicyDocumentFormData(action.payload.files);
|
|
47
|
-
return zeniAPI
|
|
48
|
-
.postFormData(`${zeniAPI.apiEndPoints.cardMicroServiceBaseUrl}/1.0/policy-documents/extract`, formData)
|
|
49
|
-
.pipe(mergeMap((response) => {
|
|
50
|
-
if (isSuccessStatus(response) &&
|
|
51
|
-
response.data != null &&
|
|
52
|
-
response.data.extracted_rules != null) {
|
|
53
|
-
return of(updatePolicyDocumentExtractionSuccess(response.data.extracted_rules));
|
|
54
|
-
}
|
|
55
|
-
return of(updatePolicyDocumentExtractionFailure(response.status));
|
|
56
|
-
}), catchError((error) => of(updatePolicyDocumentExtractionFailure(createZeniAPIStatus('Unexpected Error', 'Extract card-policy document REST API call errored out' +
|
|
57
|
-
JSON.stringify(error))))),
|
|
58
|
-
// `clearPolicyDocumentExtraction` (e.g. user clicks the "× Policy.pdf"
|
|
59
|
-
// pill) tears down the in-flight extract subscription, so a late
|
|
60
|
-
// response can't re-flip `policyDocumentExtraction.fetchState` back
|
|
61
|
-
// to `Completed` or repopulate `extractedRules` after the user
|
|
62
|
-
// already dismissed the upload.
|
|
63
|
-
takeUntil(actions$.pipe(filter(clearPolicyDocumentExtraction.match))));
|
|
64
|
-
}));
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { of } from 'rxjs';
|
|
2
|
-
import { catchError, filter, switchMap } from 'rxjs/operators';
|
|
3
|
-
import { createZeniAPIStatus, isSuccessStatus } from '../../responsePayload';
|
|
4
|
-
import { fetchCardPolicyVendorOptions, updateCardPolicyVendorOptions, updateCardPolicyVendorOptionsFailure, } from './cardPolicyReducer';
|
|
5
|
-
const buildQuery = (searchString) => ({
|
|
6
|
-
view: 'vendor_list',
|
|
7
|
-
page_token: null,
|
|
8
|
-
sort_by: 'year_to_date_spend',
|
|
9
|
-
sort_order: 'desc',
|
|
10
|
-
search_text: searchString,
|
|
11
|
-
vendor_name: searchString,
|
|
12
|
-
});
|
|
13
|
-
/**
|
|
14
|
-
* Card-policy vendor search.
|
|
15
|
-
*
|
|
16
|
-
* Listens for `fetchCardPolicyVendorOptions` and hits the same
|
|
17
|
-
* `/accounting/1.0/vendors` endpoint the Vendors-tab uses, but writes
|
|
18
|
-
* results onto the dedicated `cardPolicyState.vendorSearch` slice — no
|
|
19
|
-
* fan-out to the global `vendor` / `account` / `class` / `vendorList`
|
|
20
|
-
* entities. That isolation is important: the user may be configuring a
|
|
21
|
-
* card policy in parallel with browsing the Vendors tab, and we don't
|
|
22
|
-
* want either flow to clobber the other's list state.
|
|
23
|
-
*
|
|
24
|
-
* Uses `switchMap` so the latest typed search wins — earlier in-flight
|
|
25
|
-
* requests are abandoned, which is the right semantics for a
|
|
26
|
-
* search-as-you-type UX.
|
|
27
|
-
*
|
|
28
|
-
* Consumers:
|
|
29
|
-
* - Manual `CardPolicyCreate / EditScreen`
|
|
30
|
-
* - AI CFO `CardPolicyInteractiveForm` (vendor step)
|
|
31
|
-
*/
|
|
32
|
-
export const fetchCardPolicyVendorOptionsEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchCardPolicyVendorOptions.match), switchMap((action) => {
|
|
33
|
-
const query = buildQuery(action.payload.searchString);
|
|
34
|
-
const apiUrl = `${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/vendors` +
|
|
35
|
-
`?query=${encodeURIComponent(JSON.stringify(query))}`;
|
|
36
|
-
return zeniAPI.getJSON(apiUrl).pipe(switchMap((response) => {
|
|
37
|
-
if (isSuccessStatus(response) && response.data != null) {
|
|
38
|
-
return of(updateCardPolicyVendorOptions(response.data));
|
|
39
|
-
}
|
|
40
|
-
return of(updateCardPolicyVendorOptionsFailure(response.status));
|
|
41
|
-
}), catchError((error) => of(updateCardPolicyVendorOptionsFailure(createZeniAPIStatus('Unexpected Error', 'Fetch card policy vendor options REST API call errored out' +
|
|
42
|
-
JSON.stringify(error))))));
|
|
43
|
-
}));
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { EMPTY, of } from 'rxjs';
|
|
2
|
-
import { filter, mergeMap } from 'rxjs/operators';
|
|
3
|
-
import { fetchCardPolicyRecommendationFromUpload, updatePolicyDocumentExtractionSuccess, } from './cardPolicyReducer';
|
|
4
|
-
/**
|
|
5
|
-
* Bridge epic — chains the AI CFO `upload`-mode flow's two API hops.
|
|
6
|
-
*
|
|
7
|
-
* The first hop (`extractPolicyDocument` → multipart POST to
|
|
8
|
-
* `policy-documents/extract`) lives on the cardPolicy slice and is
|
|
9
|
-
* shared with the manual `CardPolicyCreatePage`. The second hop
|
|
10
|
-
* (`fetchCardPolicyRecommendationFromUpload` → JSON POST to
|
|
11
|
-
* `ai-cfo/policy-recommendation-from-upload`) is AI-CFO only.
|
|
12
|
-
*
|
|
13
|
-
* The chain is gated on `policyDocumentExtraction.aiCfoAnswerId` being
|
|
14
|
-
* populated — manual callers leave it undefined, so the bridge is a
|
|
15
|
-
* silent no-op there.
|
|
16
|
-
*
|
|
17
|
-
* Splitting this off from `policyRecommendationFromUploadEpic` keeps
|
|
18
|
-
* the wizard component a pure renderer: it dispatches
|
|
19
|
-
* `extractPolicyDocument(files, answerId, chatSessionId)` once, then
|
|
20
|
-
* subscribes to `cardPolicyState` lifecycle flags to drive its
|
|
21
|
-
* "Extracting…" / "Recommending…" pill.
|
|
22
|
-
*/
|
|
23
|
-
export const policyDocumentExtractionToRecommendationBridgeEpic = (actions$, state$) => actions$.pipe(filter(updatePolicyDocumentExtractionSuccess.match), mergeMap((action) => {
|
|
24
|
-
const extraction = state$.value.cardPolicyState.policyDocumentExtraction;
|
|
25
|
-
const aiCfoAnswerId = extraction.aiCfoAnswerId;
|
|
26
|
-
const aiCfoChatSessionId = extraction.aiCfoChatSessionId;
|
|
27
|
-
const extractedRules = extraction.extractedRules;
|
|
28
|
-
if (aiCfoAnswerId == null ||
|
|
29
|
-
aiCfoChatSessionId == null ||
|
|
30
|
-
extractedRules == null) {
|
|
31
|
-
return EMPTY;
|
|
32
|
-
}
|
|
33
|
-
void action;
|
|
34
|
-
return of(fetchCardPolicyRecommendationFromUpload(aiCfoAnswerId, aiCfoChatSessionId, extractedRules));
|
|
35
|
-
}));
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { of } from 'rxjs';
|
|
2
|
-
import { catchError, filter, mergeMap, switchMap, takeUntil, } from 'rxjs/operators';
|
|
3
|
-
import { createZeniAPIStatus, isSuccessStatus } from '../../responsePayload';
|
|
4
|
-
import { updateAiCardPolicyFormDraftFromUploadPlan } from '../../view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer';
|
|
5
|
-
import { updateAiCfoAnswerCardPolicyWizardPlan } from '../aiCfo/aiCfoReducer';
|
|
6
|
-
import { clearPolicyDocumentExtraction, fetchCardPolicyRecommendationFromUpload, updatePolicyRecommendationFromUploadFailure, updatePolicyRecommendationFromUploadSuccess, } from './cardPolicyReducer';
|
|
7
|
-
/**
|
|
8
|
-
* Listens for `fetchCardPolicyRecommendationFromUpload` and POSTs the
|
|
9
|
-
* just-extracted policy rules to the AI-CFO recommendation endpoint.
|
|
10
|
-
*
|
|
11
|
-
* On success — dispatches BOTH:
|
|
12
|
-
* - `updatePolicyRecommendationFromUploadSuccess` (flips the
|
|
13
|
-
* cardPolicy slice's recommendation lifecycle to `Completed`), and
|
|
14
|
-
* - `updateAiCfoAnswerCardPolicyWizardPlan` (patches the in-flight AI
|
|
15
|
-
* CFO answer's `CardPolicyInitialData` so the wizard can advance from
|
|
16
|
-
* Step 1 → Step 2 in the upload variant).
|
|
17
|
-
*
|
|
18
|
-
* The reducer payload originally captured at kickoff (`answerId` +
|
|
19
|
-
* `chatSessionId`) re-enters via the action so the patch can find the
|
|
20
|
-
* right answer to merge into.
|
|
21
|
-
*/
|
|
22
|
-
export const policyRecommendationFromUploadEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchCardPolicyRecommendationFromUpload.match),
|
|
23
|
-
// `switchMap` (vs `mergeMap`) cancels any in-flight recommendation
|
|
24
|
-
// whenever a new upload kicks off another one. Without this an older,
|
|
25
|
-
// slower recommendation response could still resolve after a fresh
|
|
26
|
-
// extract has started — that late response would dispatch
|
|
27
|
-
// `updateAiCfoAnswerCardPolicyWizardPlan` against the *current*
|
|
28
|
-
// `answerId`/`chatSessionId` (the ones captured at its kickoff) and
|
|
29
|
-
// overwrite the wizard plan with stale draft policies from the prior
|
|
30
|
-
// document. Pairs with the matching `switchMap` in
|
|
31
|
-
// `extractPolicyDocumentEpic`.
|
|
32
|
-
switchMap((action) => {
|
|
33
|
-
const { answerId, chatSessionId, extractedRules } = action.payload;
|
|
34
|
-
const body = {
|
|
35
|
-
extracted_rules: {
|
|
36
|
-
allowed_entity: {
|
|
37
|
-
category_codes: extractedRules.allowedEntity.categoryCodes,
|
|
38
|
-
merchant_names: extractedRules.allowedEntity.merchantNames,
|
|
39
|
-
},
|
|
40
|
-
blocked_entity: {
|
|
41
|
-
category_codes: extractedRules.blockedEntity.categoryCodes,
|
|
42
|
-
merchant_names: extractedRules.blockedEntity.merchantNames,
|
|
43
|
-
},
|
|
44
|
-
confidence_score: extractedRules.confidenceScore,
|
|
45
|
-
policy_name: extractedRules.policyName,
|
|
46
|
-
required_receipt_threshold: extractedRules.requiredReceiptThreshold,
|
|
47
|
-
transaction_limit: extractedRules.transactionLimit,
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
|
-
return zeniAPI
|
|
51
|
-
.postAndGetJSON(`${zeniAPI.apiEndPoints.cardMicroServiceBaseUrl}/1.0/ai-cfo/policy-recommendation-from-upload`, body)
|
|
52
|
-
.pipe(mergeMap((response) => {
|
|
53
|
-
if (!isSuccessStatus(response) ||
|
|
54
|
-
response.data?.wizard_plan?.step_5_review == null) {
|
|
55
|
-
return of(updatePolicyRecommendationFromUploadFailure(response.status));
|
|
56
|
-
}
|
|
57
|
-
const data = response.data;
|
|
58
|
-
const review = data.wizard_plan.step_5_review;
|
|
59
|
-
const wizardPlan = {
|
|
60
|
-
step5Review: {
|
|
61
|
-
draftPolicies: (review.draft_policies ?? []).map((draft, index) => ({
|
|
62
|
-
id: `draft-${index}`,
|
|
63
|
-
name: draft.name,
|
|
64
|
-
description: draft.description ?? '',
|
|
65
|
-
mode: draft.mode,
|
|
66
|
-
allowedEntity: {
|
|
67
|
-
categoryCodes: draft.allowed_entity?.category_codes ?? [],
|
|
68
|
-
merchantNames: draft.allowed_entity?.merchant_names ?? [],
|
|
69
|
-
},
|
|
70
|
-
blockedEntity: {
|
|
71
|
-
categoryCodes: draft.blocked_entity?.category_codes ?? [],
|
|
72
|
-
merchantNames: draft.blocked_entity?.merchant_names ?? [],
|
|
73
|
-
},
|
|
74
|
-
applyToCards: draft.apply_to_cards ?? [],
|
|
75
|
-
requiredReceiptThreshold: draft.required_receipt_threshold ?? 0,
|
|
76
|
-
spendLimits: {
|
|
77
|
-
transaction: draft.spend_limits?.transaction ?? 0,
|
|
78
|
-
},
|
|
79
|
-
})),
|
|
80
|
-
groupingSource: review.grouping_source ?? 'none',
|
|
81
|
-
prompt: review.prompt ?? '',
|
|
82
|
-
},
|
|
83
|
-
};
|
|
84
|
-
const source = data.source != null
|
|
85
|
-
? {
|
|
86
|
-
confidenceScore: data.source.confidence_score,
|
|
87
|
-
fileName: data.source.file_name,
|
|
88
|
-
lowConfidenceFields: data.source.low_confidence_fields ?? [],
|
|
89
|
-
}
|
|
90
|
-
: undefined;
|
|
91
|
-
return of(updatePolicyRecommendationFromUploadSuccess(), updateAiCfoAnswerCardPolicyWizardPlan({
|
|
92
|
-
answerId,
|
|
93
|
-
chatSessionId,
|
|
94
|
-
wizardPlan,
|
|
95
|
-
source,
|
|
96
|
-
}), updateAiCardPolicyFormDraftFromUploadPlan(wizardPlan, source));
|
|
97
|
-
}), catchError((error) => of(updatePolicyRecommendationFromUploadFailure(createZeniAPIStatus('Unexpected Error', 'Policy recommendation from upload REST API call errored out' +
|
|
98
|
-
JSON.stringify(error))))),
|
|
99
|
-
// Guards the user-dismissed case that switchMap doesn't cover: a late response would patch a wizard plan the user already cleared.
|
|
100
|
-
takeUntil(actions$.pipe(filter(clearPolicyDocumentExtraction.match))));
|
|
101
|
-
}));
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { from } from 'rxjs';
|
|
2
|
-
import { catchError, filter, groupBy, mergeMap, switchMap } from 'rxjs/operators';
|
|
3
|
-
import { createZeniAPIStatus, isSuccessResponse, } from '../../../responsePayload';
|
|
4
|
-
import { initEmailConnectOAuth, initEmailConnectOAuthFailure, initEmailConnectOAuthSuccess, } from '../tenantReducer';
|
|
5
|
-
const defaultNavigate = (url) => {
|
|
6
|
-
// Production path: full-page redirect. The user's session continues on the
|
|
7
|
-
// provider's consent screen and lands back on this app via auth's HTML
|
|
8
|
-
// callback page (which itself redirects to redirect_after_url with the
|
|
9
|
-
// result encoded as a query param).
|
|
10
|
-
if (typeof window !== 'undefined') {
|
|
11
|
-
window.location.href = url;
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
// Backs the new POST /1.0/connectors/email/<provider>/init endpoint on the
|
|
15
|
-
// auth service. The endpoint creates a CSRF state token in the auth NDB
|
|
16
|
-
// store and returns the provider's authorization_url; this epic then drives
|
|
17
|
-
// a full-page redirect so the user lands on Google's / Microsoft's consent
|
|
18
|
-
// screen. After consent the user lands on auth's callback, which writes the
|
|
19
|
-
// resulting tokens through to tenant and redirects the browser back to
|
|
20
|
-
// ``redirectAfterUrl`` with ``?email_connect_result=<json>`` for the
|
|
21
|
-
// integrations page to consume on mount.
|
|
22
|
-
export const initEmailConnectOAuthEpic = (actions$, _state$, zeniAPI,
|
|
23
|
-
// Test seam: callers can override to assert intended URL without actually
|
|
24
|
-
// navigating. Default is full-page redirect via window.location.
|
|
25
|
-
navigate = defaultNavigate) => actions$.pipe(filter(initEmailConnectOAuth.match),
|
|
26
|
-
// Per-provider cancellation scope — switchMap at the outer level would
|
|
27
|
-
// cancel an in-flight gmail init when an outlook init fires, stranding
|
|
28
|
-
// the gmail provider's `saveConnectorCredentialsStateBySlug` in
|
|
29
|
-
// `In-Progress` forever. groupBy gives each provider its own stream.
|
|
30
|
-
groupBy((action) => action.payload.provider), mergeMap((perProvider$) => perProvider$.pipe(switchMap((action) => zeniAPI
|
|
31
|
-
.postAndGetJSON(`${zeniAPI.apiEndPoints.authMicroServiceBaseUrl}/1.0/connectors/email/${action.payload.provider}/init`, { redirect_after_url: action.payload.redirectAfterUrl }, { 'zeni-tenant-id': action.payload.tenantId })
|
|
32
|
-
.pipe(mergeMap((response) => {
|
|
33
|
-
if (isSuccessResponse(response) && response.data != null) {
|
|
34
|
-
// Fire-and-forget side effect — once the browser navigates,
|
|
35
|
-
// any further state we'd dispatch here is irrelevant. We still
|
|
36
|
-
// emit the success action so subscribers (tests, analytics)
|
|
37
|
-
// can observe the URL the epic decided to navigate to.
|
|
38
|
-
navigate(response.data.authorization_url);
|
|
39
|
-
return from([
|
|
40
|
-
initEmailConnectOAuthSuccess(action.payload.tenantId, action.payload.provider, response.data.authorization_url),
|
|
41
|
-
]);
|
|
42
|
-
}
|
|
43
|
-
const status = response.status ??
|
|
44
|
-
createZeniAPIStatus(`Failed to start ${action.payload.provider} connection. Please try again.`);
|
|
45
|
-
return from([
|
|
46
|
-
initEmailConnectOAuthFailure(action.payload.tenantId, action.payload.provider, status),
|
|
47
|
-
]);
|
|
48
|
-
}), catchError((error) => {
|
|
49
|
-
const message = error instanceof Error
|
|
50
|
-
? error.message
|
|
51
|
-
: `Unexpected error starting ${action.payload.provider} connection.`;
|
|
52
|
-
return from([
|
|
53
|
-
initEmailConnectOAuthFailure(action.payload.tenantId, action.payload.provider, createZeniAPIStatus(message)),
|
|
54
|
-
]);
|
|
55
|
-
}))))));
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { from, of } from 'rxjs';
|
|
2
|
-
import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
|
|
3
|
-
import { updateCompanies } from '../../../entity/company/companyReducer';
|
|
4
|
-
import { updateAllUsers } from '../../../entity/user/userReducer';
|
|
5
|
-
import { updateAllUserGroups } from '../../../entity/userGroups/userGroupsReducer';
|
|
6
|
-
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
7
|
-
import { fetchCockpitContext, updateCockpitContextOnFailure, updateCockpitContextOnSuccess, } from '../companyTaskManagerViewReducer';
|
|
8
|
-
export const fetchCockpitContextEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchCockpitContext.match), switchMap(() => zeniAPI
|
|
9
|
-
.getJSON(`${zeniAPI.apiEndPoints.tenantMicroServiceBaseUrl}/1.0/cockpit-panels/cockpit-context`)
|
|
10
|
-
.pipe(mergeMap((response) => {
|
|
11
|
-
if (isSuccessResponse(response) && response.data != null) {
|
|
12
|
-
const companies = response.data?.companies ?? [];
|
|
13
|
-
const users = response.data?.users ?? [];
|
|
14
|
-
const userGroups = response.data?.user_groups ?? [];
|
|
15
|
-
const companyIds = companies.map((company) => company.company_id);
|
|
16
|
-
const userIds = users.map((user) => user.user_id);
|
|
17
|
-
const userGroupIds = userGroups.map((userGroup) => userGroup.id);
|
|
18
|
-
const actions = [
|
|
19
|
-
updateCompanies({
|
|
20
|
-
payload: response.data.companies,
|
|
21
|
-
schema: {},
|
|
22
|
-
}),
|
|
23
|
-
updateAllUsers({ users: response.data.users }),
|
|
24
|
-
updateAllUserGroups({
|
|
25
|
-
userGroups: response.data.user_groups,
|
|
26
|
-
}),
|
|
27
|
-
updateCockpitContextOnSuccess({
|
|
28
|
-
companyIds,
|
|
29
|
-
userIds,
|
|
30
|
-
userGroupIds,
|
|
31
|
-
}),
|
|
32
|
-
];
|
|
33
|
-
return from(actions);
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
return of(updateCockpitContextOnFailure(response.status));
|
|
37
|
-
}
|
|
38
|
-
}), catchError((error) => of(updateCockpitContextOnFailure(createZeniAPIStatus('Unexpected error', 'Cockpit context fetch errored out' + JSON.stringify(error))))))));
|
package/lib/esm/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { EMPTY, of } from 'rxjs';
|
|
2
|
-
import { filter, switchMap } from 'rxjs/operators';
|
|
3
|
-
import { fetchCompanyTaskManagerView, updateCompanyTaskManagerViewFilters, } from '../companyTaskManagerViewReducer';
|
|
4
|
-
export const updateCompanyTaskManagerViewFiltersEpic = (actions$, state$) => actions$.pipe(filter(updateCompanyTaskManagerViewFilters.match), switchMap((action) => {
|
|
5
|
-
const filters = action.payload.filters;
|
|
6
|
-
const allCategoriesValid = filters?.categories == null
|
|
7
|
-
? true
|
|
8
|
-
: filters?.categories?.every((category) => category.field != null &&
|
|
9
|
-
category.values != null &&
|
|
10
|
-
category.values.length > 0);
|
|
11
|
-
if (!allCategoriesValid) {
|
|
12
|
-
return EMPTY;
|
|
13
|
-
}
|
|
14
|
-
const { uiState } = state$.value.companyTaskManagerViewState;
|
|
15
|
-
return of(fetchCompanyTaskManagerView(0, uiState.sortKey, uiState.sortOrder, false, uiState.filterText, filters));
|
|
16
|
-
}));
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { of } from 'rxjs';
|
|
2
|
-
import { catchError, filter, mergeMap } from 'rxjs/operators';
|
|
3
|
-
import { createZeniAPIStatus, isSuccessResponse, } from '../../../../../responsePayload';
|
|
4
|
-
import { fetchAiAgentsActivationStatus, fetchAiAgentsActivationStatusFailure, fetchAiAgentsActivationStatusSuccess, } from '../../onboardingCustomerViewReducer';
|
|
5
|
-
const toPhaseStatus = (raw) => {
|
|
6
|
-
if (raw === 'idle' ||
|
|
7
|
-
raw === 'starting' ||
|
|
8
|
-
raw === 'building' ||
|
|
9
|
-
raw === 'ready') {
|
|
10
|
-
return raw;
|
|
11
|
-
}
|
|
12
|
-
return 'idle';
|
|
13
|
-
};
|
|
14
|
-
const toPhase = (row) => ({
|
|
15
|
-
key: row.key,
|
|
16
|
-
status: toPhaseStatus(row.status),
|
|
17
|
-
startedAt: row.started_at,
|
|
18
|
-
completedAt: row.completed_at,
|
|
19
|
-
});
|
|
20
|
-
const toCounts = (payload) => ({
|
|
21
|
-
customerCount: payload?.customer_count ?? 0,
|
|
22
|
-
glAccountCount: payload?.gl_account_count ?? 0,
|
|
23
|
-
targetTransactionCount: payload?.target_transaction_count ?? 0,
|
|
24
|
-
transactionCount: payload?.transaction_count ?? 0,
|
|
25
|
-
vendorCount: payload?.vendor_count ?? 0,
|
|
26
|
-
});
|
|
27
|
-
export const fetchAiAgentsActivationStatusEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchAiAgentsActivationStatus.match), mergeMap(() => {
|
|
28
|
-
const url = `${zeniAPI.apiEndPoints.tenantMicroServiceBaseUrl}/1.0/ai-agents-activation/status`;
|
|
29
|
-
return zeniAPI.getJSON(url).pipe(mergeMap((response) => {
|
|
30
|
-
if (isSuccessResponse(response) && response.data != null) {
|
|
31
|
-
const phases = (response.data.phases ?? []).map(toPhase);
|
|
32
|
-
return of(fetchAiAgentsActivationStatusSuccess({
|
|
33
|
-
phases,
|
|
34
|
-
counts: toCounts(response.data.counts),
|
|
35
|
-
}));
|
|
36
|
-
}
|
|
37
|
-
return of(fetchAiAgentsActivationStatusFailure(response.status));
|
|
38
|
-
}), catchError((error) => of(fetchAiAgentsActivationStatusFailure(createZeniAPIStatus('Unexpected Error', 'fetchAiAgentsActivationStatus errored out ' +
|
|
39
|
-
JSON.stringify(error))))));
|
|
40
|
-
}));
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { from, of } from 'rxjs';
|
|
2
|
-
import { catchError, filter, mergeMap } from 'rxjs/operators';
|
|
3
|
-
import { updateCompanies } from '../../../../../entity/company/companyReducer';
|
|
4
|
-
import { createZeniAPIStatus, isSuccessResponse, } from '../../../../../responsePayload';
|
|
5
|
-
import { acknowledgeOnboardingAiActivationViewed, acknowledgeOnboardingAiActivationViewedFailure, acknowledgeOnboardingAiActivationViewedSuccess, } from '../../onboardingCustomerViewReducer';
|
|
6
|
-
export const acknowledgeOnboardingAiActivationViewedEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(acknowledgeOnboardingAiActivationViewed.match), mergeMap((action) => {
|
|
7
|
-
const { companyId } = action.payload;
|
|
8
|
-
const payload = {
|
|
9
|
-
is_onboarding_ai_activation_viewed: true,
|
|
10
|
-
};
|
|
11
|
-
return zeniAPI
|
|
12
|
-
.putAndGetJSON(`${zeniAPI.apiEndPoints.tenantMicroServiceBaseUrl}/1.0/companies/${companyId}`, payload)
|
|
13
|
-
.pipe(mergeMap((response) => {
|
|
14
|
-
if (isSuccessResponse(response) && response.data != null) {
|
|
15
|
-
const actions = [
|
|
16
|
-
updateCompanies({
|
|
17
|
-
payload: response.data.companies,
|
|
18
|
-
schema: {},
|
|
19
|
-
}),
|
|
20
|
-
acknowledgeOnboardingAiActivationViewedSuccess(),
|
|
21
|
-
];
|
|
22
|
-
return from(actions);
|
|
23
|
-
}
|
|
24
|
-
return of(acknowledgeOnboardingAiActivationViewedFailure(response.status));
|
|
25
|
-
}),
|
|
26
|
-
// Best-effort — failure is silent; cascade just runs again next visit.
|
|
27
|
-
catchError((error) => of(acknowledgeOnboardingAiActivationViewedFailure(createZeniAPIStatus('Unexpected Error', 'Acknowledge - Onboarding AI Activation Viewed errored out' +
|
|
28
|
-
JSON.stringify(error))))));
|
|
29
|
-
}));
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { from, of } from 'rxjs';
|
|
2
|
-
import { catchError, filter, mergeMap } from 'rxjs/operators';
|
|
3
|
-
import { updateCompanies } from '../../../../../entity/company/companyReducer';
|
|
4
|
-
import { openSnackbar } from '../../../../../entity/snackbar/snackbarReducer';
|
|
5
|
-
import { createZeniAPIStatus, isSuccessResponse, } from '../../../../../responsePayload';
|
|
6
|
-
import { acknowledgeOnboardingAiFinanceTeam, acknowledgeOnboardingAiFinanceTeamFailure, acknowledgeOnboardingAiFinanceTeamSuccess, } from '../../onboardingCustomerViewReducer';
|
|
7
|
-
export const acknowledgeOnboardingAiFinanceTeamEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(acknowledgeOnboardingAiFinanceTeam.match), mergeMap((action) => {
|
|
8
|
-
const { companyId } = action.payload;
|
|
9
|
-
const payload = {
|
|
10
|
-
is_onboarding_ai_finance_team_acknowledged: true,
|
|
11
|
-
};
|
|
12
|
-
return zeniAPI
|
|
13
|
-
.putAndGetJSON(`${zeniAPI.apiEndPoints.tenantMicroServiceBaseUrl}/1.0/companies/${companyId}`, payload)
|
|
14
|
-
.pipe(mergeMap((response) => {
|
|
15
|
-
if (isSuccessResponse(response) && response.data != null) {
|
|
16
|
-
const actions = [
|
|
17
|
-
updateCompanies({
|
|
18
|
-
payload: response.data.companies,
|
|
19
|
-
schema: {},
|
|
20
|
-
}),
|
|
21
|
-
acknowledgeOnboardingAiFinanceTeamSuccess(),
|
|
22
|
-
];
|
|
23
|
-
return from(actions);
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
return of(openSnackbar({
|
|
27
|
-
messageSection: 'onboarding_customer_view_complete',
|
|
28
|
-
messageText: 'failed',
|
|
29
|
-
type: 'error',
|
|
30
|
-
variables: [
|
|
31
|
-
{
|
|
32
|
-
variableName: '_api-error_',
|
|
33
|
-
variableValue: response.status.message,
|
|
34
|
-
},
|
|
35
|
-
],
|
|
36
|
-
}), acknowledgeOnboardingAiFinanceTeamFailure(response.status));
|
|
37
|
-
}
|
|
38
|
-
}), catchError((error) => of(acknowledgeOnboardingAiFinanceTeamFailure(createZeniAPIStatus('Unexpected Error', 'Acknowledge - Onboarding AI Finance Team errored out' +
|
|
39
|
-
JSON.stringify(error))))));
|
|
40
|
-
}));
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { from } from 'rxjs';
|
|
2
|
-
import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
|
|
3
|
-
import { updateApprovalRules } from '../../../../../entity/approvalRule/approvalRuleReducer';
|
|
4
|
-
import { openSnackbar } from '../../../../../entity/snackbar/snackbarReducer';
|
|
5
|
-
import { createZeniAPIStatus, isSuccessResponse, } from '../../../../../responsePayload';
|
|
6
|
-
import { fetchBillPaySetupApproverView, reorderBillPayApprovalRules, reorderBillPayApprovalRulesFailure, reorderBillPayApprovalRulesSuccess, } from '../billPaySetupApproverViewReducer';
|
|
7
|
-
export const reorderBillPayApprovalRulesEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(reorderBillPayApprovalRules.match), switchMap((action) => {
|
|
8
|
-
const { approvalRuleIds, useV3 } = action.payload;
|
|
9
|
-
// Approval Rules 3.0 — flag-gated endpoint selection. Mirrors
|
|
10
|
-
// the pattern used by delete + fetch epics: the v3 dev host
|
|
11
|
-
// until the production base URL ships the v2 reorder route.
|
|
12
|
-
const endpoint = `${zeniAPI.apiEndPoints.approvalMicroServiceBaseUrl}/1.0/bill-pay/approval-rules-v2/reorder`;
|
|
13
|
-
return zeniAPI
|
|
14
|
-
.putAndGetJSON(endpoint, {
|
|
15
|
-
rule_ids: approvalRuleIds,
|
|
16
|
-
})
|
|
17
|
-
.pipe(mergeMap((response) => {
|
|
18
|
-
if (isSuccessResponse(response) && response.data != null) {
|
|
19
|
-
const serverOrderedIds = response.data.approval_rules.map((approvalRule) => approvalRule.approval_rule_id);
|
|
20
|
-
const actions = [
|
|
21
|
-
updateApprovalRules(response.data.approval_rules),
|
|
22
|
-
reorderBillPayApprovalRulesSuccess(serverOrderedIds),
|
|
23
|
-
openSnackbar({
|
|
24
|
-
messageSection: `bill_pay_approval_reorder`,
|
|
25
|
-
messageText: 'success',
|
|
26
|
-
type: 'success',
|
|
27
|
-
}),
|
|
28
|
-
];
|
|
29
|
-
return from(actions);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
const recovery = [
|
|
33
|
-
reorderBillPayApprovalRulesFailure(response.status),
|
|
34
|
-
openSnackbar({
|
|
35
|
-
messageSection: `bill_pay_approval_reorder`,
|
|
36
|
-
messageText: 'failed',
|
|
37
|
-
type: 'error',
|
|
38
|
-
}),
|
|
39
|
-
// Refetch to revert the optimistic order to server truth.
|
|
40
|
-
fetchBillPaySetupApproverView(true, true, useV3),
|
|
41
|
-
];
|
|
42
|
-
return from(recovery);
|
|
43
|
-
}
|
|
44
|
-
}), catchError((error) => from([
|
|
45
|
-
reorderBillPayApprovalRulesFailure(createZeniAPIStatus('Unexpected Error', 'Reorder Bill Pay Approval Rules errored out' +
|
|
46
|
-
JSON.stringify(error))),
|
|
47
|
-
openSnackbar({
|
|
48
|
-
messageSection: `bill_pay_approval_reorder`,
|
|
49
|
-
messageText: 'failed',
|
|
50
|
-
type: 'error',
|
|
51
|
-
}),
|
|
52
|
-
fetchBillPaySetupApproverView(true, true, useV3),
|
|
53
|
-
])));
|
|
54
|
-
}));
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { toAmount } from '../../../../commonStateTypes/amount';
|
|
2
|
-
import { date } from '../../../../zeniDayJS';
|
|
3
|
-
import { toAutoSweepFrequency, } from './autoSweepFlowState';
|
|
4
|
-
export const toSaveAutoSweepSettingsBody = (state) => ({
|
|
5
|
-
frequency: state.frequency,
|
|
6
|
-
memo: state.memo,
|
|
7
|
-
minimum_buffer_usd: state.bufferAmount.amount,
|
|
8
|
-
});
|
|
9
|
-
/**
|
|
10
|
-
* Map a `GET /cash-management/settings` payload into the slice's writable
|
|
11
|
-
* fields. Defensive on the frequency (string-from-the-wire → union via
|
|
12
|
-
* `toAutoSweepFrequency`, falling back to `'weekly'` if the server returns
|
|
13
|
-
* something we don't model yet). Only the source account *id* is stored
|
|
14
|
-
* here — the full deposit-account payload is published to the entity bucket
|
|
15
|
-
* by the fetch epic.
|
|
16
|
-
*/
|
|
17
|
-
export const toAutoSweepFlowStatePatch = (payload) => {
|
|
18
|
-
const currencyCode = payload.source_bank_account.balances?.currency_code;
|
|
19
|
-
const currencySymbol = payload.source_bank_account.balances?.currency_symbol;
|
|
20
|
-
return {
|
|
21
|
-
bufferAmount: toAmount(payload.minimum_buffer_usd, currencyCode ?? 'USD', currencySymbol ?? '$'),
|
|
22
|
-
frequency: toAutoSweepFrequency(payload.frequency) ?? 'weekly',
|
|
23
|
-
nextTransferDate: payload.next_run_date != null && payload.next_run_date !== ''
|
|
24
|
-
? date(payload.next_run_date)
|
|
25
|
-
: undefined,
|
|
26
|
-
primaryFundingAccountId: payload.source_bank_account.deposit_account_id ?? undefined,
|
|
27
|
-
settingsId: payload.cash_management_settings_id ?? undefined,
|
|
28
|
-
};
|
|
29
|
-
};
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { createSlice } from '@reduxjs/toolkit';
|
|
2
|
-
import { toAutoSweepFlowStatePatch, } from './autoSweepFlowPayload';
|
|
3
|
-
import { initialAutoSweepFlowState, } from './autoSweepFlowState';
|
|
4
|
-
export const initialState = initialAutoSweepFlowState;
|
|
5
|
-
const autoSweepFlow = createSlice({
|
|
6
|
-
name: 'autoSweepFlow',
|
|
7
|
-
initialState,
|
|
8
|
-
reducers: {
|
|
9
|
-
/**
|
|
10
|
-
* Kicks off `GET /cash-management/settings`. Flips the top-level
|
|
11
|
-
* fetchState to `In-Progress`; the fetch epic picks this up.
|
|
12
|
-
*/
|
|
13
|
-
fetchCashManagementSettings(draft) {
|
|
14
|
-
draft.fetchState = 'In-Progress';
|
|
15
|
-
draft.error = undefined;
|
|
16
|
-
},
|
|
17
|
-
/**
|
|
18
|
-
* Hydrates the form fields with the server-side settings (and stashes
|
|
19
|
-
* the settings id for subsequent saves). Marks the GET as `Completed`.
|
|
20
|
-
*/
|
|
21
|
-
updateCashManagementSettings(draft, action) {
|
|
22
|
-
const patch = toAutoSweepFlowStatePatch(action.payload.data);
|
|
23
|
-
draft.bufferAmount = patch.bufferAmount;
|
|
24
|
-
draft.frequency = patch.frequency;
|
|
25
|
-
draft.nextTransferDate = patch.nextTransferDate;
|
|
26
|
-
draft.primaryFundingAccountId = patch.primaryFundingAccountId;
|
|
27
|
-
draft.settingsId = patch.settingsId;
|
|
28
|
-
draft.fetchState = 'Completed';
|
|
29
|
-
draft.error = undefined;
|
|
30
|
-
},
|
|
31
|
-
updateCashManagementSettingsFetchStatus(draft, action) {
|
|
32
|
-
draft.fetchState = action.payload.fetchState;
|
|
33
|
-
draft.error = action.payload.error;
|
|
34
|
-
},
|
|
35
|
-
/**
|
|
36
|
-
* Live-update the buffer (risk band) as the user toggles the risk picker
|
|
37
|
-
* on the setup page, without staging frequency/memo. The selector derives
|
|
38
|
-
* the risk-adjusted sweep amount off `bufferAmount`, so dispatching this on
|
|
39
|
-
* every risk change keeps the setup and review screens in sync.
|
|
40
|
-
*/
|
|
41
|
-
updateAutoSweepRisk(draft, action) {
|
|
42
|
-
draft.bufferAmount = action.payload.bufferAmount;
|
|
43
|
-
},
|
|
44
|
-
/**
|
|
45
|
-
* Stage the in-flight form values without submitting them — fired from
|
|
46
|
-
* the setup→review transition so other selectors (and devtools) can see
|
|
47
|
-
* what the user is about to confirm. Leaves `saveStatus` untouched; the
|
|
48
|
-
* actual PUT only kicks off when the user clicks "Confirm Sweep" via
|
|
49
|
-
* `saveAutoSweepSettings`.
|
|
50
|
-
*/
|
|
51
|
-
updateAutoSweepDraft(draft, action) {
|
|
52
|
-
draft.bufferAmount = action.payload.bufferAmount;
|
|
53
|
-
draft.frequency = action.payload.frequency;
|
|
54
|
-
draft.memo = action.payload.memo;
|
|
55
|
-
},
|
|
56
|
-
/**
|
|
57
|
-
* Trigger the PUT for the auto-sweep settings already staged via
|
|
58
|
-
* `updateAutoSweepDraft`. Carries no payload — flips `saveStatus` to
|
|
59
|
-
* `In-Progress` and the save epic reads `bufferAmount` / `frequency` /
|
|
60
|
-
* `memo` straight from the slice. Callers must ensure those fields
|
|
61
|
-
* reflect the user's latest input before dispatching.
|
|
62
|
-
*/
|
|
63
|
-
saveAutoSweepSettings(draft) {
|
|
64
|
-
draft.saveStatus = { fetchState: 'In-Progress', error: undefined };
|
|
65
|
-
},
|
|
66
|
-
updateAutoSweepSettingsFetchStatus(draft, action) {
|
|
67
|
-
draft.saveStatus = {
|
|
68
|
-
fetchState: action.payload.fetchState,
|
|
69
|
-
error: action.payload.error,
|
|
70
|
-
};
|
|
71
|
-
},
|
|
72
|
-
clearAutoSweepFlow() {
|
|
73
|
-
return initialAutoSweepFlowState;
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
});
|
|
77
|
-
export const { fetchCashManagementSettings, updateCashManagementSettings, updateCashManagementSettingsFetchStatus, updateAutoSweepRisk, updateAutoSweepDraft, saveAutoSweepSettings, updateAutoSweepSettingsFetchStatus, clearAutoSweepFlow, } = autoSweepFlow.actions;
|
|
78
|
-
export default autoSweepFlow.reducer;
|