@zeniai/client-epic-state 4.20.0-betaNB1 → 4.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/lib/commonStateTypes/animations.d.ts +1 -1
  2. package/lib/commonStateTypes/animations.js +0 -3
  3. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  4. package/lib/entity/snackbar/snackbarTypes.js +0 -5
  5. package/lib/epic.d.ts +1 -7
  6. package/lib/epic.js +1 -7
  7. package/lib/esm/commonStateTypes/animations.js +0 -3
  8. package/lib/esm/entity/snackbar/snackbarTypes.js +0 -5
  9. package/lib/esm/epic.js +1 -7
  10. package/lib/esm/index.js +0 -2
  11. package/lib/esm/reducer.js +0 -3
  12. package/lib/esm/view/spendManagement/treasury/treasuryList/epics/fetchTreasuryDetailEpic.js +2 -2
  13. package/lib/esm/view/spendManagement/treasury/treasuryList/treasuryDetailReducer.js +1 -2
  14. package/lib/index.d.ts +2 -6
  15. package/lib/index.js +1 -13
  16. package/lib/reducer.d.ts +0 -3
  17. package/lib/reducer.js +0 -3
  18. package/lib/tsconfig.typecheck.tsbuildinfo +1 -0
  19. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  20. package/lib/view/spendManagement/treasury/treasuryList/epics/fetchTreasuryDetailEpic.js +2 -2
  21. package/lib/view/spendManagement/treasury/treasuryList/treasuryDetailReducer.d.ts +1 -2
  22. package/lib/view/spendManagement/treasury/treasuryList/treasuryDetailReducer.js +1 -2
  23. package/package.json +1 -1
  24. package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesPayload.js +0 -26
  25. package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesReducer.js +0 -199
  26. package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +0 -52
  27. package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesState.js +0 -1
  28. package/lib/esm/view/spendManagement/autotransferRules/epics/createAutoTransferRuleEpic.js +0 -91
  29. package/lib/esm/view/spendManagement/autotransferRules/epics/deleteAutoTransferRuleEpic.js +0 -48
  30. package/lib/esm/view/spendManagement/autotransferRules/epics/fetchAutoTransferReviewDetailEpic.js +0 -30
  31. package/lib/esm/view/spendManagement/autotransferRules/epics/fetchAutoTransferRuleHistory.js +0 -45
  32. package/lib/esm/view/spendManagement/autotransferRules/epics/fetchAutoTransferRulesEpic.js +0 -52
  33. package/lib/esm/view/spendManagement/autotransferRules/epics/updateAutoTransferRuleEpic.js +0 -69
  34. package/lib/view/spendManagement/autotransferRules/autoTransferRulesPayload.d.ts +0 -75
  35. package/lib/view/spendManagement/autotransferRules/autoTransferRulesPayload.js +0 -30
  36. package/lib/view/spendManagement/autotransferRules/autoTransferRulesReducer.d.ts +0 -50
  37. package/lib/view/spendManagement/autotransferRules/autoTransferRulesReducer.js +0 -206
  38. package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.d.ts +0 -24
  39. package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +0 -61
  40. package/lib/view/spendManagement/autotransferRules/autoTransferRulesState.d.ts +0 -38
  41. package/lib/view/spendManagement/autotransferRules/autoTransferRulesState.js +0 -2
  42. package/lib/view/spendManagement/autotransferRules/epics/createAutoTransferRuleEpic.d.ts +0 -12
  43. package/lib/view/spendManagement/autotransferRules/epics/createAutoTransferRuleEpic.js +0 -97
  44. package/lib/view/spendManagement/autotransferRules/epics/deleteAutoTransferRuleEpic.d.ts +0 -8
  45. package/lib/view/spendManagement/autotransferRules/epics/deleteAutoTransferRuleEpic.js +0 -52
  46. package/lib/view/spendManagement/autotransferRules/epics/fetchAutoTransferReviewDetailEpic.d.ts +0 -7
  47. package/lib/view/spendManagement/autotransferRules/epics/fetchAutoTransferReviewDetailEpic.js +0 -34
  48. package/lib/view/spendManagement/autotransferRules/epics/fetchAutoTransferRuleHistory.d.ts +0 -7
  49. package/lib/view/spendManagement/autotransferRules/epics/fetchAutoTransferRuleHistory.js +0 -52
  50. package/lib/view/spendManagement/autotransferRules/epics/fetchAutoTransferRulesEpic.d.ts +0 -10
  51. package/lib/view/spendManagement/autotransferRules/epics/fetchAutoTransferRulesEpic.js +0 -56
  52. package/lib/view/spendManagement/autotransferRules/epics/updateAutoTransferRuleEpic.d.ts +0 -8
  53. package/lib/view/spendManagement/autotransferRules/epics/updateAutoTransferRuleEpic.js +0 -73
