@zeniai/client-epic-state 5.0.44-betaML3 → 5.0.44-betaRD1

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 (85) hide show
  1. package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
  2. package/lib/commonStateTypes/viewAndReport/viewAndReport.js +1 -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/class/classReducer.d.ts +4 -4
  8. package/lib/entity/class/classState.d.ts +1 -1
  9. package/lib/entity/forecast/forecastState.d.ts +1 -1
  10. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  11. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  12. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  13. package/lib/entity/sectionProjectView/sectionProjectView.d.ts +1 -1
  14. package/lib/entity/sectionProjectView/sectionProjectViewReducer.d.ts +2 -2
  15. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  16. package/lib/entity/snackbar/snackbarTypes.js +0 -2
  17. package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +0 -6
  18. package/lib/entity/transaction/payloadTypes/transactionPayload.js +0 -10
  19. package/lib/entity/transaction/stateTypes/transaction.d.ts +0 -3
  20. package/lib/epic.d.ts +3 -3
  21. package/lib/epic.js +3 -3
  22. package/lib/esm/commonStateTypes/viewAndReport/viewAndReport.js +1 -1
  23. package/lib/esm/entity/account/accountSelector.js +0 -6
  24. package/lib/esm/entity/snackbar/snackbarTypes.js +0 -2
  25. package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +0 -10
  26. package/lib/esm/epic.js +3 -3
  27. package/lib/esm/index.js +8 -7
  28. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +1 -5
  29. package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +1 -66
  30. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +0 -19
  31. package/lib/esm/view/transactionDetail/epics/transactionDetailEpic.js +0 -6
  32. package/lib/esm/view/transactionDetail/transactionDetailSelector.js +1 -12
  33. package/lib/esm/view/transactionList/fetchTransactionListByProjectEpic.js +45 -0
  34. package/lib/esm/view/transactionList/parallelFetchProjectTransactionListEpic.js +32 -0
  35. package/lib/esm/view/transactionList/transactionListByProjectSelector.js +58 -0
  36. package/lib/esm/view/transactionList/transactionListReducer.js +83 -2
  37. package/lib/esm/view/transactionList/transactionListState.js +10 -0
  38. package/lib/index.d.ts +8 -7
  39. package/lib/index.js +38 -42
  40. package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
  41. package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
  42. package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
  43. package/lib/view/cardBalance/cardBalanceSelector.d.ts +1 -1
  44. package/lib/view/cashBalance/cashBalanceSelector.d.ts +1 -1
  45. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
  46. package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
  47. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  48. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.d.ts +2 -2
  49. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +0 -4
  50. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  51. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +1 -15
  52. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +2 -67
  53. package/lib/view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes.d.ts +1 -3
  54. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.d.ts +0 -2
  55. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +0 -20
  56. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +1 -13
  57. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  58. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
  59. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
  60. package/lib/view/reportsResync/reportsResyncReducer.d.ts +2 -2
  61. package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
  62. package/lib/view/topEx/topExSelector.d.ts +1 -1
  63. package/lib/view/transactionDetail/epics/transactionDetailEpic.d.ts +1 -2
  64. package/lib/view/transactionDetail/epics/transactionDetailEpic.js +0 -6
  65. package/lib/view/transactionDetail/transactionDetailPayload.d.ts +1 -1
  66. package/lib/view/transactionDetail/transactionDetailSelector.d.ts +1 -4
  67. package/lib/view/transactionDetail/transactionDetailSelector.js +1 -12
  68. package/lib/view/transactionList/fetchTransactionListByProjectEpic.d.ts +8 -0
  69. package/lib/view/transactionList/fetchTransactionListByProjectEpic.js +52 -0
  70. package/lib/view/transactionList/parallelFetchProjectTransactionListEpic.d.ts +6 -0
  71. package/lib/view/transactionList/parallelFetchProjectTransactionListEpic.js +36 -0
  72. package/lib/view/transactionList/transactionListByProjectSelector.d.ts +22 -0
  73. package/lib/view/transactionList/transactionListByProjectSelector.js +66 -0
  74. package/lib/view/transactionList/transactionListPayload.d.ts +15 -0
  75. package/lib/view/transactionList/transactionListReducer.d.ts +25 -2
  76. package/lib/view/transactionList/transactionListReducer.js +83 -2
  77. package/lib/view/transactionList/transactionListState.d.ts +15 -0
  78. package/lib/view/transactionList/transactionListState.js +13 -1
  79. package/package.json +1 -1
  80. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/createTransferEntryEpic.js +0 -81
  81. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransferAccountsEpic.js +0 -25
  82. package/lib/view/expenseAutomationView/epics/transactionCategorization/createTransferEntryEpic.d.ts +0 -9
  83. package/lib/view/expenseAutomationView/epics/transactionCategorization/createTransferEntryEpic.js +0 -85
  84. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransferAccountsEpic.d.ts +0 -8
  85. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransferAccountsEpic.js +0 -29
@@ -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
- .putAndGetJSON(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
- .putAndGetJSON(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;