@zeniai/client-epic-state 5.0.51-betaML1 → 5.0.51-betaRD2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
- package/lib/commonStateTypes/viewAndReport/viewAndReport.js +0 -1
- package/lib/entity/account/accountSelector.d.ts +0 -5
- package/lib/entity/account/accountSelector.js +1 -8
- package/lib/entity/account/accountState.d.ts +1 -1
- package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
- package/lib/entity/class/classReducer.d.ts +4 -4
- package/lib/entity/class/classState.d.ts +1 -1
- package/lib/entity/forecast/forecastState.d.ts +1 -1
- package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
- package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
- package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
- package/lib/entity/sectionProjectView/sectionProjectView.d.ts +1 -1
- package/lib/entity/sectionProjectView/sectionProjectViewReducer.d.ts +2 -2
- package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
- package/lib/entity/snackbar/snackbarTypes.js +0 -2
- package/lib/entity/tenant/epic/deleteConnectionEpic.d.ts +1 -1
- package/lib/entity/tenant/epic/saveAPIKeyConnectionEpic.d.ts +1 -1
- package/lib/entity/tenant/epic/saveConnectorCredentialsEpic.d.ts +21 -0
- package/lib/entity/tenant/epic/saveConnectorCredentialsEpic.js +42 -0
- package/lib/entity/tenant/epic/saveOAuthConnectionEpic.d.ts +1 -1
- package/lib/entity/tenant/tenantReducer.d.ts +64 -16
- package/lib/entity/tenant/tenantReducer.js +86 -7
- package/lib/entity/tenant/tenantState.d.ts +3 -1
- package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +0 -4
- package/lib/entity/transaction/payloadTypes/transactionPayload.js +0 -10
- package/lib/entity/transaction/stateTypes/transaction.d.ts +0 -3
- package/lib/epic.d.ts +1 -3
- package/lib/epic.js +2 -3
- package/lib/esm/commonStateTypes/viewAndReport/viewAndReport.js +0 -1
- package/lib/esm/entity/account/accountSelector.js +0 -6
- package/lib/esm/entity/snackbar/snackbarTypes.js +0 -2
- package/lib/esm/entity/tenant/epic/saveConnectorCredentialsEpic.js +38 -0
- package/lib/esm/entity/tenant/tenantReducer.js +84 -5
- package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +0 -10
- package/lib/esm/epic.js +2 -3
- package/lib/esm/index.js +6 -6
- package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +1 -5
- package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +1 -66
- package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +0 -19
- package/lib/esm/view/transactionDetail/epics/transactionDetailEpic.js +0 -6
- package/lib/esm/view/transactionDetail/transactionDetailSelector.js +2 -13
- package/lib/index.d.ts +6 -6
- package/lib/index.js +34 -42
- package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
- package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
- package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
- package/lib/view/cardBalance/cardBalanceSelector.d.ts +1 -1
- package/lib/view/cashBalance/cashBalanceSelector.d.ts +1 -1
- package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
- package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
- package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
- package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.d.ts +2 -2
- package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +0 -4
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
- package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +1 -15
- package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +2 -67
- package/lib/view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes.d.ts +1 -3
- package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.d.ts +0 -2
- package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +0 -20
- package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +1 -13
- package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
- package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
- package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
- package/lib/view/reportsResync/reportsResyncReducer.d.ts +2 -2
- package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
- package/lib/view/topEx/topExSelector.d.ts +1 -1
- package/lib/view/transactionDetail/epics/transactionDetailEpic.d.ts +1 -2
- package/lib/view/transactionDetail/epics/transactionDetailEpic.js +0 -6
- package/lib/view/transactionDetail/transactionDetailPayload.d.ts +1 -1
- package/lib/view/transactionDetail/transactionDetailSelector.d.ts +1 -4
- package/lib/view/transactionDetail/transactionDetailSelector.js +1 -12
- package/package.json +1 -1
- package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/createTransferEntryEpic.js +0 -81
- package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransferAccountsEpic.js +0 -25
- package/lib/view/expenseAutomationView/epics/transactionCategorization/createTransferEntryEpic.d.ts +0 -9
- package/lib/view/expenseAutomationView/epics/transactionCategorization/createTransferEntryEpic.js +0 -85
- package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransferAccountsEpic.d.ts +0 -8
- package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransferAccountsEpic.js +0 -29
|
@@ -4,7 +4,7 @@ import { RootState } from '../../reducer';
|
|
|
4
4
|
import { TopExReport, TopExTimePeriodWithMetaData } from './topExSelectorTypes';
|
|
5
5
|
import { TopExState } from './topExState';
|
|
6
6
|
export declare const getTopExpenses: (accountState: AccountState, topExState: TopExState, numberOfExpenses?: number) => {
|
|
7
|
-
reportId: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation"
|
|
7
|
+
reportId: "cash_balance" | "card_balance" | "expense_automation_card" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "profit_and_loss_by_projects" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_list_of_account_by_project" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "zeni_treasury" | "charge_cards" | "other_connection" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification" | "rewards_card" | "billing" | "flux_analysis_operating_expense" | "account_reconciliation" | "zeni_credit_promo_card" | "treasury_promo_card" | "excluded_account_reconciliation";
|
|
8
8
|
reportTitle: string;
|
|
9
9
|
version: string | number | undefined;
|
|
10
10
|
status: import("../..").Status | undefined;
|
|
@@ -7,10 +7,9 @@ import { ZeniAPI } from '../../../zeniAPI';
|
|
|
7
7
|
import { fetchAccountList } from '../../accountList/accountListReducer';
|
|
8
8
|
import { fetchClassList } from '../../classList/classListReducer';
|
|
9
9
|
import { updateTransactionVendorLocalData } from '../../commonVendorView/transactionVendorView/transactionVendorViewReducer';
|
|
10
|
-
import { fetchTransferAccounts } from '../../expenseAutomationView/reducers/transactionsViewReducer';
|
|
11
10
|
import { fetchOwnerList } from '../../ownerList/ownerListReducer';
|
|
12
11
|
import { fetchProjectList } from '../../projectList/projectListReducer';
|
|
13
12
|
import { updateSortUiState } from '../../vendorList/vendorListReducer';
|
|
14
13
|
import { fetchTransactionDetail, initializeTransactionDetailLocalData, removeTransactionDetail, updateTransactionDetailFetchState } from '../transactionDetailReducer';
|
|
15
|
-
export type ActionType = ReturnType<typeof fetchTransactionDetail> | ReturnType<typeof updateTransaction> | ReturnType<typeof updateTransactionDetailFetchState> | ReturnType<typeof initializeTransactionDetailLocalData> | ReturnType<typeof removeTransaction> | ReturnType<typeof removeTransactionDetail> | ReturnType<typeof fetchClassList> | ReturnType<typeof fetchProjectList> | ReturnType<typeof fetchAccountList> | ReturnType<typeof updateSortUiState> | ReturnType<typeof updateVendors> | ReturnType<typeof updateTransactionVendorLocalData> | ReturnType<typeof fetchOwnerList
|
|
14
|
+
export type ActionType = ReturnType<typeof fetchTransactionDetail> | ReturnType<typeof updateTransaction> | ReturnType<typeof updateTransactionDetailFetchState> | ReturnType<typeof initializeTransactionDetailLocalData> | ReturnType<typeof removeTransaction> | ReturnType<typeof removeTransactionDetail> | ReturnType<typeof fetchClassList> | ReturnType<typeof fetchProjectList> | ReturnType<typeof fetchAccountList> | ReturnType<typeof updateSortUiState> | ReturnType<typeof updateVendors> | ReturnType<typeof updateTransactionVendorLocalData> | ReturnType<typeof fetchOwnerList>;
|
|
16
15
|
export declare const fetchTransactionDetailEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
|
@@ -19,7 +19,6 @@ const accountListReducer_1 = require("../../accountList/accountListReducer");
|
|
|
19
19
|
const classListReducer_1 = require("../../classList/classListReducer");
|
|
20
20
|
const transactionVendorLocalDataHelper_1 = require("../../commonVendorView/transactionVendorView/transactionVendorLocalDataHelper");
|
|
21
21
|
const transactionVendorViewReducer_1 = require("../../commonVendorView/transactionVendorView/transactionVendorViewReducer");
|
|
22
|
-
const transactionsViewReducer_1 = require("../../expenseAutomationView/reducers/transactionsViewReducer");
|
|
23
22
|
const ownerListReducer_1 = require("../../ownerList/ownerListReducer");
|
|
24
23
|
const projectListReducer_1 = require("../../projectList/projectListReducer");
|
|
25
24
|
const transactionDetailReducer_1 = require("../transactionDetailReducer");
|
|
@@ -42,11 +41,6 @@ const fetchTransactionDetailEpic = (actions$, state$, zeniAPI) => actions$.pipe(
|
|
|
42
41
|
accountList.fetchState !== 'In-Progress') {
|
|
43
42
|
transactionActions.push((0, accountListReducer_1.fetchAccountList)('accountList'));
|
|
44
43
|
}
|
|
45
|
-
const { transferAccounts } = state$.value.expenseAutomationTransactionsViewState;
|
|
46
|
-
if (transferAccounts.fetchState !== 'In-Progress' &&
|
|
47
|
-
transferAccounts.fetchState !== 'Completed') {
|
|
48
|
-
transactionActions.push((0, transactionsViewReducer_1.fetchTransferAccounts)());
|
|
49
|
-
}
|
|
50
44
|
const classList = state$.value.classListState;
|
|
51
45
|
if (classList.hasValidState() === false &&
|
|
52
46
|
classList.fetchState !== 'In-Progress') {
|
|
@@ -3,7 +3,7 @@ import { TransactionPayload } from '../../entity/transaction/payloadTypes/transa
|
|
|
3
3
|
import { SupportedTransactionPayload } from '../../entity/transaction/transactionState';
|
|
4
4
|
import { VendorPayload } from '../../entity/vendor/vendorPayload';
|
|
5
5
|
import { ZeniAPIResponse } from '../../responsePayload';
|
|
6
|
-
|
|
6
|
+
interface TransactionDetailPayload {
|
|
7
7
|
query: {
|
|
8
8
|
transaction_id: string;
|
|
9
9
|
transaction_type: string;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { NestedAccountHierarchyForReport } from '../../commonStateTypes/accountView/nestedAccountID';
|
|
2
2
|
import { NestedClassHierarchyForReport } from '../../commonStateTypes/classesView/nestedClassID';
|
|
3
|
-
import {
|
|
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,
|
|
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,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "5.0.51-
|
|
3
|
+
"version": "5.0.51-betaRD2",
|
|
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
|
-
}));
|
package/lib/view/expenseAutomationView/epics/transactionCategorization/createTransferEntryEpic.d.ts
DELETED
|
@@ -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>;
|
package/lib/view/expenseAutomationView/epics/transactionCategorization/createTransferEntryEpic.js
DELETED
|
@@ -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>;
|
package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransferAccountsEpic.js
DELETED
|
@@ -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;
|