@zeniai/client-epic-state 5.0.49-betaML2 → 5.0.50-betaAR1

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 (106) hide show
  1. package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
  2. package/lib/commonStateTypes/viewAndReport/viewAndReport.js +0 -1
  3. package/lib/entity/account/accountSelector.d.ts +0 -5
  4. package/lib/entity/account/accountSelector.js +1 -8
  5. package/lib/entity/account/accountState.d.ts +1 -1
  6. package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
  7. package/lib/entity/approvalRule/approvalRulePayload.d.ts +27 -5
  8. package/lib/entity/approvalRule/approvalRulePayload.js +87 -10
  9. package/lib/entity/approvalRule/approvalRuleSelector.d.ts +25 -1
  10. package/lib/entity/approvalRule/approvalRuleSelector.js +40 -0
  11. package/lib/entity/approvalRule/approvalRuleState.d.ts +48 -7
  12. package/lib/entity/class/classReducer.d.ts +4 -4
  13. package/lib/entity/class/classState.d.ts +1 -1
  14. package/lib/entity/forecast/forecastState.d.ts +1 -1
  15. package/lib/entity/project/projectPayload.d.ts +3 -3
  16. package/lib/entity/project/projectPayload.js +3 -3
  17. package/lib/entity/project/projectState.d.ts +4 -2
  18. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  19. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  20. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  21. package/lib/entity/sectionProjectView/sectionProjectView.d.ts +1 -1
  22. package/lib/entity/sectionProjectView/sectionProjectViewReducer.d.ts +2 -2
  23. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  24. package/lib/entity/snackbar/snackbarTypes.js +0 -2
  25. package/lib/entity/transaction/payloadTypes/transactionLinePayload.js +1 -1
  26. package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +2 -6
  27. package/lib/entity/transaction/payloadTypes/transactionPayload.js +6 -10
  28. package/lib/entity/transaction/stateTypes/transaction.d.ts +2 -3
  29. package/lib/entity/transaction/stateTypes/transactionLine.d.ts +2 -2
  30. package/lib/epic.d.ts +1 -3
  31. package/lib/epic.js +1 -3
  32. package/lib/esm/commonStateTypes/viewAndReport/viewAndReport.js +0 -1
  33. package/lib/esm/entity/account/accountSelector.js +0 -6
  34. package/lib/esm/entity/approvalRule/approvalRulePayload.js +87 -10
  35. package/lib/esm/entity/approvalRule/approvalRuleSelector.js +35 -0
  36. package/lib/esm/entity/project/projectPayload.js +1 -1
  37. package/lib/esm/entity/snackbar/snackbarTypes.js +0 -2
  38. package/lib/esm/entity/transaction/payloadTypes/transactionLinePayload.js +2 -2
  39. package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +6 -10
  40. package/lib/esm/epic.js +1 -3
  41. package/lib/esm/index.js +6 -5
  42. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +9 -5
  43. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +3 -0
  44. package/lib/esm/view/expenseAutomationView/helpers/saveTransactionHelper.js +1 -0
  45. package/lib/esm/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +11 -2
  46. package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +14 -70
  47. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +7 -21
  48. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/initializeBillPaySetupApproverViewUpdateDataEpic.js +5 -7
  49. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +46 -16
  50. package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +7 -2
  51. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/initializeRemiSetupApproverViewUpdateDataEpic.js +5 -7
  52. package/lib/esm/view/transactionDetail/epics/transactionDetailEpic.js +0 -6
  53. package/lib/esm/view/transactionDetail/transactionDetailSelector.js +2 -13
  54. package/lib/index.d.ts +9 -8
  55. package/lib/index.js +39 -42
  56. package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
  57. package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
  58. package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
  59. package/lib/view/cardBalance/cardBalanceSelector.d.ts +1 -1
  60. package/lib/view/cashBalance/cashBalanceSelector.d.ts +1 -1
  61. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
  62. package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
  63. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +2 -2
  64. package/lib/view/companyView/types/cockpitTypes.d.ts +1 -1
  65. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  66. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.d.ts +3 -2
  67. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +8 -4
  68. package/lib/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +3 -0
  69. package/lib/view/expenseAutomationView/helpers/saveTransactionHelper.js +1 -0
  70. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +3 -2
  71. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +11 -2
  72. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +4 -16
  73. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +15 -71
  74. package/lib/view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes.d.ts +4 -3
  75. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.d.ts +0 -2
  76. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +6 -21
  77. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +4 -13
  78. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  79. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
  80. package/lib/view/people/peopleTypes.d.ts +1 -1
  81. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
  82. package/lib/view/reportsResync/reportsResyncReducer.d.ts +2 -2
  83. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/initializeBillPaySetupApproverViewUpdateDataEpic.js +4 -6
  84. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.d.ts +1 -1
  85. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +46 -16
  86. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonState.d.ts +15 -3
  87. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +7 -2
  88. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
  89. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/initializeRemiSetupApproverViewUpdateDataEpic.js +4 -6
  90. package/lib/view/taskManager/taskListView/taskList.d.ts +3 -3
  91. package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
  92. package/lib/view/topEx/topExSelector.d.ts +1 -1
  93. package/lib/view/transactionDetail/epics/transactionDetailEpic.d.ts +1 -2
  94. package/lib/view/transactionDetail/epics/transactionDetailEpic.js +0 -6
  95. package/lib/view/transactionDetail/transactionDetailPayload.d.ts +1 -1
  96. package/lib/view/transactionDetail/transactionDetailSelector.d.ts +1 -4
  97. package/lib/view/transactionDetail/transactionDetailSelector.js +1 -12
  98. package/lib/view/transactionDetail/transactionDetailState.d.ts +2 -2
  99. package/lib/view/transactionDetail/transactionDetailTypes.d.ts +2 -2
  100. package/package.json +1 -1
  101. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/createTransferEntryEpic.js +0 -81
  102. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransferAccountsEpic.js +0 -25
  103. package/lib/view/expenseAutomationView/epics/transactionCategorization/createTransferEntryEpic.d.ts +0 -9
  104. package/lib/view/expenseAutomationView/epics/transactionCategorization/createTransferEntryEpic.js +0 -85
  105. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransferAccountsEpic.d.ts +0 -8
  106. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransferAccountsEpic.js +0 -29