@@ -37,7 +37,7 @@ export declare const getLineItemsByTransactionsIdsFromResponse: (transactions: S
37
37
  export declare const getLineItemsByTransactionIdsFromLocalData: (transactionLocalData: TransactionReviewLocalDataSelectorView[], selectedTab: TransactionsTab) => Record<ID, string[]>;
38
38
  export declare const mergeTabSpecificLineItems: (currentTabSpecificLineItems: TabSpecificLineItems, selectedTab: TransactionsTab, newLineItems: TabSpecificLineItems) => TabSpecificLineItems;
39
39
  export declare const getSnackbarMessageForTransactionReview: (updatedCount: number, failedCount: number, categorizedCount: number) => {
40
- messageSection: "common" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "je_bill_link" | "je_posted" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_setup" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "reimbursement_bulk_submit" | "reimbursement_bulk_processed" | "bill_pay_setup" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "bill_pay_refund" | "bill_pay_retry" | "bill_pay_marked_as_paid" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_setup" | "charge_card_accept_term" | "charge_card_receipt_upload" | "charge_card_resend_invite" | "charge_card_revoke_invite" | "charge_card_update_limit" | "charge_cards_update_limit" | "close_charge_card" | "lock_charge_card" | "lock_charge_card_card_user" | "lock_charge_cards" | "unlock_charge_card" | "unlock_charge_card_card_user" | "unlock_charge_cards" | "close_charge_cards" | "revoke_invite_charge_cards" | "charge_card_express_interest" | "create_schedule" | "save_schedule" | "delete_schedule" | "ignore_schedule" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "create_tag" | "delete_tag" | "update_charge_card" | "update_charge_card_name" | "update_charge_card_name_card_user" | "issue_charge_card" | "issue_charge_cards" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "cancel_journal_entry" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success" | "primary_funding_account_updated" | "task_time_spent_validation" | "missing_receipts_attachment" | "flux_analysis_unreviewed" | "flux_analysis_reviewed" | "receipt_match" | "receipts_upload" | "billing_address_view" | "express_pay_submit" | "exclude_transaction" | "reconcile" | "save_reconcile_for_later" | "recon_transaction_categorize" | "recon_transaction_match" | "update_debit_card_pin_attempt" | "set_debit_card_pin" | "ai_cfo_create_session_and_submit" | "ai_cfo_chat_session_deleted" | "charge_card_auto_pay_enable" | "charge_card_auto_pay_disable" | "treasury_setup" | "treasury_accept_term" | "treasury_transfer_money" | "treasury_transfer_money_failed" | "auto_transfer_rule_create" | "auto_transfer_rule_update" | "auto_transfer_rule_delete" | "auto_transfer_rule_pause" | "auto_transfer_rule_resume" | "treasury_update_portfolio_allocation" | "send_email_magic_link_to_user" | "complete_profile_done" | "reports_resync" | "invalid_phone_number" | "transactions_categorized_updated_failed" | "transaction_categorized_updated_failed" | "transactionsCategorized_transactionsUpdated" | "transactionsCategorized_transactionUpdated" | "transactionCategorized_transactionsUpdated" | "transactionCategorized_transactionUpdated" | "transactionsCategorized_transactionsFailed" | "transactionsCategorized_transactionFailed" | "transactionCategorized_transactionsFailed" | "transactionCategorized_transactionFailed" | "transactionsUpdated_transactionsFailed" | "transactionsUpdated_transactionFailed" | "transactionUpdated_transactionsFailed" | "transactionUpdated_transactionFailed" | "transactionsCategorized_transactionsUpdated_transactionsFailed" | "transactionsCategorized_transactionsUpdated_transactionFailed" | "transactionsCategorized_transactionUpdated_transactionsFailed" | "transactionCategorized_transactionsUpdated_transactionsFailed" | "transactionsCategorized_transactionUpdated_transactionFailed" | "transactionCategorized_transactionsUpdated_transactionFailed" | "transactionCategorized_transactionUpdated_transactionsFailed" | "transactionCategorized_transactionUpdated_transactionFailed";
40
+ messageSection: "common" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "je_bill_link" | "je_posted" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_setup" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "reimbursement_bulk_submit" | "reimbursement_bulk_processed" | "bill_pay_setup" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "bill_pay_refund" | "bill_pay_retry" | "bill_pay_marked_as_paid" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_setup" | "charge_card_accept_term" | "charge_card_receipt_upload" | "charge_card_resend_invite" | "charge_card_revoke_invite" | "charge_card_update_limit" | "charge_cards_update_limit" | "close_charge_card" | "lock_charge_card" | "lock_charge_card_card_user" | "lock_charge_cards" | "unlock_charge_card" | "unlock_charge_card_card_user" | "unlock_charge_cards" | "close_charge_cards" | "revoke_invite_charge_cards" | "charge_card_express_interest" | "create_schedule" | "save_schedule" | "delete_schedule" | "ignore_schedule" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "create_tag" | "delete_tag" | "update_charge_card" | "update_charge_card_name" | "update_charge_card_name_card_user" | "issue_charge_card" | "issue_charge_cards" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "cancel_journal_entry" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success" | "primary_funding_account_updated" | "task_time_spent_validation" | "missing_receipts_attachment" | "flux_analysis_unreviewed" | "flux_analysis_reviewed" | "receipt_match" | "receipts_upload" | "billing_address_view" | "express_pay_submit" | "exclude_transaction" | "reconcile" | "save_reconcile_for_later" | "recon_transaction_categorize" | "recon_transaction_match" | "update_debit_card_pin_attempt" | "set_debit_card_pin" | "ai_cfo_create_session_and_submit" | "ai_cfo_chat_session_deleted" | "charge_card_auto_pay_enable" | "charge_card_auto_pay_disable" | "treasury_setup" | "treasury_accept_term" | "treasury_transfer_money" | "treasury_transfer_money_failed" | "treasury_update_portfolio_allocation" | "send_email_magic_link_to_user" | "complete_profile_done" | "reports_resync" | "invalid_phone_number" | "transactions_categorized_updated_failed" | "transaction_categorized_updated_failed" | "transactionsCategorized_transactionsUpdated" | "transactionsCategorized_transactionUpdated" | "transactionCategorized_transactionsUpdated" | "transactionCategorized_transactionUpdated" | "transactionsCategorized_transactionsFailed" | "transactionsCategorized_transactionFailed" | "transactionCategorized_transactionsFailed" | "transactionCategorized_transactionFailed" | "transactionsUpdated_transactionsFailed" | "transactionsUpdated_transactionFailed" | "transactionUpdated_transactionsFailed" | "transactionUpdated_transactionFailed" | "transactionsCategorized_transactionsUpdated_transactionsFailed" | "transactionsCategorized_transactionsUpdated_transactionFailed" | "transactionsCategorized_transactionUpdated_transactionsFailed" | "transactionCategorized_transactionsUpdated_transactionsFailed" | "transactionsCategorized_transactionUpdated_transactionFailed" | "transactionCategorized_transactionsUpdated_transactionFailed" | "transactionCategorized_transactionUpdated_transactionsFailed" | "transactionCategorized_transactionUpdated_transactionFailed";
41
41
  messageText: "notification" | "success" | "failed";
42
42
  type: "error" | "success" | "info";
43
43
  variables: {
@@ -9,7 +9,7 @@ const treasuryStatementListReducer_1 = require("../../treasuryStatementList/trea
9
9
  const treasuryTaxLetterListReducer_1 = require("../../treasuryTaxLetterList/treasuryTaxLetterListReducer");
10
10
  const treasuryDetailReducer_1 = require("../treasuryDetailReducer");
11
11
  const fetchTreasuryDetailEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(treasuryDetailReducer_1.fetchTreasuryOverviewDetail.match), (0, operators_1.switchMap)((action) => {
12
- const { cacheOverride, fetchOnlySummary } = action.payload;
12
+ const { cacheOverride } = action.payload;
13
13
  const state = state$.value;
14
14
  const treasuryActions = [];
15
15
  if (cacheOverride === true) {
@@ -20,7 +20,7 @@ const fetchTreasuryDetailEpic = (actions$, state$, zeniAPI) => actions$.pipe((0,
20
20
  treasuryActions.push((0, treasuryDetailReducer_1.fetchTreasuryHistory)());
21
21
  treasuryActions.push((0, treasuryDetailReducer_1.fetchTreasuryTransactionList)(true));
22
22
  }
23
- else if (fetchOnlySummary !== true) {
23
+ else {
24
24
  // Check treasury statement list state
25
25
  const treasuryStatementListState = state.treasuryStatementListState;
26
26
  if (treasuryStatementListState.hasValidState() === false &&
@@ -4,9 +4,8 @@ import { TreasuryTransferMoneyResponsePayload } from '../treasuryTransferMoney/t
4
4
  import { FetchTreasuryAccountHistoryResponse, FetchTreasuryDetailResponse, TreasuryTransactionPayload } from './treasuryDetailPayload';
5
5
  import { TreasuryDetailState, TreasuryListUIState } from './treasuryDetailState';
6
6
  export declare const initialState: TreasuryDetailState;
7
- export declare const fetchTreasuryOverviewDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cacheOverride: boolean, fetchOnlySummary?: boolean | undefined], {
7
+ export declare const fetchTreasuryOverviewDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cacheOverride: boolean], {
8
8
  cacheOverride: boolean;
9
- fetchOnlySummary: boolean | undefined;
10
9
  }, "treasuryDetail/fetchTreasuryOverviewDetail", never, never>, fetchTreasuryHistory: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"treasuryDetail/fetchTreasuryHistory">, fetchTreasuryHistorySuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
11
10
  data: FetchTreasuryAccountHistoryResponse;
12
11
  }, "treasuryDetail/fetchTreasuryHistorySuccess">, fetchTreasuryHistoryFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
@@ -34,11 +34,10 @@ const treasuryDetail = (0, toolkit_1.createSlice)({
34
34
  reducer(draft) {
35
35
  draft.fetchState = 'In-Progress';
36
36
  },
37
- prepare(cacheOverride, fetchOnlySummary) {
37
+ prepare(cacheOverride) {
38
38
  return {
39
39
  payload: {
40
40
  cacheOverride,
41
- fetchOnlySummary,
42
41
  },
43
42
  };
44
43
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "4.20.0-betaNB1",
3
+ "version": "4.20.0",
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,26 +0,0 @@
1
- import { date } from '../../../zeniDayJS';
2
- export const mapPayloadToAutoTransferRule = (payload) => ({
3
- amount: payload.amount,
4
- autoTransferRuleId: payload.auto_transfer_rule_id,
5
- createTime: payload.create_time != null ? date(payload.create_time) : undefined,
6
- currencyCode: payload.currency_code,
7
- currencySymbol: payload.currency_symbol ?? '$',
8
- destinationBankAccountId: payload.destination_bank_account_id,
9
- destinationBankAccountMetadata: payload.destination_bank_account_metadata?.map((m) => ({
10
- accountId: m.account_id,
11
- accountType: m.account_type,
12
- percentage: m.percentage,
13
- })) ?? undefined,
14
- destinationBankAccountType: payload.destination_bank_account_type ?? undefined,
15
- frequency: payload.frequency,
16
- isActive: payload.is_active,
17
- isDeleted: payload.is_deleted,
18
- lastRunTime: payload.last_run_time,
19
- nextTransferDate: payload.next_transfer_date != null
20
- ? date(payload.next_transfer_date)
21
- : undefined,
22
- ruleType: payload.rule_type,
23
- sourceBankAccountId: payload.source_bank_account_id,
24
- sourceBankAccountType: payload.source_bank_account_type,
25
- updateTime: payload.update_time != null ? date(payload.update_time) : undefined,
26
- });
@@ -1,199 +0,0 @@
1
- import { createSlice } from '@reduxjs/toolkit';
2
- import recordGet from 'lodash/get';
3
- import { initialCommonHistory } from '../commonHistoryView/commonHistory';
4
- import { toHistoricEvent, } from '../commonHistoryView/commonHistoryPayload';
5
- import { mapReviewTransferMoneyPayloadToReviewTransferMoney, } from '../zeniAccounts/transferDetail/transferDetailPayload';
6
- export const initialState = {
7
- autoTransferReviewDetail: {
8
- reviewTransferMoney: {
9
- isShowDailyAchLimitWarning: false,
10
- dailyAchDebitLimit: {
11
- amount: 0,
12
- currencyCode: 'USD',
13
- currencySymbol: '$',
14
- },
15
- transferSchedules: [],
16
- },
17
- fetchState: 'Not-Started',
18
- error: undefined,
19
- },
20
- historyByRuleId: {},
21
- ruleDeleteStatusById: {},
22
- ruleUpdateLocalData: {},
23
- ruleUpdateStatusById: {},
24
- rules: [],
25
- fetchState: 'Not-Started',
26
- error: undefined,
27
- createRuleFetchState: {
28
- fetchState: 'Not-Started',
29
- error: undefined,
30
- },
31
- hasValidState() {
32
- return this.fetchState === 'Completed';
33
- },
34
- };
35
- const autotransferRules = createSlice({
36
- name: 'autotransferRules',
37
- initialState,
38
- reducers: {
39
- fetchAutoTransferRules: {
40
- reducer(draft) {
41
- draft.fetchState = 'In-Progress';
42
- },
43
- prepare(cacheOverride = false) {
44
- return {
45
- payload: {
46
- cacheOverride,
47
- },
48
- };
49
- },
50
- },
51
- updateAutoTransferRules(draft, action) {
52
- draft.rules = action.payload.rules;
53
- draft.fetchState = 'Completed';
54
- draft.error = undefined;
55
- },
56
- updateAutoTransferRulesFailure(draft, action) {
57
- draft.fetchState = action.payload.fetchState;
58
- draft.error = action.payload.error;
59
- },
60
- updateRuleLocalData(draft, action) {
61
- draft.ruleUpdateLocalData = {
62
- ...draft.ruleUpdateLocalData,
63
- ...action.payload,
64
- };
65
- },
66
- clearRuleUpdateLocalData(draft) {
67
- draft.ruleUpdateLocalData = {};
68
- },
69
- fetchAutoTransferReviewDetail(draft) {
70
- draft.autoTransferReviewDetail.fetchState = 'In-Progress';
71
- draft.autoTransferReviewDetail.error = undefined;
72
- },
73
- updateAutoTransferReviewDetail(draft, action) {
74
- draft.autoTransferReviewDetail.fetchState = 'Completed';
75
- draft.autoTransferReviewDetail.error = undefined;
76
- draft.autoTransferReviewDetail.reviewTransferMoney =
77
- mapReviewTransferMoneyPayloadToReviewTransferMoney(action.payload);
78
- },
79
- updateAutoTransferReviewDetailFailure(draft, action) {
80
- draft.autoTransferReviewDetail.fetchState = 'Error';
81
- draft.autoTransferReviewDetail.error = action.payload;
82
- },
83
- clearAutoTransferReviewDetail(draft) {
84
- draft.autoTransferReviewDetail = initialState.autoTransferReviewDetail;
85
- },
86
- createAutoTransferRule(draft) {
87
- draft.createRuleFetchState = {
88
- fetchState: 'In-Progress',
89
- error: undefined,
90
- };
91
- },
92
- createAutoTransferRuleSuccess(draft, action) {
93
- draft.rules = [...draft.rules, action.payload.rule];
94
- draft.createRuleFetchState = {
95
- fetchState: 'Completed',
96
- error: undefined,
97
- };
98
- },
99
- createAutoTransferRuleFailure(draft, action) {
100
- draft.createRuleFetchState = {
101
- fetchState: action.payload.fetchState,
102
- error: action.payload.error,
103
- };
104
- },
105
- updateAutoTransferRule: {
106
- reducer(draft, action) {
107
- draft.ruleUpdateStatusById[action.payload.ruleId] = {
108
- fetchState: 'In-Progress',
109
- error: undefined,
110
- };
111
- },
112
- prepare(ruleId, pauseRule, resumeRule) {
113
- return { payload: { ruleId, pauseRule, resumeRule } };
114
- },
115
- },
116
- updateAutoTransferRuleSuccess(draft, action) {
117
- const updatedRule = action.payload.rule;
118
- draft.rules = draft.rules.map((rule) => rule.autoTransferRuleId === updatedRule.autoTransferRuleId
119
- ? updatedRule
120
- : rule);
121
- draft.ruleUpdateStatusById[updatedRule.autoTransferRuleId] = {
122
- fetchState: 'Completed',
123
- error: undefined,
124
- };
125
- },
126
- updateAutoTransferRuleFailure(draft, action) {
127
- draft.ruleUpdateStatusById[action.payload.ruleId] = {
128
- fetchState: action.payload.fetchState,
129
- error: action.payload.error,
130
- };
131
- },
132
- deleteAutoTransferRule: {
133
- reducer(draft, action) {
134
- draft.ruleDeleteStatusById[action.payload.ruleId] = {
135
- fetchState: 'In-Progress',
136
- error: undefined,
137
- };
138
- },
139
- prepare(ruleId) {
140
- return { payload: { ruleId } };
141
- },
142
- },
143
- deleteAutoTransferRuleSuccess(draft, action) {
144
- const { ruleId } = action.payload;
145
- draft.rules = draft.rules.filter((rule) => rule.autoTransferRuleId !== ruleId);
146
- draft.ruleDeleteStatusById[ruleId] = {
147
- fetchState: 'Completed',
148
- error: undefined,
149
- };
150
- },
151
- deleteAutoTransferRuleFailure(draft, action) {
152
- draft.ruleDeleteStatusById[action.payload.ruleId] = {
153
- fetchState: action.payload.fetchState,
154
- error: action.payload.error,
155
- };
156
- },
157
- fetchAutoTransferRuleHistory: {
158
- reducer(draft, action) {
159
- const { ruleId, cacheOverride } = action.payload;
160
- const detail = recordGet(draft.historyByRuleId, ruleId, undefined);
161
- if (cacheOverride === true ||
162
- detail == null ||
163
- detail.fetchState !== 'In-Progress') {
164
- draft.historyByRuleId[ruleId] = {
165
- ...initialCommonHistory,
166
- };
167
- }
168
- },
169
- prepare(ruleId, cacheOverride = true) {
170
- return {
171
- payload: { ruleId, cacheOverride },
172
- };
173
- },
174
- },
175
- updateAutoTransferRuleHistory(draft, action) {
176
- const { ruleId, historicEventsPayload } = action.payload;
177
- const historicEvents = historicEventsPayload.map((historicEventPayload) => toHistoricEvent(historicEventPayload));
178
- draft.historyByRuleId[ruleId] = {
179
- ...initialCommonHistory,
180
- fetchState: 'Completed',
181
- error: undefined,
182
- historicEvents,
183
- };
184
- },
185
- updateAutoTransferRuleHistoryFetchStatus(draft, action) {
186
- const { ruleId, fetchState, error } = action.payload;
187
- const detail = recordGet(draft.historyByRuleId, ruleId, undefined);
188
- if (detail != null) {
189
- detail.fetchState = fetchState;
190
- detail.error = error;
191
- }
192
- },
193
- clearAutoTransferRules(draft) {
194
- Object.assign(draft, initialState);
195
- },
196
- },
197
- });
198
- export const { fetchAutoTransferRules, updateAutoTransferRules, updateAutoTransferRulesFailure, fetchAutoTransferReviewDetail, updateAutoTransferReviewDetail, updateAutoTransferReviewDetailFailure, clearAutoTransferReviewDetail, createAutoTransferRule, createAutoTransferRuleSuccess, createAutoTransferRuleFailure, updateAutoTransferRule, updateAutoTransferRuleSuccess, updateAutoTransferRuleFailure, deleteAutoTransferRule, deleteAutoTransferRuleSuccess, deleteAutoTransferRuleFailure, fetchAutoTransferRuleHistory, updateAutoTransferRuleHistory, updateAutoTransferRuleHistoryFetchStatus, updateRuleLocalData, clearRuleUpdateLocalData, clearAutoTransferRules, } = autotransferRules.actions;
199
- export default autotransferRules.reducer;
@@ -1,52 +0,0 @@
1
- import recordGet from 'lodash/get';
2
- import { reduceAllFetchState } from '../../../commonStateTypes/reduceFetchState';
3
- import { getAllFundingAccounts, } from '../commonSetup/setupViewSelector';
4
- import { getAllDepositAccounts } from '../zeniAccounts/depositAccountList/depositAccountListSelector';
5
- import { getAllPaymentAccounts } from '../zeniAccounts/paymentAccountList/paymentAccountListSelector';
6
- export const getAutoTransferRules = (state) => {
7
- const { autotransferRulesState, depositAccountState, paymentAccountState, depositAccountListState, paymentAccountListState, treasuryDetailState, } = state;
8
- const { rules, error, historyByRuleId, ruleUpdateLocalData, ruleUpdateStatusById, ruleDeleteStatusById, createRuleFetchState, autoTransferReviewDetail, } = autotransferRulesState;
9
- const depositAccountsView = getAllDepositAccounts(depositAccountState, depositAccountListState);
10
- const paymentAccountsView = getAllPaymentAccounts(paymentAccountState, paymentAccountListState);
11
- let transferMoneyParties = [];
12
- const transferMoneyPartiesFetchState = reduceAllFetchState([
13
- depositAccountsView,
14
- paymentAccountsView,
15
- ]).fetchState;
16
- const fetchState = reduceAllFetchState([
17
- autotransferRulesState,
18
- depositAccountsView,
19
- paymentAccountsView,
20
- ]).fetchState;
21
- if (depositAccountsView.fetchState === 'Completed' &&
22
- paymentAccountsView.fetchState === 'Completed') {
23
- transferMoneyParties = getAllFundingAccounts(depositAccountsView.depositAccounts, paymentAccountsView.paymentAccounts, paymentAccountListState.paymentAccountBalanceFetchStatus);
24
- }
25
- const treasuryAccount = {
26
- accType: 'treasuryAccount',
27
- label: 'Treasury',
28
- id: 'treasury',
29
- balance: treasuryDetailState.accountSummary?.availableBalance,
30
- };
31
- return {
32
- autoTransferReviewDetail,
33
- rules,
34
- ruleUpdateLocalData,
35
- ruleUpdateStatusById,
36
- ruleDeleteStatusById,
37
- ruleHistory: historyByRuleId,
38
- treasuryAccount,
39
- transferMoneyParties,
40
- transferMoneyPartiesFetchState,
41
- createRuleFetchState,
42
- fetchState,
43
- error,
44
- version: 0,
45
- };
46
- };
47
- export const getAutoTransferRuleById = (state, ruleId) => {
48
- return state.autotransferRulesState.rules.find((rule) => rule.autoTransferRuleId === ruleId);
49
- };
50
- export const getAutoTransferRuleHistory = (state, ruleId) => {
51
- return recordGet(state.autotransferRulesState.historyByRuleId, ruleId, undefined);
52
- };
@@ -1,91 +0,0 @@
1
- import { from, of } from 'rxjs';
2
- import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
3
- import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
4
- import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
5
- import { mapPayloadToAutoTransferRule, } from '../autoTransferRulesPayload';
6
- import { createAutoTransferRule, createAutoTransferRuleFailure, createAutoTransferRuleSuccess, } from '../autoTransferRulesReducer';
7
- export const createAutoTransferRuleEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(createAutoTransferRule.match), switchMap(() => {
8
- const requestBody = mapAutoTransferRuleLocalDataToPayload(state$.value.autotransferRulesState.ruleUpdateLocalData);
9
- return zeniAPI
10
- .postAndGetJSON(`${zeniAPI.apiEndPoints.bankingMicroServiceBaseUrl}/1.0/rules/transfer/auto`, requestBody)
11
- .pipe(mergeMap((response) => {
12
- if (isSuccessResponse(response) && response.data != null) {
13
- const rule = mapPayloadToAutoTransferRule(response.data.auto_transfer_rule);
14
- const actions = [
15
- createAutoTransferRuleSuccess({ rule }),
16
- openSnackbar({
17
- messageSection: 'auto_transfer_rule_create',
18
- messageText: 'success',
19
- type: 'success',
20
- }),
21
- ];
22
- return from(actions);
23
- }
24
- else {
25
- return from([
26
- createAutoTransferRuleFailure({
27
- fetchState: 'Error',
28
- error: response.status,
29
- }),
30
- openSnackbar({
31
- messageSection: 'auto_transfer_rule_create',
32
- messageText: 'failed',
33
- type: 'error',
34
- variables: [
35
- {
36
- variableName: '_api-error_',
37
- variableValue: response.status.message,
38
- },
39
- ],
40
- }),
41
- ]);
42
- }
43
- }), catchError((error) => of(createAutoTransferRuleFailure({
44
- fetchState: 'Error',
45
- error: createZeniAPIStatus('Unexpected Error', 'Create auto transfer rule REST API call errored out ' +
46
- JSON.stringify(error)),
47
- }))));
48
- }));
49
- export function mapAutoTransferRuleLocalDataToPayload(localData, pauseRule, resumeRule) {
50
- if (pauseRule === true) {
51
- return {
52
- is_active: false,
53
- };
54
- }
55
- if (resumeRule === true) {
56
- return {
57
- is_active: true,
58
- };
59
- }
60
- const payload = {
61
- amount: localData.amount?.amount,
62
- currency_code: localData.amount?.currencyCode,
63
- destination_bank_account_id: localData.destinationAccount?.id,
64
- destination_bank_account_type: accountTypeSubConfigCodeToAccType(localData.destinationAccount?.accType),
65
- destination_bank_account_metadata: localData.destinationAccountWithPercentAllocation?.map((allocation) => ({
66
- account_id: allocation.account.id,
67
- account_type: accountTypeSubConfigCodeToAccType(allocation.account.accType),
68
- percentage: allocation.percentage,
69
- })),
70
- frequency: localData.frequency,
71
- rule_type: localData.ruleType,
72
- source_bank_account_id: localData.sourceAccount?.id,
73
- source_bank_account_type: accountTypeSubConfigCodeToAccType(localData.sourceAccount?.accType),
74
- first_transfer_date: localData.firstTransferDate != null
75
- ? localData.firstTransferDate.format('YYYY-MM-DD')
76
- : undefined,
77
- };
78
- return payload;
79
- }
80
- export const accountTypeSubConfigCodeToAccType = (code) => {
81
- switch (code) {
82
- case 'depositAccount':
83
- return 'deposit_account';
84
- case 'paymentAccount':
85
- return 'payment_account';
86
- case 'treasuryAccount':
87
- return 'treasury_account';
88
- default:
89
- return undefined;
90
- }
91
- };
@@ -1,48 +0,0 @@
1
- import { from, of } from 'rxjs';
2
- import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
3
- import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
4
- import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
5
- import { deleteAutoTransferRule, deleteAutoTransferRuleFailure, deleteAutoTransferRuleSuccess, } from '../autoTransferRulesReducer';
6
- export const deleteAutoTransferRuleEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(deleteAutoTransferRule.match), switchMap((action) => {
7
- const { ruleId } = action.payload;
8
- return zeniAPI
9
- .deleteAndGetJSON(`${zeniAPI.apiEndPoints.bankingMicroServiceBaseUrl}/1.0/rules/transfer/auto/${ruleId}`)
10
- .pipe(mergeMap((response) => {
11
- if (isSuccessResponse(response)) {
12
- const actions = [
13
- deleteAutoTransferRuleSuccess({ ruleId }),
14
- openSnackbar({
15
- messageSection: 'auto_transfer_rule_delete',
16
- messageText: 'success',
17
- type: 'success',
18
- }),
19
- ];
20
- return from(actions);
21
- }
22
- else {
23
- return from([
24
- deleteAutoTransferRuleFailure({
25
- ruleId,
26
- fetchState: 'Error',
27
- error: response.status,
28
- }),
29
- openSnackbar({
30
- messageSection: 'auto_transfer_rule_delete',
31
- messageText: 'failed',
32
- type: 'error',
33
- variables: [
34
- {
35
- variableName: '_api-error_',
36
- variableValue: response.status.message,
37
- },
38
- ],
39
- }),
40
- ]);
41
- }
42
- }), catchError((error) => of(deleteAutoTransferRuleFailure({
43
- ruleId,
44
- fetchState: 'Error',
45
- error: createZeniAPIStatus('Unexpected Error', 'Delete auto transfer rule REST API call errored out ' +
46
- JSON.stringify(error)),
47
- }))));
48
- }));
@@ -1,30 +0,0 @@
1
- import { of } from 'rxjs';
2
- import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
3
- import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
4
- import { fetchAutoTransferReviewDetail, updateAutoTransferReviewDetail, updateAutoTransferReviewDetailFailure, } from '../autoTransferRulesReducer';
5
- import { accountTypeSubConfigCodeToAccType } from './createAutoTransferRuleEpic';
6
- export const fetchAutoTransferReviewDetailEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(fetchAutoTransferReviewDetail.match), switchMap(() => {
7
- const localData = state$.value.autotransferRulesState.ruleUpdateLocalData;
8
- const payload = {
9
- from_account: {
10
- account_id: localData.sourceAccount?.id,
11
- account_type: accountTypeSubConfigCodeToAccType(localData.sourceAccount?.accType) ?? '',
12
- },
13
- to_account: {
14
- account_id: localData.destinationAccount?.id,
15
- account_type: accountTypeSubConfigCodeToAccType(localData.destinationAccount?.accType) ?? '',
16
- },
17
- amount: localData.amount?.amount ?? 0,
18
- currency_code: localData.amount?.currencyCode ?? 'USD',
19
- currency_symbol: localData.amount?.currencySymbol ?? '$',
20
- };
21
- return zeniAPI
22
- .postAndGetJSON(`${zeniAPI.apiEndPoints.bankingMicroServiceBaseUrl}/1.0/rules/transfer/auto/review`, payload)
23
- .pipe(mergeMap((response) => {
24
- if (isSuccessResponse(response) && response.data != null) {
25
- return of(updateAutoTransferReviewDetail(response.data));
26
- }
27
- return of(updateAutoTransferReviewDetailFailure(response.status));
28
- }), catchError((error) => of(updateAutoTransferReviewDetailFailure(createZeniAPIStatus('Unexpected Error', 'Fetch auto transfer review detail REST API call errored out ' +
29
- JSON.stringify(error))))));
30
- }));
@@ -1,45 +0,0 @@
1
- import recordGet from 'lodash/get';
2
- import { concat, from, of } from 'rxjs';
3
- import { catchError, filter, mergeMap } from 'rxjs/operators';
4
- import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
5
- import { fetchAutoTransferRuleHistory, updateAutoTransferRuleHistory, updateAutoTransferRuleHistoryFetchStatus, } from '../autoTransferRulesReducer';
6
- export const fetchAutoTransferRuleHistoryEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(fetchAutoTransferRuleHistory.match), mergeMap((action) => {
7
- const { ruleId, cacheOverride } = action.payload;
8
- const historyActions = [];
9
- const state = state$.value;
10
- const historyDetail = recordGet(state.autotransferRulesState.historyByRuleId, ruleId, undefined);
11
- if (cacheOverride === true ||
12
- historyDetail == null ||
13
- historyDetail.fetchState !== 'In-Progress') {
14
- historyActions.push(updateAutoTransferRuleHistoryFetchStatus({
15
- ruleId,
16
- fetchState: 'In-Progress',
17
- }));
18
- const getHistoryDetail$ = zeniAPI
19
- .getJSON(`${zeniAPI.apiEndPoints.bankingMicroServiceBaseUrl}/1.0/rules/transfer/auto/${ruleId}/history`)
20
- .pipe(mergeMap((response) => {
21
- if (isSuccessResponse(response) && response.data != null) {
22
- return of(updateAutoTransferRuleHistory({
23
- ruleId,
24
- historicEventsPayload: response.data.activities,
25
- }));
26
- }
27
- else {
28
- return of(updateAutoTransferRuleHistoryFetchStatus({
29
- ruleId,
30
- fetchState: 'Error',
31
- error: response.status,
32
- }));
33
- }
34
- }), catchError((error) => of(updateAutoTransferRuleHistoryFetchStatus({
35
- ruleId,
36
- fetchState: 'Error',
37
- error: createZeniAPIStatus('Unexpected Error', 'Fetch auto transfer rule history REST API call errored out ' +
38
- JSON.stringify(error)),
39
- }))));
40
- return concat(from(historyActions), getHistoryDetail$);
41
- }
42
- else {
43
- return from(historyActions);
44
- }
45
- }));
@@ -1,52 +0,0 @@
1
- import { from, of } from 'rxjs';
2
- import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
3
- import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
4
- import { fetchTreasuryOverviewDetail } from '../../treasury/treasuryList/treasuryDetailReducer';
5
- import { fetchDepositAccountList } from '../../zeniAccounts/depositAccountList/depositAccountListReducer';
6
- import { fetchPaymentAccountList } from '../../zeniAccounts/paymentAccountList/paymentAccountListReducer';
7
- import { mapPayloadToAutoTransferRule, } from '../autoTransferRulesPayload';
8
- import { fetchAutoTransferRules, updateAutoTransferRules, updateAutoTransferRulesFailure, } from '../autoTransferRulesReducer';
9
- export const fetchAutoTransferRulesEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(fetchAutoTransferRules.match), switchMap((action) => {
10
- const state = state$.value;
11
- const { cacheOverride } = action.payload;
12
- const { autotransferRulesState, depositAccountListState, paymentAccountListState, } = state;
13
- if (cacheOverride === true ||
14
- (autotransferRulesState.hasValidState() === false &&
15
- autotransferRulesState.fetchState !== 'In-Progress')) {
16
- return zeniAPI
17
- .getJSON(`${zeniAPI.apiEndPoints.bankingMicroServiceBaseUrl}/1.0/rules/transfer/auto/list`)
18
- .pipe(mergeMap((response) => {
19
- if (isSuccessResponse(response) && response.data != null) {
20
- const rules = response.data.auto_transfer_rules.map(mapPayloadToAutoTransferRule);
21
- const actions = [
22
- updateAutoTransferRules({ rules }),
23
- ];
24
- if (depositAccountListState.fetchState !== 'In-Progress' &&
25
- depositAccountListState.fetchState !== 'Completed') {
26
- actions.push(fetchDepositAccountList());
27
- }
28
- if (paymentAccountListState.fetchState !== 'In-Progress' &&
29
- paymentAccountListState.fetchState !== 'Completed') {
30
- actions.push(fetchPaymentAccountList());
31
- }
32
- actions.push(fetchTreasuryOverviewDetail(false, true));
33
- return from(actions);
34
- }
35
- else {
36
- return of(updateAutoTransferRulesFailure({
37
- fetchState: 'Error',
38
- error: response.status,
39
- }));
40
- }
41
- }), catchError((error) => of(updateAutoTransferRulesFailure({
42
- fetchState: 'Error',
43
- error: createZeniAPIStatus('Unexpected Error', 'Fetch auto transfer rules REST API call errored out ' +
44
- JSON.stringify(error)),
45
- }))));
46
- }
47
- else {
48
- return of(updateAutoTransferRules({
49
- rules: autotransferRulesState.rules,
50
- }));
51
- }
52
- }));