@zeniai/client-epic-state 5.0.93-betaAK2 → 5.0.93
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 -3
- package/lib/commonStateTypes/workingDayHelper.d.ts +0 -9
- package/lib/commonStateTypes/workingDayHelper.js +1 -28
- package/lib/entity/aiCfo/aiCfoPayload.d.ts +63 -5
- package/lib/entity/aiCfo/aiCfoReducer.d.ts +23 -2
- package/lib/entity/aiCfo/aiCfoReducer.js +249 -9
- package/lib/entity/aiCfo/aiCfoSelector.d.ts +4 -1
- package/lib/entity/aiCfo/aiCfoSelector.js +19 -1
- package/lib/entity/aiCfo/aiCfoState.d.ts +97 -4
- package/lib/entity/aiCfo/aiCfoState.js +18 -1
- package/lib/entity/cardPolicy/cardPolicyPayload.d.ts +277 -0
- package/lib/entity/cardPolicy/cardPolicyPayload.js +143 -0
- package/lib/entity/cardPolicy/cardPolicyReducer.d.ts +19 -0
- package/lib/entity/cardPolicy/cardPolicyReducer.js +175 -0
- package/lib/entity/cardPolicy/cardPolicySelector.d.ts +32 -0
- package/lib/entity/cardPolicy/cardPolicySelector.js +99 -0
- package/lib/entity/cardPolicy/cardPolicyState.d.ts +205 -0
- package/lib/entity/cardPolicy/cardPolicyState.js +14 -0
- package/lib/entity/cardPolicy/extractPolicyDocumentEpic.d.ts +18 -0
- package/lib/entity/cardPolicy/extractPolicyDocumentEpic.js +68 -0
- package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.d.ts +26 -0
- package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +47 -0
- package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.d.ts +25 -0
- package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +39 -0
- package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.d.ts +24 -0
- package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.js +105 -0
- package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +1 -1
- package/lib/entity/monthEndCloseChecks/monthEndCloseChecksState.d.ts +1 -1
- package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
- package/lib/entity/snackbar/snackbarTypes.js +3 -0
- package/lib/entity/tenant/clearAllEpic.d.ts +6 -4
- package/lib/entity/tenant/clearAllEpic.js +8 -4
- package/lib/epic.d.ts +14 -7
- package/lib/epic.js +14 -7
- package/lib/esm/commonStateTypes/amount.js +0 -1
- package/lib/esm/commonStateTypes/workingDayHelper.js +0 -26
- package/lib/esm/entity/aiCfo/aiCfoReducer.js +249 -9
- package/lib/esm/entity/aiCfo/aiCfoSelector.js +17 -1
- package/lib/esm/entity/aiCfo/aiCfoState.js +15 -0
- package/lib/esm/entity/cardPolicy/cardPolicyPayload.js +130 -0
- package/lib/esm/entity/cardPolicy/cardPolicyReducer.js +171 -0
- package/lib/esm/entity/cardPolicy/cardPolicySelector.js +75 -0
- package/lib/esm/entity/cardPolicy/cardPolicyState.js +9 -0
- package/lib/esm/entity/cardPolicy/extractPolicyDocumentEpic.js +64 -0
- package/lib/esm/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +43 -0
- package/lib/esm/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +35 -0
- package/lib/esm/entity/cardPolicy/policyRecommendationFromUploadEpic.js +101 -0
- package/lib/esm/entity/snackbar/snackbarTypes.js +3 -0
- package/lib/esm/entity/tenant/clearAllEpic.js +8 -4
- package/lib/esm/epic.js +14 -7
- package/lib/esm/index.js +39 -14
- package/lib/esm/reducer.js +12 -6
- package/lib/esm/view/aiCfoView/aiCfoViewReducer.js +6 -3
- package/lib/esm/view/aiCfoView/epics/createSessionAndSubmitEpic.js +5 -2
- package/lib/esm/view/aiCfoView/epics/createSessionEpic.js +2 -1
- package/lib/esm/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +12 -2
- package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +2 -22
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +52 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +22 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +1 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +36 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +39 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +34 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +58 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +21 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +1 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +38 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +289 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +109 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +44 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +111 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +25 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +363 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +36 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +19 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +6 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +119 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +154 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +22 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +1 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +39 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +140 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +20 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +100 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +96 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +59 -0
- package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +24 -0
- package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +25 -0
- package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +1 -0
- package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +34 -0
- package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +57 -0
- package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +35 -0
- package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +2 -2
- package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +42 -4
- package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +35 -0
- package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +62 -0
- package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +44 -0
- package/lib/index.d.ts +44 -19
- package/lib/index.js +183 -34
- package/lib/reducer.d.ts +12 -6
- package/lib/reducer.js +12 -6
- package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +11 -2
- package/lib/view/aiCfoView/aiCfoViewReducer.js +6 -3
- package/lib/view/aiCfoView/epics/createSessionAndSubmitEpic.js +5 -2
- package/lib/view/aiCfoView/epics/createSessionEpic.js +2 -1
- package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.d.ts +8 -1
- package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +12 -2
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
- package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +1 -1
- 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/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.d.ts +14 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +56 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.d.ts +15 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +28 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.d.ts +8 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +2 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.d.ts +8 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +40 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.d.ts +8 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +43 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.d.ts +8 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +38 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.d.ts +15 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +62 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.d.ts +15 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +27 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.d.ts +7 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +2 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.d.ts +8 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +42 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.d.ts +8 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +294 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.d.ts +8 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +113 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.d.ts +9 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +48 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.d.ts +8 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +115 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.d.ts +13 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +29 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.d.ts +14 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +369 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.d.ts +6 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +40 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.d.ts +7 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +26 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.d.ts +116 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +10 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.d.ts +33 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +126 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.d.ts +52 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +158 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.d.ts +11 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +31 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.d.ts +12 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +2 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.d.ts +8 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +43 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.d.ts +10 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +144 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.d.ts +7 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +24 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.d.ts +11 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +104 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.d.ts +22 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +100 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.d.ts +8 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +63 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.d.ts +3 -0
- package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +28 -0
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.d.ts +14 -0
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +27 -1
- package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.d.ts +34 -0
- package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +2 -0
- package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.d.ts +7 -0
- package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +38 -0
- package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.d.ts +12 -0
- package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +61 -0
- package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.d.ts +9 -0
- package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +39 -0
- 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 +12 -2
- package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +43 -5
- package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.d.ts +7 -0
- package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +42 -1
- package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardState.d.ts +5 -0
- package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.d.ts +11 -0
- package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +66 -0
- package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.d.ts +3 -0
- package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +48 -0
- package/lib/view/taskManager/taskListView/taskListReducer.d.ts +1 -1
- package/lib/view/transactionDetail/journalEntryLinesViewModel.d.ts +1 -1
- package/lib/zeniAPI.d.ts +0 -1
- package/package.json +1 -1
- package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.js +0 -31
- package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.js +0 -69
- package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.js +0 -29
- package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.js +0 -47
- package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.js +0 -34
- 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 -225
- package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.js +0 -10
- package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.js +0 -39
- 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/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.d.ts +0 -48
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.js +0 -36
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.d.ts +0 -21
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.js +0 -73
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.d.ts +0 -40
- package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.js +0 -33
- 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 -38
- 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 -230
- 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 -23
- package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.js +0 -43
- 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
|
@@ -8,6 +8,6 @@ import { updateUserRoles } from '../../../../entity/userRole/userRoleReducer';
|
|
|
8
8
|
import { RootState } from '../../../../reducer';
|
|
9
9
|
import { ZeniAPI } from '../../../../zeniAPI';
|
|
10
10
|
import { updateChargeCardList } from '../chargeCardList/chargeCardListReducer';
|
|
11
|
-
import { issueChargeCardSuccessOrFailure, issueChargeCards, updateChargeCardCount, updateDebitCardCount, updateLastSelfIssuedDebitCardId } from './issueChargeCardReducer';
|
|
12
|
-
export type ActionType = ReturnType<typeof issueChargeCards> | ReturnType<typeof updateChargeCards> | ReturnType<typeof updateAllUsers> | ReturnType<typeof updateUserRoles> | ReturnType<typeof openSnackbar> | ReturnType<typeof updateChargeCardList> | ReturnType<typeof updateChargeCardCount> | ReturnType<typeof updateDebitCardCount> | ReturnType<typeof updateLastSelfIssuedDebitCardId> | ReturnType<typeof issueChargeCardSuccessOrFailure> | ReturnType<typeof updateAddresses>;
|
|
11
|
+
import { issueChargeCardSuccessOrFailure, issueChargeCards, updateChargeCardCount, updateDebitCardCount, updateLastIssuedCardIds, updateLastSelfIssuedDebitCardId } from './issueChargeCardReducer';
|
|
12
|
+
export type ActionType = ReturnType<typeof issueChargeCards> | ReturnType<typeof updateChargeCards> | ReturnType<typeof updateAllUsers> | ReturnType<typeof updateUserRoles> | ReturnType<typeof openSnackbar> | ReturnType<typeof updateChargeCardList> | ReturnType<typeof updateChargeCardCount> | ReturnType<typeof updateDebitCardCount> | ReturnType<typeof updateLastSelfIssuedDebitCardId> | ReturnType<typeof updateLastIssuedCardIds> | ReturnType<typeof issueChargeCardSuccessOrFailure> | ReturnType<typeof updateAddresses>;
|
|
13
13
|
export declare const issueChargeCardEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
|
@@ -90,7 +90,7 @@ const issueChargeCardEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, ope
|
|
|
90
90
|
actions.push((0, chargeCardReducer_1.updateChargeCards)(issuedCards), (0, userReducer_1.updateAllUsers)({ users: response.data.users }), (0, userRoleReducer_1.updateUserRoles)(response.data.user_roles), (0, chargeCardListReducer_1.updateChargeCardList)({
|
|
91
91
|
chargeCardListPayload: response.data,
|
|
92
92
|
keepExistingListItems: true,
|
|
93
|
-
}), (0, addressReducer_1.updateAddresses)(response.data.addresses), (0, issueChargeCardReducer_1.updateChargeCardCount)(response.data?.cards_count_by_user_id ?? []), (0, issueChargeCardReducer_1.updateDebitCardCount)(response.data?.debit_cards_count_by_deposit_account_id ?? {}), (0, issueChargeCardReducer_1.issueChargeCardSuccessOrFailure)({ fetchState: 'Completed' }));
|
|
93
|
+
}), (0, addressReducer_1.updateAddresses)(response.data.addresses), (0, issueChargeCardReducer_1.updateChargeCardCount)(response.data?.cards_count_by_user_id ?? []), (0, issueChargeCardReducer_1.updateDebitCardCount)(response.data?.debit_cards_count_by_deposit_account_id ?? {}), (0, issueChargeCardReducer_1.updateLastIssuedCardIds)(issuedCards.map((card) => card.card_id)), (0, issueChargeCardReducer_1.issueChargeCardSuccessOrFailure)({ fetchState: 'Completed' }));
|
|
94
94
|
if (issuedCards.length === 1 &&
|
|
95
95
|
(issuedCards[0].card_type.code ===
|
|
96
96
|
'business_virtual_debit_card' ||
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import { FetchState, ID } from '../../../../commonStateTypes/common';
|
|
2
|
+
import { CardsCreationInitialData } from '../../../../entity/aiCfo/aiCfoState';
|
|
2
3
|
import { CardCodeType } from '../../../../entity/chargeCard/chargeCard';
|
|
3
4
|
import { DepositAccountWithLimitPayload } from '../../../../entity/depositAccount/depositAccountPayload';
|
|
5
|
+
import { User } from '../../../../entity/user/userState';
|
|
4
6
|
import { ZeniAPIStatus } from '../../../../responsePayload';
|
|
5
7
|
import { ActiveChargeCardCountPayload, ActiveDebitCardCountByUserIdPayload } from '../../../userListView/userListViewPayload';
|
|
8
|
+
import { CardsFormDraft } from './aiCardCreationFormDraftTypes';
|
|
6
9
|
import { IssueChargeCardLocalData, IssueChargeCardState } from './issueChargeCardState';
|
|
7
10
|
export declare const initialState: IssueChargeCardState;
|
|
8
|
-
export declare const issueChargeCards: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[
|
|
11
|
+
export declare const issueChargeCards: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload?: {
|
|
12
|
+
sourceChatSessionId?: ID;
|
|
13
|
+
} | undefined], {
|
|
14
|
+
sourceChatSessionId?: ID;
|
|
15
|
+
}, "issueChargeCard/issueChargeCards", never, never>, updateChargeCardsLocalStore: import("@reduxjs/toolkit").ActionCreatorWithPayload<IssueChargeCardLocalData[], "issueChargeCard/updateChargeCardsLocalStore">, updateLastSelfIssuedDebitCardId: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "issueChargeCard/updateLastSelfIssuedDebitCardId">, updateLastIssuedCardIds: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "issueChargeCard/updateLastIssuedCardIds">, issueChargeCardSuccessOrFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
9
16
|
fetchState: FetchState;
|
|
10
17
|
error?: ZeniAPIStatus;
|
|
11
18
|
}, "issueChargeCard/issueChargeCardSuccessOrFailure">, resetIssueChargeCardForm: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"issueChargeCard/resetIssueChargeCardForm">, updateCustomAddressId: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
@@ -19,6 +26,9 @@ export declare const issueChargeCards: import("@reduxjs/toolkit").ActionCreatorW
|
|
|
19
26
|
}, "issueChargeCard/fetchIssueCardPage", never, never>, updateDepositAccountsInCards: import("@reduxjs/toolkit").ActionCreatorWithPayload<DepositAccountWithLimitPayload[], "issueChargeCard/updateDepositAccountsInCards">, fetchDepositAccountListForCards: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"issueChargeCard/fetchDepositAccountListForCards">, updateDepositAccountListForCardsFetchStatus: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
20
27
|
fetchState: FetchState;
|
|
21
28
|
error?: ZeniAPIStatus;
|
|
22
|
-
}, "issueChargeCard/updateDepositAccountListForCardsFetchStatus">,
|
|
29
|
+
}, "issueChargeCard/updateDepositAccountListForCardsFetchStatus">, seedAiCardCreationFormDraft: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[allUsers: User[], initialData: CardsCreationInitialData], {
|
|
30
|
+
allUsers: User[];
|
|
31
|
+
initialData: CardsCreationInitialData;
|
|
32
|
+
}, "issueChargeCard/seedAiCardCreationFormDraft", never, never>, updateAiCardCreationFormDraft: import("@reduxjs/toolkit").ActionCreatorWithPayload<CardsFormDraft, "issueChargeCard/updateAiCardCreationFormDraft">, clearAiCardCreationFormDraft: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"issueChargeCard/clearAiCardCreationFormDraft">, clearIssueChargeCard: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"issueChargeCard/clearIssueChargeCard">;
|
|
23
33
|
declare const _default: import("redux").Reducer<IssueChargeCardState>;
|
|
24
34
|
export default _default;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.clearIssueChargeCard = exports.updateDepositAccountListForCardsFetchStatus = exports.fetchDepositAccountListForCards = exports.updateDepositAccountsInCards = exports.fetchIssueCardPage = exports.updateDebitCardCount = exports.updateChargeCardCount = exports.updateCustomAddressId = exports.resetIssueChargeCardForm = exports.issueChargeCardSuccessOrFailure = exports.updateLastSelfIssuedDebitCardId = exports.updateChargeCardsLocalStore = exports.issueChargeCards = exports.initialState = void 0;
|
|
4
|
+
exports.clearIssueChargeCard = exports.clearAiCardCreationFormDraft = exports.updateAiCardCreationFormDraft = exports.seedAiCardCreationFormDraft = exports.updateDepositAccountListForCardsFetchStatus = exports.fetchDepositAccountListForCards = exports.updateDepositAccountsInCards = exports.fetchIssueCardPage = exports.updateDebitCardCount = exports.updateChargeCardCount = exports.updateCustomAddressId = exports.resetIssueChargeCardForm = exports.issueChargeCardSuccessOrFailure = exports.updateLastIssuedCardIds = exports.updateLastSelfIssuedDebitCardId = exports.updateChargeCardsLocalStore = exports.issueChargeCards = exports.initialState = void 0;
|
|
5
5
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
6
|
+
const applyAiCardCreationFormDraftUpdate_1 = require("./applyAiCardCreationFormDraftUpdate");
|
|
7
|
+
const buildAiCardCreationFormDraftSeed_1 = require("./buildAiCardCreationFormDraftSeed");
|
|
6
8
|
exports.initialState = {
|
|
7
9
|
depositAccountIds: [],
|
|
8
10
|
depositAccountsFetchState: { fetchState: 'Not-Started', error: undefined },
|
|
@@ -18,6 +20,7 @@ exports.initialState = {
|
|
|
18
20
|
},
|
|
19
21
|
activeChargeCardCount: {},
|
|
20
22
|
activeDebitCardCountByDepositAccountId: {},
|
|
23
|
+
lastIssuedCardIds: [],
|
|
21
24
|
};
|
|
22
25
|
const issueChargeCard = (0, toolkit_1.createSlice)({
|
|
23
26
|
name: 'issueChargeCard',
|
|
@@ -38,14 +41,19 @@ const issueChargeCard = (0, toolkit_1.createSlice)({
|
|
|
38
41
|
},
|
|
39
42
|
},
|
|
40
43
|
issueChargeCards: {
|
|
41
|
-
prepare() {
|
|
42
|
-
return { payload: {} };
|
|
44
|
+
prepare(payload) {
|
|
45
|
+
return { payload: payload ?? {} };
|
|
43
46
|
},
|
|
44
|
-
reducer(draft) {
|
|
47
|
+
reducer(draft, action) {
|
|
45
48
|
draft.saveStatus.fetchState = 'In-Progress';
|
|
46
49
|
draft.saveStatus.error = undefined;
|
|
50
|
+
draft.lastIssueSourceChatSessionId = action.payload.sourceChatSessionId;
|
|
51
|
+
draft.lastIssuedCardIds = [];
|
|
47
52
|
},
|
|
48
53
|
},
|
|
54
|
+
updateLastIssuedCardIds(draft, action) {
|
|
55
|
+
draft.lastIssuedCardIds = action.payload;
|
|
56
|
+
},
|
|
49
57
|
updateChargeCardsLocalStore(draft, action) {
|
|
50
58
|
draft.localData = action.payload;
|
|
51
59
|
},
|
|
@@ -53,6 +61,8 @@ const issueChargeCard = (0, toolkit_1.createSlice)({
|
|
|
53
61
|
draft.localData = [...exports.initialState.localData];
|
|
54
62
|
draft.saveStatus = exports.initialState.saveStatus;
|
|
55
63
|
draft.lastSelfIssuedDebitCardId = undefined;
|
|
64
|
+
draft.lastIssueSourceChatSessionId = undefined;
|
|
65
|
+
draft.lastIssuedCardIds = [];
|
|
56
66
|
},
|
|
57
67
|
updateLastSelfIssuedDebitCardId(draft, action) {
|
|
58
68
|
draft.lastSelfIssuedDebitCardId = action.payload;
|
|
@@ -128,10 +138,38 @@ const issueChargeCard = (0, toolkit_1.createSlice)({
|
|
|
128
138
|
draft.depositAccountsFetchState.fetchState = action.payload.fetchState;
|
|
129
139
|
draft.depositAccountsFetchState.error = action.payload.error;
|
|
130
140
|
},
|
|
141
|
+
// Dispatched once when `CardsCreationInteractiveForm` mounts (or the AI
|
|
142
|
+
// payload arrives).
|
|
143
|
+
seedAiCardCreationFormDraft: {
|
|
144
|
+
reducer(draft, action) {
|
|
145
|
+
const { draft: nextDraft, context } = (0, buildAiCardCreationFormDraftSeed_1.buildAiCardCreationFormDraftSeed)({
|
|
146
|
+
allUsers: action.payload.allUsers,
|
|
147
|
+
initialData: action.payload.initialData,
|
|
148
|
+
});
|
|
149
|
+
draft.aiCardCreationFormDraft = nextDraft;
|
|
150
|
+
draft.aiCardCreationFormDraftContext = context;
|
|
151
|
+
},
|
|
152
|
+
prepare(allUsers, initialData) {
|
|
153
|
+
return { payload: { allUsers, initialData } };
|
|
154
|
+
},
|
|
155
|
+
},
|
|
156
|
+
// Derivation lives in `applyAiCardCreationFormDraftUpdate` so the
|
|
157
|
+
// Storybook owner harness shares the same rules.
|
|
158
|
+
updateAiCardCreationFormDraft(draft, action) {
|
|
159
|
+
draft.aiCardCreationFormDraft = (0, applyAiCardCreationFormDraftUpdate_1.applyAiCardCreationFormDraftUpdate)({
|
|
160
|
+
prev: draft.aiCardCreationFormDraft,
|
|
161
|
+
next: action.payload,
|
|
162
|
+
context: draft.aiCardCreationFormDraftContext,
|
|
163
|
+
});
|
|
164
|
+
},
|
|
165
|
+
clearAiCardCreationFormDraft(draft) {
|
|
166
|
+
draft.aiCardCreationFormDraft = undefined;
|
|
167
|
+
draft.aiCardCreationFormDraftContext = undefined;
|
|
168
|
+
},
|
|
131
169
|
clearIssueChargeCard(draft) {
|
|
132
170
|
Object.assign(draft, exports.initialState);
|
|
133
171
|
},
|
|
134
172
|
},
|
|
135
173
|
});
|
|
136
|
-
_a = issueChargeCard.actions, exports.issueChargeCards = _a.issueChargeCards, exports.updateChargeCardsLocalStore = _a.updateChargeCardsLocalStore, exports.updateLastSelfIssuedDebitCardId = _a.updateLastSelfIssuedDebitCardId, exports.issueChargeCardSuccessOrFailure = _a.issueChargeCardSuccessOrFailure, exports.resetIssueChargeCardForm = _a.resetIssueChargeCardForm, exports.updateCustomAddressId = _a.updateCustomAddressId, exports.updateChargeCardCount = _a.updateChargeCardCount, exports.updateDebitCardCount = _a.updateDebitCardCount, exports.fetchIssueCardPage = _a.fetchIssueCardPage, exports.updateDepositAccountsInCards = _a.updateDepositAccountsInCards, exports.fetchDepositAccountListForCards = _a.fetchDepositAccountListForCards, exports.updateDepositAccountListForCardsFetchStatus = _a.updateDepositAccountListForCardsFetchStatus, exports.clearIssueChargeCard = _a.clearIssueChargeCard;
|
|
174
|
+
_a = issueChargeCard.actions, exports.issueChargeCards = _a.issueChargeCards, exports.updateChargeCardsLocalStore = _a.updateChargeCardsLocalStore, exports.updateLastSelfIssuedDebitCardId = _a.updateLastSelfIssuedDebitCardId, exports.updateLastIssuedCardIds = _a.updateLastIssuedCardIds, exports.issueChargeCardSuccessOrFailure = _a.issueChargeCardSuccessOrFailure, exports.resetIssueChargeCardForm = _a.resetIssueChargeCardForm, exports.updateCustomAddressId = _a.updateCustomAddressId, exports.updateChargeCardCount = _a.updateChargeCardCount, exports.updateDebitCardCount = _a.updateDebitCardCount, exports.fetchIssueCardPage = _a.fetchIssueCardPage, exports.updateDepositAccountsInCards = _a.updateDepositAccountsInCards, exports.fetchDepositAccountListForCards = _a.fetchDepositAccountListForCards, exports.updateDepositAccountListForCardsFetchStatus = _a.updateDepositAccountListForCardsFetchStatus, exports.seedAiCardCreationFormDraft = _a.seedAiCardCreationFormDraft, exports.updateAiCardCreationFormDraft = _a.updateAiCardCreationFormDraft, exports.clearAiCardCreationFormDraft = _a.clearAiCardCreationFormDraft, exports.clearIssueChargeCard = _a.clearIssueChargeCard;
|
|
137
175
|
exports.default = issueChargeCard.reducer;
|
|
@@ -7,6 +7,7 @@ import { RootState } from '../../../../reducer';
|
|
|
7
7
|
import { Person } from '../../../people/peopleSelectorTypes';
|
|
8
8
|
import { ChargeCardConfigState } from '../chargeCardConfig/chargeCardConfigState';
|
|
9
9
|
import { CreditAccount } from '../chargeCardList/chargeCardList';
|
|
10
|
+
import { CardsFormDraft } from './aiCardCreationFormDraftTypes';
|
|
10
11
|
import { ActiveChargeCardCount, ActiveDebitCardCountByUserId, IssueChargeCardLocalData } from './issueChargeCardState';
|
|
11
12
|
export interface IssueChargeCardSelectorView extends SelectorView {
|
|
12
13
|
activeChargeCardCount: Record<ID, ActiveChargeCardCount>;
|
|
@@ -25,3 +26,9 @@ export interface IssueChargeCardSelectorView extends SelectorView {
|
|
|
25
26
|
lastSelfIssuedDebitCardId?: ID;
|
|
26
27
|
}
|
|
27
28
|
export declare const getIssueChargeCardView: (state: RootState, isCreditCardEnabled: boolean, isDebitCardEnabled: boolean) => IssueChargeCardSelectorView;
|
|
29
|
+
export declare const getLastIssueChargeCardsSourceChatSessionId: (state: RootState) => ID | undefined;
|
|
30
|
+
export declare const getLastIssuedChargeCardIds: (state: RootState) => ID[];
|
|
31
|
+
export declare const getIssueChargeCardsSaveStatus: (state: RootState) => FetchStateAndError;
|
|
32
|
+
export declare const getInFlightIssueChargeCardsCount: (state: RootState) => number;
|
|
33
|
+
export declare const getAiCardCreationFormDraft: (state: RootState) => CardsFormDraft | undefined;
|
|
34
|
+
export declare const selectIssueChargeCardLocalDataFromDraft: (state: RootState) => IssueChargeCardLocalData[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getIssueChargeCardView = void 0;
|
|
3
|
+
exports.selectIssueChargeCardLocalDataFromDraft = exports.getAiCardCreationFormDraft = exports.getInFlightIssueChargeCardsCount = exports.getIssueChargeCardsSaveStatus = exports.getLastIssuedChargeCardIds = exports.getLastIssueChargeCardsSourceChatSessionId = exports.getIssueChargeCardView = void 0;
|
|
4
4
|
const reduceFetchState_1 = require("../../../../commonStateTypes/reduceFetchState");
|
|
5
5
|
const addressSelector_1 = require("../../../../entity/address/addressSelector");
|
|
6
6
|
const classSelector_1 = require("../../../../entity/class/classSelector");
|
|
@@ -8,6 +8,7 @@ const depositAccountSelector_1 = require("../../../../entity/depositAccount/depo
|
|
|
8
8
|
const tenantSelector_1 = require("../../../../entity/tenant/tenantSelector");
|
|
9
9
|
const addressViewSelector_1 = require("../../../addressView/addressViewSelector");
|
|
10
10
|
const userListViewSelector_1 = require("../../../userListView/userListViewSelector");
|
|
11
|
+
const toIssueChargeCardLocalDataFromDraft_1 = require("./toIssueChargeCardLocalDataFromDraft");
|
|
11
12
|
const getIssueChargeCardView = (state, isCreditCardEnabled, isDebitCardEnabled) => {
|
|
12
13
|
const { issueChargeCardState, userState, userRoleState, userListViewState, chargeCardConfigState, chargeCardListState, addressState, classState, depositAccountState, classListState, } = state;
|
|
13
14
|
const userListSelectorView = (0, userListViewSelector_1.getUserList)(userState, userRoleState, userListViewState, 'cardHolderCandidate');
|
|
@@ -97,3 +98,43 @@ const getIssueChargeCardView = (state, isCreditCardEnabled, isDebitCardEnabled)
|
|
|
97
98
|
};
|
|
98
99
|
};
|
|
99
100
|
exports.getIssueChargeCardView = getIssueChargeCardView;
|
|
101
|
+
// AI CFO chat session that triggered the most recent issue; lets the cards
|
|
102
|
+
// list screen attribute the pending placeholder + synthetic drawer bubble.
|
|
103
|
+
const getLastIssueChargeCardsSourceChatSessionId = (state) => {
|
|
104
|
+
return state.issueChargeCardState.lastIssueSourceChatSessionId;
|
|
105
|
+
};
|
|
106
|
+
exports.getLastIssueChargeCardsSourceChatSessionId = getLastIssueChargeCardsSourceChatSessionId;
|
|
107
|
+
// Cards created by the most recent successful issue; AI CFO drawer's "Created"
|
|
108
|
+
// bubble maps back through these.
|
|
109
|
+
const getLastIssuedChargeCardIds = (state) => {
|
|
110
|
+
return state.issueChargeCardState.lastIssuedCardIds;
|
|
111
|
+
};
|
|
112
|
+
exports.getLastIssuedChargeCardIds = getLastIssuedChargeCardIds;
|
|
113
|
+
const getIssueChargeCardsSaveStatus = (state) => {
|
|
114
|
+
return state.issueChargeCardState.saveStatus;
|
|
115
|
+
};
|
|
116
|
+
exports.getIssueChargeCardsSaveStatus = getIssueChargeCardsSaveStatus;
|
|
117
|
+
// Mirrors `localData.length` while in flight so the list can render N skeleton
|
|
118
|
+
// rows at the top of the table.
|
|
119
|
+
const getInFlightIssueChargeCardsCount = (state) => {
|
|
120
|
+
if (state.issueChargeCardState.saveStatus.fetchState !== 'In-Progress') {
|
|
121
|
+
return 0;
|
|
122
|
+
}
|
|
123
|
+
return state.issueChargeCardState.localData.length;
|
|
124
|
+
};
|
|
125
|
+
exports.getInFlightIssueChargeCardsCount = getInFlightIssueChargeCardsCount;
|
|
126
|
+
// Hydrates `CardsCreationInteractiveForm`'s RHF; `undefined` outside the
|
|
127
|
+
// seed/clear window.
|
|
128
|
+
const getAiCardCreationFormDraft = (state) => {
|
|
129
|
+
return state.issueChargeCardState.aiCardCreationFormDraft;
|
|
130
|
+
};
|
|
131
|
+
exports.getAiCardCreationFormDraft = getAiCardCreationFormDraft;
|
|
132
|
+
// Returns [] when the draft is absent so callers can short-circuit submission.
|
|
133
|
+
const selectIssueChargeCardLocalDataFromDraft = (state) => {
|
|
134
|
+
const draft = state.issueChargeCardState.aiCardCreationFormDraft;
|
|
135
|
+
if (draft == null) {
|
|
136
|
+
return [];
|
|
137
|
+
}
|
|
138
|
+
return (0, toIssueChargeCardLocalDataFromDraft_1.toIssueChargeCardLocalDataFromDraft)(draft);
|
|
139
|
+
};
|
|
140
|
+
exports.selectIssueChargeCardLocalDataFromDraft = selectIssueChargeCardLocalDataFromDraft;
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { Amount } from '../../../../commonStateTypes/amount';
|
|
2
2
|
import { FetchStateAndError, FetchedState, ID } from '../../../../commonStateTypes/common';
|
|
3
3
|
import { ChargeCardType, CreditCardCodeType, CreditLimitFrequencyCodeType, DebitCardCodeType, ShippingAddressType } from '../../../../entity/chargeCard/chargeCard';
|
|
4
|
+
import { AiCardCreationFormDraftSeedContext, CardsFormDraft } from './aiCardCreationFormDraftTypes';
|
|
4
5
|
export interface IssueChargeCardState extends FetchedState {
|
|
5
6
|
activeChargeCardCount: Record<ID, ActiveChargeCardCount>;
|
|
6
7
|
activeDebitCardCountByDepositAccountId: Record<ID, ActiveDebitCardCountByUserId>;
|
|
7
8
|
depositAccountIds: ID[];
|
|
8
9
|
depositAccountsFetchState: FetchStateAndError;
|
|
10
|
+
lastIssuedCardIds: ID[];
|
|
9
11
|
localData: IssueChargeCardLocalData[];
|
|
10
12
|
saveStatus: FetchStateAndError;
|
|
13
|
+
aiCardCreationFormDraft?: CardsFormDraft;
|
|
14
|
+
aiCardCreationFormDraftContext?: AiCardCreationFormDraftSeedContext;
|
|
15
|
+
lastIssueSourceChatSessionId?: ID;
|
|
11
16
|
lastSelfIssuedDebitCardId?: ID;
|
|
12
17
|
}
|
|
13
18
|
export interface ActiveChargeCardCount {
|
package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ActionsObservable, StateObservable } from 'redux-observable';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { upsertAnswerPayload, upsertOrAddQuestionAnswerPayload } from '../../../../entity/aiCfo/aiCfoReducer';
|
|
4
|
+
import { RootState } from '../../../../reducer';
|
|
5
|
+
import { fetchUserListByType } from '../../../userListView/userListViewReducer';
|
|
6
|
+
import { clearAiCardCreationFormDraft, issueChargeCardSuccessOrFailure, seedAiCardCreationFormDraft } from './issueChargeCardReducer';
|
|
7
|
+
export type ActionType = ReturnType<typeof fetchUserListByType> | ReturnType<typeof seedAiCardCreationFormDraft> | ReturnType<typeof clearAiCardCreationFormDraft>;
|
|
8
|
+
type SeedTriggerAction = ReturnType<typeof upsertAnswerPayload> | ReturnType<typeof upsertOrAddQuestionAnswerPayload>;
|
|
9
|
+
type InboundAction = SeedTriggerAction | ReturnType<typeof issueChargeCardSuccessOrFailure>;
|
|
10
|
+
export declare const seedAiCardCreationFormDraftEpic: (actions$: ActionsObservable<InboundAction>, state$: StateObservable<RootState>) => Observable<ActionType>;
|
|
11
|
+
export {};
|
package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.seedAiCardCreationFormDraftEpic = void 0;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const operators_1 = require("rxjs/operators");
|
|
6
|
+
const aiCfoReducer_1 = require("../../../../entity/aiCfo/aiCfoReducer");
|
|
7
|
+
const aiCfoSelector_1 = require("../../../../entity/aiCfo/aiCfoSelector");
|
|
8
|
+
const userListViewReducer_1 = require("../../../userListView/userListViewReducer");
|
|
9
|
+
const userListViewSelector_1 = require("../../../userListView/userListViewSelector");
|
|
10
|
+
const issueChargeCardReducer_1 = require("./issueChargeCardReducer");
|
|
11
|
+
const readAllUsersAsUserArray = (state) => (0, userListViewSelector_1.getUserList)(state.userState, state.userRoleState, state.userListViewState, 'cardHolderCandidate')
|
|
12
|
+
.users.map((person) => person.user)
|
|
13
|
+
.filter((user) => user != null);
|
|
14
|
+
const readCardsCreationPayload = (state, chatSessionId, questionAnswerId) => {
|
|
15
|
+
const qa = (0, aiCfoSelector_1.getQuestionAnswerByIdForChatSession)(state.aiCfoState, chatSessionId, questionAnswerId);
|
|
16
|
+
const visualization = qa?.responses.answer?.content.visualization;
|
|
17
|
+
if (visualization?.type !== 'interactive_form') {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
const data = visualization.data;
|
|
21
|
+
if (!('formType' in data) || data.formType !== 'cards_creation') {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
return data.payload;
|
|
25
|
+
};
|
|
26
|
+
// Pusher may target "latest QA"; REST always carries the id. Either way,
|
|
27
|
+
// resolve to the QA the reducer just wrote so we can read it off state.
|
|
28
|
+
const resolveQuestionAnswerId = (state, action) => {
|
|
29
|
+
if (action.payload.questionAnswerId != null) {
|
|
30
|
+
return action.payload.questionAnswerId;
|
|
31
|
+
}
|
|
32
|
+
const session = state.aiCfoState.aiCfoByChatSessionId[action.payload.chatSessionId];
|
|
33
|
+
return session?.questionAnswers.slice(-1)[0]?.questionAnswerId;
|
|
34
|
+
};
|
|
35
|
+
const isSeedTrigger = (action) => aiCfoReducer_1.upsertAnswerPayload.match(action) ||
|
|
36
|
+
aiCfoReducer_1.upsertOrAddQuestionAnswerPayload.match(action);
|
|
37
|
+
const seedAiCardCreationFormDraftEpic = (actions$, state$) => actions$.pipe((0, operators_1.mergeMap)((action) => {
|
|
38
|
+
if (issueChargeCardReducer_1.issueChargeCardSuccessOrFailure.match(action) &&
|
|
39
|
+
action.payload.fetchState === 'Completed') {
|
|
40
|
+
return (0, rxjs_1.of)((0, issueChargeCardReducer_1.clearAiCardCreationFormDraft)());
|
|
41
|
+
}
|
|
42
|
+
if (!isSeedTrigger(action)) {
|
|
43
|
+
return rxjs_1.EMPTY;
|
|
44
|
+
}
|
|
45
|
+
const state = state$.value;
|
|
46
|
+
const questionAnswerId = resolveQuestionAnswerId(state, action);
|
|
47
|
+
if (questionAnswerId == null) {
|
|
48
|
+
return rxjs_1.EMPTY;
|
|
49
|
+
}
|
|
50
|
+
const payload = readCardsCreationPayload(state, action.payload.chatSessionId, questionAnswerId);
|
|
51
|
+
if (payload == null) {
|
|
52
|
+
return rxjs_1.EMPTY;
|
|
53
|
+
}
|
|
54
|
+
const allUsersNow = readAllUsersAsUserArray(state);
|
|
55
|
+
if (allUsersNow.length > 0) {
|
|
56
|
+
return (0, rxjs_1.of)((0, issueChargeCardReducer_1.seedAiCardCreationFormDraft)(allUsersNow, payload));
|
|
57
|
+
}
|
|
58
|
+
const seedWhenUsersLoaded$ = state$.pipe((0, operators_1.map)(readAllUsersAsUserArray), (0, operators_1.distinctUntilChanged)((prev, next) => prev.length === next.length &&
|
|
59
|
+
prev.every((user, idx) => user === next[idx])), (0, operators_1.filter)((users) => users.length > 0), (0, operators_1.take)(1), (0, operators_1.map)((users) => (0, issueChargeCardReducer_1.seedAiCardCreationFormDraft)(users, payload)));
|
|
60
|
+
const userListFetchState = state.userListViewState.userListByType.cardHolderCandidate.fetchState;
|
|
61
|
+
if (userListFetchState === 'In-Progress') {
|
|
62
|
+
return seedWhenUsersLoaded$;
|
|
63
|
+
}
|
|
64
|
+
return (0, rxjs_1.concat)((0, rxjs_1.of)((0, userListViewReducer_1.fetchUserListByType)('cardHolderCandidate', false)), seedWhenUsersLoaded$);
|
|
65
|
+
}));
|
|
66
|
+
exports.seedAiCardCreationFormDraftEpic = seedAiCardCreationFormDraftEpic;
|
package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toIssueChargeCardLocalDataFromDraft = void 0;
|
|
4
|
+
// V1: AI CFO only issues monthly business_virtual_credit_cards. Form has no
|
|
5
|
+
// frequency field; the unused physicalCard/debitCard slots are filled with
|
|
6
|
+
// empty defaults the epic ignores.
|
|
7
|
+
const DEFAULT_FREQUENCY = 'monthly';
|
|
8
|
+
const DEFAULT_CURRENCY_CODE = 'USD';
|
|
9
|
+
const DEFAULT_CURRENCY_SYMBOL = '$';
|
|
10
|
+
const mapCardRow = (row) => {
|
|
11
|
+
const ownerUserId = row.owner.selectedUser?.userId;
|
|
12
|
+
return {
|
|
13
|
+
lineId: row.id,
|
|
14
|
+
chargeCardType: 'credit_card',
|
|
15
|
+
creditCard: {
|
|
16
|
+
cardType: 'business_virtual_credit_card',
|
|
17
|
+
virtualCard: {
|
|
18
|
+
cardName: row.label,
|
|
19
|
+
frequency: DEFAULT_FREQUENCY,
|
|
20
|
+
userIds: ownerUserId != null ? [ownerUserId] : [],
|
|
21
|
+
amount: {
|
|
22
|
+
amount: row.recommendedLimit ?? 0,
|
|
23
|
+
currencyCode: DEFAULT_CURRENCY_CODE,
|
|
24
|
+
currencySymbol: DEFAULT_CURRENCY_SYMBOL,
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
physicalCard: {
|
|
28
|
+
cardName: '',
|
|
29
|
+
frequency: DEFAULT_FREQUENCY,
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
debitCard: {
|
|
33
|
+
cardType: 'business_virtual_debit_card',
|
|
34
|
+
virtualCard: {
|
|
35
|
+
cardName: '',
|
|
36
|
+
frequency: DEFAULT_FREQUENCY,
|
|
37
|
+
userIds: [],
|
|
38
|
+
},
|
|
39
|
+
physicalCard: {
|
|
40
|
+
cardName: '',
|
|
41
|
+
frequency: DEFAULT_FREQUENCY,
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
// Returns [] when `cardRows` is empty so callers can short-circuit submission.
|
|
47
|
+
const toIssueChargeCardLocalDataFromDraft = (draft) => draft.cardRows.map(mapCardRow);
|
|
48
|
+
exports.toIssueChargeCardLocalDataFromDraft = toIssueChargeCardLocalDataFromDraft;
|
|
@@ -14,7 +14,7 @@ export declare const fetchTaskListPage: import("@reduxjs/toolkit").ActionCreator
|
|
|
14
14
|
archived?: TaskPayload[];
|
|
15
15
|
deleted?: TaskPayload[];
|
|
16
16
|
snoozed?: TaskPayload[];
|
|
17
|
-
}, "taskList/updateTaskList">, updateTaskListTab: import("@reduxjs/toolkit").ActionCreatorWithPayload<"deleted" | "
|
|
17
|
+
}, "taskList/updateTaskList">, updateTaskListTab: import("@reduxjs/toolkit").ActionCreatorWithPayload<"deleted" | "archived" | "live" | "snoozed", "taskList/updateTaskListTab">, updateTaskListFetchStatus: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
18
18
|
fetchState: FetchState;
|
|
19
19
|
error?: ZeniAPIStatus;
|
|
20
20
|
}, "taskList/updateTaskListFetchStatus">, updateTaskListSearchText: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
@@ -8,7 +8,7 @@ import { JournalEntryTransactionLine, Line, TransactionLineBase } from '../../en
|
|
|
8
8
|
* is testable and reusable.
|
|
9
9
|
*/
|
|
10
10
|
export declare const JOURNAL_ENTRY_SORT_KEYS: readonly ["description", "name", "category", "class", "debit", "credit"];
|
|
11
|
-
export declare const toJournalEntrySortKey: (v: string) => "
|
|
11
|
+
export declare const toJournalEntrySortKey: (v: string) => "category" | "class" | "description" | "name" | "credit" | "debit";
|
|
12
12
|
export type JournalEntrySortKey = ReturnType<typeof toJournalEntrySortKey>;
|
|
13
13
|
export interface JournalEntryRowSortConfig {
|
|
14
14
|
sortKey: JournalEntrySortKey;
|
package/lib/zeniAPI.d.ts
CHANGED
|
@@ -10,7 +10,6 @@ export interface RESTAPIEndpoints {
|
|
|
10
10
|
readonly authMicroServiceBaseUrl: string;
|
|
11
11
|
readonly bankingMicroServiceBaseUrl: string;
|
|
12
12
|
readonly cardMicroServiceBaseUrl: string;
|
|
13
|
-
readonly cashManagementAgentBaseUrl: string;
|
|
14
13
|
readonly communicationAgentMicroServiceBaseUrl: string;
|
|
15
14
|
readonly documentAIMicroServiceBaseUrl: string;
|
|
16
15
|
readonly fileMicroServiceBaseUrl: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "5.0.93
|
|
3
|
+
"version": "5.0.93",
|
|
4
4
|
"description": "Shared module between Web & Mobile containing required abstractions for state management, async network communication. ",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/esm/index.js",
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { toAmount } from '../../../../commonStateTypes/amount';
|
|
2
|
-
import { getNextTransferDate } from '../../../../commonStateTypes/workingDayHelper';
|
|
3
|
-
import { date } from '../../../../zeniDayJS';
|
|
4
|
-
import { toAutoSweepFrequency, } from './autoSweepFlowState';
|
|
5
|
-
export const toSaveAutoSweepSettingsBody = (state) => ({
|
|
6
|
-
first_run_date: getNextTransferDate(state.frequency).format('YYYY-MM-DD'),
|
|
7
|
-
frequency: state.frequency,
|
|
8
|
-
memo: state.memo,
|
|
9
|
-
minimum_buffer_usd: state.bufferAmount.amount,
|
|
10
|
-
});
|
|
11
|
-
/**
|
|
12
|
-
* Map a `GET /cash-management/settings` payload into the slice's writable
|
|
13
|
-
* fields. Defensive on the frequency (string-from-the-wire → union via
|
|
14
|
-
* `toAutoSweepFrequency`, falling back to `'weekly'` if the server returns
|
|
15
|
-
* something we don't model yet). Only the source account *id* is stored
|
|
16
|
-
* here — the full deposit-account payload is published to the entity bucket
|
|
17
|
-
* by the fetch epic.
|
|
18
|
-
*/
|
|
19
|
-
export const toAutoSweepFlowStatePatch = (payload) => {
|
|
20
|
-
const currencyCode = payload.source_bank_account.balances?.currency_code;
|
|
21
|
-
const currencySymbol = payload.source_bank_account.balances?.currency_symbol;
|
|
22
|
-
return {
|
|
23
|
-
bufferAmount: toAmount(payload.minimum_buffer_usd, currencyCode ?? 'USD', currencySymbol ?? '$'),
|
|
24
|
-
frequency: toAutoSweepFrequency(payload.frequency) ?? 'weekly',
|
|
25
|
-
nextTransferDate: payload.next_transfer_date != null && payload.next_transfer_date !== ''
|
|
26
|
-
? date(payload.next_transfer_date)
|
|
27
|
-
: undefined,
|
|
28
|
-
primaryFundingAccountId: payload.source_bank_account.deposit_account_id ?? undefined,
|
|
29
|
-
settingsId: payload.cash_management_settings_id ?? undefined,
|
|
30
|
-
};
|
|
31
|
-
};
|
|
@@ -1,69 +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
|
-
* Stage the in-flight form values without submitting them — fired from
|
|
37
|
-
* the setup→review transition so other selectors (and devtools) can see
|
|
38
|
-
* what the user is about to confirm. Leaves `saveStatus` untouched; the
|
|
39
|
-
* actual PUT only kicks off when the user clicks "Confirm Sweep" via
|
|
40
|
-
* `saveAutoSweepSettings`.
|
|
41
|
-
*/
|
|
42
|
-
updateAutoSweepDraft(draft, action) {
|
|
43
|
-
draft.bufferAmount = action.payload.bufferAmount;
|
|
44
|
-
draft.frequency = action.payload.frequency;
|
|
45
|
-
draft.memo = action.payload.memo;
|
|
46
|
-
},
|
|
47
|
-
/**
|
|
48
|
-
* Trigger the PUT for the auto-sweep settings already staged via
|
|
49
|
-
* `updateAutoSweepDraft`. Carries no payload — flips `saveStatus` to
|
|
50
|
-
* `In-Progress` and the save epic reads `bufferAmount` / `frequency` /
|
|
51
|
-
* `memo` straight from the slice. Callers must ensure those fields
|
|
52
|
-
* reflect the user's latest input before dispatching.
|
|
53
|
-
*/
|
|
54
|
-
saveAutoSweepSettings(draft) {
|
|
55
|
-
draft.saveStatus = { fetchState: 'In-Progress', error: undefined };
|
|
56
|
-
},
|
|
57
|
-
updateAutoSweepSettingsFetchStatus(draft, action) {
|
|
58
|
-
draft.saveStatus = {
|
|
59
|
-
fetchState: action.payload.fetchState,
|
|
60
|
-
error: action.payload.error,
|
|
61
|
-
};
|
|
62
|
-
},
|
|
63
|
-
clearAutoSweepFlow() {
|
|
64
|
-
return initialAutoSweepFlowState;
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
});
|
|
68
|
-
export const { fetchCashManagementSettings, updateCashManagementSettings, updateCashManagementSettingsFetchStatus, updateAutoSweepDraft, saveAutoSweepSettings, updateAutoSweepSettingsFetchStatus, clearAutoSweepFlow, } = autoSweepFlow.actions;
|
|
69
|
-
export default autoSweepFlow.reducer;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { getDepositAccountByDepositAccountId } from '../../../../entity/depositAccount/depositAccountSelector';
|
|
2
|
-
import { mapDepositAccToFundingAccount, } from '../../commonSetup/setupViewSelector';
|
|
3
|
-
import { getTreasuryDetail } from '../../treasury/treasuryList/treasuryDetailSelector';
|
|
4
|
-
import { getCashManagementOverviewBanner } from '../cashManagementOverview/cashManagementOverviewSelector';
|
|
5
|
-
import { bufferAmountToRisk, } from './autoSweepFlowState';
|
|
6
|
-
export const getAutoSweepFlow = (state) => {
|
|
7
|
-
const { bufferAmount, frequency, memo, saveStatus, settingsId, primaryFundingAccountId, fetchState, error, } = state.autoSweepFlowState;
|
|
8
|
-
const depositAccount = primaryFundingAccountId != null
|
|
9
|
-
? getDepositAccountByDepositAccountId(state.depositAccountState, primaryFundingAccountId)
|
|
10
|
-
: undefined;
|
|
11
|
-
return {
|
|
12
|
-
fetchState,
|
|
13
|
-
error,
|
|
14
|
-
formData: {
|
|
15
|
-
bufferAmount,
|
|
16
|
-
frequency,
|
|
17
|
-
memo,
|
|
18
|
-
risk: bufferAmountToRisk(bufferAmount.amount),
|
|
19
|
-
},
|
|
20
|
-
primaryFundingAccount: depositAccount != null
|
|
21
|
-
? mapDepositAccToFundingAccount(depositAccount)
|
|
22
|
-
: undefined,
|
|
23
|
-
saveStatus,
|
|
24
|
-
settingsId,
|
|
25
|
-
sweepAmount: getCashManagementOverviewBanner(state).amount,
|
|
26
|
-
treasurySummary: getTreasuryDetail(state).accountSummary,
|
|
27
|
-
version: 0,
|
|
28
|
-
};
|
|
29
|
-
};
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { toAmount } from '../../../../commonStateTypes/amount';
|
|
2
|
-
import { stringToUnion } from '../../../../commonStateTypes/stringToUnion';
|
|
3
|
-
/**
|
|
4
|
-
* Cadence at which the auto-sweep transfer fires. Lowercase to match the
|
|
5
|
-
* cash-management settings API contract (and the `SweepFrequency` literal
|
|
6
|
-
* already used by `<AutoSweepSetupPage>` in web-components).
|
|
7
|
-
*/
|
|
8
|
-
export const ALL_AUTO_SWEEP_FREQUENCIES = [
|
|
9
|
-
'daily',
|
|
10
|
-
'weekly',
|
|
11
|
-
'biweekly',
|
|
12
|
-
'monthly',
|
|
13
|
-
];
|
|
14
|
-
export const toAutoSweepFrequency = (v) => stringToUnion(v ?? '', ALL_AUTO_SWEEP_FREQUENCIES);
|
|
15
|
-
/**
|
|
16
|
-
* Risk presets the auto-sweep setup form exposes. Each level maps to a
|
|
17
|
-
* canonical minimum-buffer amount (USD). Selecting a level in the UI is
|
|
18
|
-
* shorthand for choosing that buffer.
|
|
19
|
-
*/
|
|
20
|
-
export const ALL_AUTO_SWEEP_RISK_LEVELS = ['low', 'moderate', 'high'];
|
|
21
|
-
export const toAutoSweepRiskLevel = (v) => stringToUnion(v ?? '', ALL_AUTO_SWEEP_RISK_LEVELS);
|
|
22
|
-
export const RISK_BUFFER_AMOUNT = {
|
|
23
|
-
low: 15000,
|
|
24
|
-
moderate: 10000,
|
|
25
|
-
high: 5000,
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Maps a buffer amount back onto the closest preset risk level. Falls back
|
|
29
|
-
* to `'moderate'` when the amount doesn't match a known preset (e.g. the
|
|
30
|
-
* server returned a custom value). The dropdown in `<AutoSweepSetupPage>`
|
|
31
|
-
* uses this so it can pre-select the user's existing band on edit.
|
|
32
|
-
*/
|
|
33
|
-
export const bufferAmountToRisk = (amount) => {
|
|
34
|
-
const match = Object.entries(RISK_BUFFER_AMOUNT).find(([, presetAmount]) => presetAmount === amount);
|
|
35
|
-
return match != null ? match[0] : 'moderate';
|
|
36
|
-
};
|
|
37
|
-
export const initialAutoSweepFlowState = {
|
|
38
|
-
bufferAmount: toAmount(10000, 'USD', '$'),
|
|
39
|
-
frequency: 'weekly',
|
|
40
|
-
memo: '',
|
|
41
|
-
saveStatus: { fetchState: 'Not-Started', error: undefined },
|
|
42
|
-
nextTransferDate: undefined,
|
|
43
|
-
primaryFundingAccountId: undefined,
|
|
44
|
-
settingsId: undefined,
|
|
45
|
-
fetchState: 'Not-Started',
|
|
46
|
-
error: undefined,
|
|
47
|
-
};
|