@@ -1,8 +1,7 @@
1
1
  import { NestedAccountHierarchyForReport } from '../../commonStateTypes/accountView/nestedAccountID';
2
2
  import { NestedClassHierarchyForReport } from '../../commonStateTypes/classesView/nestedClassID';
3
- import { FetchState, FetchStateAndError } from '../../commonStateTypes/common';
3
+ import { FetchStateAndError } from '../../commonStateTypes/common';
4
4
  import { SelectorView } from '../../commonStateTypes/viewAndReport/viewAndReport';
5
- import { AccountBase } from '../../entity/account/accountState';
6
5
  import { TransactionID } from '../../entity/transaction/stateTypes/transaction';
7
6
  import { SupportedTransactionWithCOT } from '../../entity/transaction/transactionState';
8
7
  import { Vendor } from '../../entity/vendor/vendorState';
@@ -18,7 +17,6 @@ export interface TransactionDetailReport extends SelectorView {
18
17
  allVendors: Vendor[];
19
18
  classHierarchyList: NestedClassHierarchyForReport[];
20
19
  classList: ClassListSelectorView;
21
- createTransferEntryStatus: FetchState;
22
20
  deleteStatusByAttachmentName: Record<string, FetchStateAndError>;
23
21
  isAccountingClassesEnabled: boolean;
24
22
  isAccountingProjectsEnabled: boolean;
@@ -26,7 +24,6 @@ export interface TransactionDetailReport extends SelectorView {
26
24
  projectList: ProjectListSelectorView;
27
25
  transactionDetailLocalData: TransactionDetailLocalData;
28
26
  transactionDetailUpdateStatus: FetchStateAndError;
29
- transferAccounts: AccountBase[];
30
27
  isUpdateNotAllowed?: boolean;
31
28
  transaction?: SupportedTransactionWithCOT;
32
29
  }
@@ -7,7 +7,6 @@ exports.getInitialUpdatablePeriodsForTransactionRecommendations = exports.getTra
7
7
  exports.getTransactionDetailForTransaction = getTransactionDetailForTransaction;
8
8
  const get_1 = __importDefault(require("lodash/get"));
9
9
  const reduceFetchState_1 = require("../../commonStateTypes/reduceFetchState");
10
- const accountSelector_1 = require("../../entity/account/accountSelector");
11
10
  const tenantSelector_1 = require("../../entity/tenant/tenantSelector");
12
11
  const transactionType_1 = require("../../entity/transaction/stateTypes/transactionType");
13
12
  const transactionHelper_1 = require("../../entity/transaction/transactionHelper");
@@ -19,7 +18,7 @@ const classListSelector_1 = require("../classList/classListSelector");
19
18
  const projectListSelector_1 = require("../projectList/projectListSelector");
20
19
  const transactionDetailState_1 = require("./transactionDetailState");
21
20
  const getTransactionDetail = (state, transactionId, fetchLinkedTransactions = true) => {
22
- const { transactionDetailState, transactionState, vendorState, vendorListState, accountState, classState, classListState, accountListState, expenseAutomationTransactionsViewState, projectState, projectListState, } = state;
21
+ const { transactionDetailState, transactionState, vendorState, vendorListState, accountState, classState, classListState, accountListState, projectState, projectListState, } = state;
23
22
  const detailKey = (0, transactionDetailState_1.getTransactionDetailKey)(transactionId);
24
23
  const transactionDetail = (0, get_1.default)(transactionDetailState.transactionDetailById, detailKey);
25
24
  let fetchState = {
@@ -80,14 +79,6 @@ const getTransactionDetail = (state, transactionId, fetchLinkedTransactions = tr
80
79
  : [];
81
80
  const transactionDetailAnyUpdateStatus = reduceUpdateFetchStates(transactionDetail);
82
81
  const vendors = (0, vendorSelector_1.getVendorsByVendorIds)(vendorState, vendorListState.vendorIds);
83
- const transferAccountsFromApi = expenseAutomationTransactionsViewState.transferAccounts.accountIds
84
- .map((id) => (0, accountSelector_1.getAccountBaseForTransferAccounts)(accountState, id))
85
- .filter((account) => account != null);
86
- const transferAccountsList = transferAccountsFromApi.length > 0
87
- ? transferAccountsFromApi
88
- : accountsList.accounts
89
- .map((a) => (0, accountSelector_1.getAccountBase)(accountState, a.accountId, 'account_list'))
90
- .filter((account) => account != null);
91
82
  return {
92
83
  reportId: 'transaction_detail',
93
84
  reportTitle: 'Transaction Detail',
@@ -104,8 +95,6 @@ const getTransactionDetail = (state, transactionId, fetchLinkedTransactions = tr
104
95
  accountsHierarchyList,
105
96
  classList: classList,
106
97
  isAccountingClassesEnabled,
107
- createTransferEntryStatus: expenseAutomationTransactionsViewState.createTransferEntryStatus,
108
- transferAccounts: transferAccountsList,
109
98
  isAccountingProjectsEnabled,
110
99
  projectList,
111
100
  isUpdateNotAllowed: transactionDetail?.isUpdateNotAllowed,
@@ -4,7 +4,7 @@ import { AccountBase } from '../../entity/account/accountState';
4
4
  import { ClassBase } from '../../entity/class/classState';
5
5
  import { CustomerBase } from '../../entity/customer/customerState';
6
6
  import { EntityType } from '../../entity/genericEntity/entity';
7
- import { Project } from '../../entity/project/projectState';
7
+ import { ProjectBase } from '../../entity/project/projectState';
8
8
  import { Transaction, TransactionID } from '../../entity/transaction/stateTypes/transaction';
9
9
  import { VendorBase } from '../../entity/vendor/vendorState';
10
10
  import { EntityRecommendationKey } from '../recommendation/recommendationState';
@@ -53,7 +53,7 @@ export interface TransactionLineUpdates {
53
53
  class?: ClassBase;
54
54
  customer?: CustomerBase;
55
55
  lineDescription?: string;
56
- project?: Project;
56
+ project?: ProjectBase;
57
57
  recommendation?: Recommendation[];
58
58
  vendor?: VendorBase;
59
59
  }
@@ -4,7 +4,7 @@ import { AccountBase, RecommendedAccountBase } from '../../entity/account/accoun
4
4
  import { ClassBase, RecommendedClassBase } from '../../entity/class/classState';
5
5
  import { CustomerBase } from '../../entity/customer/customerState';
6
6
  import { Entity } from '../../entity/genericEntity/entity';
7
- import { Project } from '../../entity/project/projectState';
7
+ import { ProjectBase } from '../../entity/project/projectState';
8
8
  import { TransactionID } from '../../entity/transaction/stateTypes/transaction';
9
9
  import { BillableStatus, PlatformLineDetailType, ProductOrService, TransactionLineBase } from '../../entity/transaction/stateTypes/transactionLine';
10
10
  import { TransactionCategory, TransactionType } from '../../entity/transaction/stateTypes/transactionType';
@@ -30,7 +30,7 @@ export interface TransactionDetailLineItemData extends TransactionLineBase {
30
30
  linkedTransactions?: TransactionID[];
31
31
  postingType?: TransactionCategory;
32
32
  postingTypeName?: string;
33
- project?: Project;
33
+ project?: ProjectBase;
34
34
  recommendationsWithCOT?: RecommendationWithCOT[];
35
35
  recommendedAccount?: RecommendedAccountBase;
36
36
  recommendedClass?: RecommendedClassBase;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "5.0.49-betaML2",
3
+ "version": "5.0.50-betaAR1",
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,81 +0,0 @@
1
- import { concat, from, timer } from 'rxjs';
2
- import { catchError, filter, map, mergeMap } from 'rxjs/operators';
3
- import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
4
- import { toTransactionID } from '../../../../entity/transaction/payloadTypes/transactionIDPayload';
5
- import { toTransactionType } from '../../../../entity/transaction/stateTypes/transactionType';
6
- import { removeTransaction, updateTransaction, } from '../../../../entity/transaction/transactionReducer';
7
- import { isSuccessResponse } from '../../../../responsePayload';
8
- import { initializeTransactionDetailLocalData, removeTransactionDetail, } from '../../../transactionDetail/transactionDetailReducer';
9
- import { getTransactionDetailKey } from '../../../transactionDetail/transactionDetailState';
10
- import { acknowledgeTransferEntryRouteReplacement, createTransferEntry, createTransferEntryFailure, createTransferEntryReplacedTransaction, createTransferEntrySuccess, removeTransactionFromAllTabs, resetCreateTransferEntryStatus, } from '../../reducers/transactionsViewReducer';
11
- function transactionIdsAreEqual(a, b) {
12
- return a.id === b.id && a.type === b.type;
13
- }
14
- export const createTransferEntryEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(createTransferEntry.match), mergeMap((action) => {
15
- const { transactionId, creditAccountIntegrationId, debitAccountIntegrationId, memo, transactionType, sourceTransactionType, } = action.payload;
16
- const url = `${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/transactions/transaction-type-update`;
17
- return zeniAPI
18
- .postAndGetJSON(url, {
19
- transaction_type: transactionType,
20
- transaction_id: transactionId,
21
- to_account_integration_id: creditAccountIntegrationId,
22
- from_account_integration_id: debitAccountIntegrationId,
23
- memo,
24
- })
25
- .pipe(mergeMap((response) => {
26
- if (isSuccessResponse(response)) {
27
- const immediate = [];
28
- const previousTransactionId = {
29
- id: transactionId,
30
- type: toTransactionType(sourceTransactionType),
31
- };
32
- if (response.data?.transaction != null) {
33
- const newTransactionId = toTransactionID(response.data.transaction);
34
- const replaced = !transactionIdsAreEqual(previousTransactionId, newTransactionId);
35
- const newDetailKey = getTransactionDetailKey(newTransactionId);
36
- immediate.push(updateTransaction(newDetailKey, response.data.transaction));
37
- immediate.push(initializeTransactionDetailLocalData({
38
- transactionId: newTransactionId,
39
- vendorId: response.data.vendors?.[0]?.vendor_id,
40
- }));
41
- immediate.push(createTransferEntrySuccess(), removeTransactionFromAllTabs(transactionId), openSnackbar({
42
- messageSection: 'create_transfer_entry',
43
- messageText: 'success',
44
- type: 'success',
45
- }));
46
- if (replaced) {
47
- immediate.push(createTransferEntryReplacedTransaction(previousTransactionId, newTransactionId));
48
- }
49
- return concat(from(immediate), timer(0).pipe(map(() => resetCreateTransferEntryStatus()), mergeMap((resetAction) => replaced
50
- ? from([
51
- resetAction,
52
- removeTransaction(getTransactionDetailKey(previousTransactionId)),
53
- removeTransactionDetail(previousTransactionId),
54
- acknowledgeTransferEntryRouteReplacement(),
55
- ])
56
- : from([resetAction]))));
57
- }
58
- immediate.push(createTransferEntrySuccess(), removeTransactionFromAllTabs(transactionId), openSnackbar({
59
- messageSection: 'create_transfer_entry',
60
- messageText: 'success',
61
- type: 'success',
62
- }));
63
- return concat(from(immediate), timer(0).pipe(map(() => resetCreateTransferEntryStatus())));
64
- }
65
- return from([
66
- createTransferEntryFailure(),
67
- openSnackbar({
68
- messageSection: 'create_transfer_entry',
69
- messageText: 'failed',
70
- type: 'error',
71
- }),
72
- ]);
73
- }), catchError(() => from([
74
- createTransferEntryFailure(),
75
- openSnackbar({
76
- messageSection: 'create_transfer_entry',
77
- messageText: 'failed',
78
- type: 'error',
79
- }),
80
- ])));
81
- }));
@@ -1,25 +0,0 @@
1
- import { of } from 'rxjs';
2
- import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
3
- import { updateAccounts } from '../../../../entity/account/accountReducer';
4
- import { isSuccessResponse } from '../../../../responsePayload';
5
- import { fetchTransferAccounts, updateTransferAccounts, updateTransferAccountsFailure, } from '../../reducers/transactionsViewReducer';
6
- const TRANSFER_ACCOUNTS_REPORT_ID = 'transfer_accounts';
7
- export const fetchTransferAccountsEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchTransferAccounts.match), switchMap(() => {
8
- const queryValue = { is_only_include_transfer_accounts: true };
9
- const url = `${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/accounts?query=${encodeURIComponent(JSON.stringify(queryValue))}`;
10
- return zeniAPI.getJSON(url).pipe(mergeMap((response) => {
11
- if (isSuccessResponse(response) && response.data != null) {
12
- const accountIds = response.data.accounts.map((account) => account.account_id);
13
- const actions = [
14
- updateAccounts(response.data.accounts, TRANSFER_ACCOUNTS_REPORT_ID),
15
- updateTransferAccounts({ accountIds }),
16
- ];
17
- return of(...actions);
18
- }
19
- else {
20
- return of(updateTransferAccountsFailure());
21
- }
22
- }), catchError(() => {
23
- return of(updateTransferAccountsFailure());
24
- }));
25
- }));
@@ -1,9 +0,0 @@
1
- import { ActionsObservable, StateObservable } from 'redux-observable';
2
- import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
3
- import { removeTransaction, updateTransaction } from '../../../../entity/transaction/transactionReducer';
4
- import { RootState } from '../../../../reducer';
5
- import { ZeniAPI } from '../../../../zeniAPI';
6
- import { initializeTransactionDetailLocalData, removeTransactionDetail } from '../../../transactionDetail/transactionDetailReducer';
7
- import { acknowledgeTransferEntryRouteReplacement, createTransferEntry, createTransferEntryFailure, createTransferEntryReplacedTransaction, createTransferEntrySuccess, removeTransactionFromAllTabs, resetCreateTransferEntryStatus } from '../../reducers/transactionsViewReducer';
8
- export type ActionType = ReturnType<typeof openSnackbar> | ReturnType<typeof createTransferEntry> | ReturnType<typeof createTransferEntrySuccess> | ReturnType<typeof createTransferEntryFailure> | ReturnType<typeof removeTransactionFromAllTabs> | ReturnType<typeof resetCreateTransferEntryStatus> | ReturnType<typeof createTransferEntryReplacedTransaction> | ReturnType<typeof acknowledgeTransferEntryRouteReplacement> | ReturnType<typeof updateTransaction> | ReturnType<typeof initializeTransactionDetailLocalData> | ReturnType<typeof removeTransaction> | ReturnType<typeof removeTransactionDetail>;
9
- export declare const createTransferEntryEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => import("rxjs").Observable<ActionType>;
@@ -1,85 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createTransferEntryEpic = void 0;
4
- const rxjs_1 = require("rxjs");
5
- const operators_1 = require("rxjs/operators");
6
- const snackbarReducer_1 = require("../../../../entity/snackbar/snackbarReducer");
7
- const transactionIDPayload_1 = require("../../../../entity/transaction/payloadTypes/transactionIDPayload");
8
- const transactionType_1 = require("../../../../entity/transaction/stateTypes/transactionType");
9
- const transactionReducer_1 = require("../../../../entity/transaction/transactionReducer");
10
- const responsePayload_1 = require("../../../../responsePayload");
11
- const transactionDetailReducer_1 = require("../../../transactionDetail/transactionDetailReducer");
12
- const transactionDetailState_1 = require("../../../transactionDetail/transactionDetailState");
13
- const transactionsViewReducer_1 = require("../../reducers/transactionsViewReducer");
14
- function transactionIdsAreEqual(a, b) {
15
- return a.id === b.id && a.type === b.type;
16
- }
17
- const createTransferEntryEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(transactionsViewReducer_1.createTransferEntry.match), (0, operators_1.mergeMap)((action) => {
18
- const { transactionId, creditAccountIntegrationId, debitAccountIntegrationId, memo, transactionType, sourceTransactionType, } = action.payload;
19
- const url = `${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/transactions/transaction-type-update`;
20
- return zeniAPI
21
- .postAndGetJSON(url, {
22
- transaction_type: transactionType,
23
- transaction_id: transactionId,
24
- to_account_integration_id: creditAccountIntegrationId,
25
- from_account_integration_id: debitAccountIntegrationId,
26
- memo,
27
- })
28
- .pipe((0, operators_1.mergeMap)((response) => {
29
- if ((0, responsePayload_1.isSuccessResponse)(response)) {
30
- const immediate = [];
31
- const previousTransactionId = {
32
- id: transactionId,
33
- type: (0, transactionType_1.toTransactionType)(sourceTransactionType),
34
- };
35
- if (response.data?.transaction != null) {
36
- const newTransactionId = (0, transactionIDPayload_1.toTransactionID)(response.data.transaction);
37
- const replaced = !transactionIdsAreEqual(previousTransactionId, newTransactionId);
38
- const newDetailKey = (0, transactionDetailState_1.getTransactionDetailKey)(newTransactionId);
39
- immediate.push((0, transactionReducer_1.updateTransaction)(newDetailKey, response.data.transaction));
40
- immediate.push((0, transactionDetailReducer_1.initializeTransactionDetailLocalData)({
41
- transactionId: newTransactionId,
42
- vendorId: response.data.vendors?.[0]?.vendor_id,
43
- }));
44
- immediate.push((0, transactionsViewReducer_1.createTransferEntrySuccess)(), (0, transactionsViewReducer_1.removeTransactionFromAllTabs)(transactionId), (0, snackbarReducer_1.openSnackbar)({
45
- messageSection: 'create_transfer_entry',
46
- messageText: 'success',
47
- type: 'success',
48
- }));
49
- if (replaced) {
50
- immediate.push((0, transactionsViewReducer_1.createTransferEntryReplacedTransaction)(previousTransactionId, newTransactionId));
51
- }
52
- return (0, rxjs_1.concat)((0, rxjs_1.from)(immediate), (0, rxjs_1.timer)(0).pipe((0, operators_1.map)(() => (0, transactionsViewReducer_1.resetCreateTransferEntryStatus)()), (0, operators_1.mergeMap)((resetAction) => replaced
53
- ? (0, rxjs_1.from)([
54
- resetAction,
55
- (0, transactionReducer_1.removeTransaction)((0, transactionDetailState_1.getTransactionDetailKey)(previousTransactionId)),
56
- (0, transactionDetailReducer_1.removeTransactionDetail)(previousTransactionId),
57
- (0, transactionsViewReducer_1.acknowledgeTransferEntryRouteReplacement)(),
58
- ])
59
- : (0, rxjs_1.from)([resetAction]))));
60
- }
61
- immediate.push((0, transactionsViewReducer_1.createTransferEntrySuccess)(), (0, transactionsViewReducer_1.removeTransactionFromAllTabs)(transactionId), (0, snackbarReducer_1.openSnackbar)({
62
- messageSection: 'create_transfer_entry',
63
- messageText: 'success',
64
- type: 'success',
65
- }));
66
- return (0, rxjs_1.concat)((0, rxjs_1.from)(immediate), (0, rxjs_1.timer)(0).pipe((0, operators_1.map)(() => (0, transactionsViewReducer_1.resetCreateTransferEntryStatus)())));
67
- }
68
- return (0, rxjs_1.from)([
69
- (0, transactionsViewReducer_1.createTransferEntryFailure)(),
70
- (0, snackbarReducer_1.openSnackbar)({
71
- messageSection: 'create_transfer_entry',
72
- messageText: 'failed',
73
- type: 'error',
74
- }),
75
- ]);
76
- }), (0, operators_1.catchError)(() => (0, rxjs_1.from)([
77
- (0, transactionsViewReducer_1.createTransferEntryFailure)(),
78
- (0, snackbarReducer_1.openSnackbar)({
79
- messageSection: 'create_transfer_entry',
80
- messageText: 'failed',
81
- type: 'error',
82
- }),
83
- ])));
84
- }));
85
- exports.createTransferEntryEpic = createTransferEntryEpic;
@@ -1,8 +0,0 @@
1
- import { ActionsObservable, StateObservable } from 'redux-observable';
2
- import { Observable } from 'rxjs';
3
- import { updateAccounts } from '../../../../entity/account/accountReducer';
4
- import { RootState } from '../../../../reducer';
5
- import { ZeniAPI } from '../../../../zeniAPI';
6
- import { fetchTransferAccounts, updateTransferAccounts, updateTransferAccountsFailure } from '../../reducers/transactionsViewReducer';
7
- export type ActionType = ReturnType<typeof fetchTransferAccounts> | ReturnType<typeof updateTransferAccounts> | ReturnType<typeof updateTransferAccountsFailure> | ReturnType<typeof updateAccounts>;
8
- export declare const fetchTransferAccountsEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchTransferAccountsEpic = void 0;
4
- const rxjs_1 = require("rxjs");
5
- const operators_1 = require("rxjs/operators");
6
- const accountReducer_1 = require("../../../../entity/account/accountReducer");
7
- const responsePayload_1 = require("../../../../responsePayload");
8
- const transactionsViewReducer_1 = require("../../reducers/transactionsViewReducer");
9
- const TRANSFER_ACCOUNTS_REPORT_ID = 'transfer_accounts';
10
- const fetchTransferAccountsEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(transactionsViewReducer_1.fetchTransferAccounts.match), (0, operators_1.switchMap)(() => {
11
- const queryValue = { is_only_include_transfer_accounts: true };
12
- const url = `${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/accounts?query=${encodeURIComponent(JSON.stringify(queryValue))}`;
13
- return zeniAPI.getJSON(url).pipe((0, operators_1.mergeMap)((response) => {
14
- if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
15
- const accountIds = response.data.accounts.map((account) => account.account_id);
16
- const actions = [
17
- (0, accountReducer_1.updateAccounts)(response.data.accounts, TRANSFER_ACCOUNTS_REPORT_ID),
18
- (0, transactionsViewReducer_1.updateTransferAccounts)({ accountIds }),
19
- ];
20
- return (0, rxjs_1.of)(...actions);
21
- }
22
- else {
23
- return (0, rxjs_1.of)((0, transactionsViewReducer_1.updateTransferAccountsFailure)());
24
- }
25
- }), (0, operators_1.catchError)(() => {
26
- return (0, rxjs_1.of)((0, transactionsViewReducer_1.updateTransferAccountsFailure)());
27
- }));
28
- }));
29
- exports.fetchTransferAccountsEpic = fetchTransferAccountsEpic;