@zeniai/client-epic-state 4.19.35 → 4.19.36-betaJK1
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/entity/transactionActivityLog/transactionActivityLogPayload.d.ts +27 -0
- package/lib/entity/transactionActivityLog/transactionActivityLogPayload.js +39 -0
- package/lib/entity/transactionActivityLog/transactionActivityLogReducer.d.ts +6 -0
- package/lib/entity/transactionActivityLog/transactionActivityLogReducer.js +27 -0
- package/lib/entity/transactionActivityLog/transactionActivityLogSelector.d.ts +4 -0
- package/lib/entity/transactionActivityLog/transactionActivityLogSelector.js +17 -0
- package/lib/entity/transactionActivityLog/transactionActivityLogState.d.ts +30 -0
- package/lib/entity/transactionActivityLog/transactionActivityLogState.js +13 -0
- package/lib/epic.d.ts +2 -1
- package/lib/epic.js +2 -1
- package/lib/esm/entity/transactionActivityLog/transactionActivityLogPayload.js +34 -0
- package/lib/esm/entity/transactionActivityLog/transactionActivityLogReducer.js +23 -0
- package/lib/esm/entity/transactionActivityLog/transactionActivityLogSelector.js +10 -0
- package/lib/esm/entity/transactionActivityLog/transactionActivityLogState.js +9 -0
- package/lib/esm/epic.js +2 -1
- package/lib/esm/index.js +2 -0
- package/lib/esm/reducer.js +6 -0
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementEpic.js +3 -1
- package/lib/esm/view/spendManagement/reimbursement/remiDetailView/epics/fetchRemiDetailEpic.js +5 -4
- package/lib/esm/view/transactionActivityLogView/fetchTransactionActivityLogEpic.js +35 -0
- package/lib/esm/view/transactionActivityLogView/transactionActivityLogViewPayload.js +1 -0
- package/lib/esm/view/transactionActivityLogView/transactionActivityLogViewReducer.js +46 -0
- package/lib/esm/view/transactionActivityLogView/transactionActivityLogViewSelector.js +16 -0
- package/lib/esm/view/transactionActivityLogView/transactionActivityLogViewState.js +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +5 -1
- package/lib/reducer.d.ts +6 -0
- package/lib/reducer.js +6 -0
- package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
- package/lib/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementEpic.js +3 -1
- package/lib/view/spendManagement/reimbursement/remiDetailView/epics/fetchRemiDetailEpic.js +5 -4
- package/lib/view/transactionActivityLogView/fetchTransactionActivityLogEpic.d.ts +8 -0
- package/lib/view/transactionActivityLogView/fetchTransactionActivityLogEpic.js +39 -0
- package/lib/view/transactionActivityLogView/transactionActivityLogViewPayload.d.ts +6 -0
- package/lib/view/transactionActivityLogView/transactionActivityLogViewPayload.js +2 -0
- package/lib/view/transactionActivityLogView/transactionActivityLogViewReducer.d.ts +17 -0
- package/lib/view/transactionActivityLogView/transactionActivityLogViewReducer.js +50 -0
- package/lib/view/transactionActivityLogView/transactionActivityLogViewSelector.d.ts +8 -0
- package/lib/view/transactionActivityLogView/transactionActivityLogViewSelector.js +19 -0
- package/lib/view/transactionActivityLogView/transactionActivityLogViewState.d.ts +5 -0
- package/lib/view/transactionActivityLogView/transactionActivityLogViewState.js +2 -0
- package/package.json +1 -1
|
@@ -21,14 +21,16 @@ const uploadAccountStatementEpic = (actions$, state$, zeniAPI) => actions$.pipe(
|
|
|
21
21
|
error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Account not found'),
|
|
22
22
|
}));
|
|
23
23
|
}
|
|
24
|
+
const statementType = accountBase.accountType == 'credit_card' ? 'card' : 'bank';
|
|
24
25
|
const requestPayload = {
|
|
25
26
|
account_id: accountId,
|
|
26
27
|
statement_start_date: start.toString(),
|
|
27
28
|
statement_end_date: end.toString(),
|
|
28
29
|
processor_run_id: payload.processor_run_id,
|
|
29
30
|
file_id: payload.files[0].file_id,
|
|
31
|
+
statement_type: statementType,
|
|
30
32
|
};
|
|
31
|
-
const uploadAccountStatementApi$ = zeniAPI.postAndGetJSON(`${zeniAPI.apiEndPoints.reconciliationMicroServiceBaseUrl}/1.0/reconciliation/
|
|
33
|
+
const uploadAccountStatementApi$ = zeniAPI.postAndGetJSON(`${zeniAPI.apiEndPoints.reconciliationMicroServiceBaseUrl}/1.0/reconciliation/statements`, requestPayload);
|
|
32
34
|
return uploadAccountStatementApi$.pipe((0, operators_1.mergeMap)((response) => {
|
|
33
35
|
if ((0, responsePayload_1.isSuccessResponse)(response) === true && response.data != null) {
|
|
34
36
|
const actions = [];
|
|
@@ -36,6 +36,11 @@ const fetchRemiDetailEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, ope
|
|
|
36
36
|
remiDetail.fetchState !== 'In-Progress') {
|
|
37
37
|
remiActions.push((0, remiDetailViewReducer_1.updateRemiDetailFetchState)(reimbursementId, 'In-Progress'));
|
|
38
38
|
remiActions.push((0, commonHistoryReducer_1.fetchEntityHistory)(reimbursementId, 'reimbursement', cacheOverride));
|
|
39
|
+
// Fetch config in parallel if not already fetched
|
|
40
|
+
if (reimbursementConfigState.fetchState !== 'In-Progress' &&
|
|
41
|
+
reimbursementConfigState.fetchState !== 'Completed') {
|
|
42
|
+
remiActions.push((0, reimbursementConfigReducer_1.fetchReimbursementConfig)());
|
|
43
|
+
}
|
|
39
44
|
const query = {
|
|
40
45
|
transaction_type: 'reimbursement',
|
|
41
46
|
reimbursement_provider: 'zeni',
|
|
@@ -64,10 +69,6 @@ const fetchRemiDetailEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, ope
|
|
|
64
69
|
(0, bankAccountReducer_1.updateBankAccounts)(reimburseeBankAccount != null ? [reimburseeBankAccount] : []),
|
|
65
70
|
(0, remiDetailViewReducer_1.updateRemiDetailFetchState)(transcationId, 'Completed'),
|
|
66
71
|
];
|
|
67
|
-
if (reimbursementConfigState.fetchState !== 'In-Progress' &&
|
|
68
|
-
reimbursementConfigState.fetchState !== 'Completed') {
|
|
69
|
-
actions.push((0, reimbursementConfigReducer_1.fetchReimbursementConfig)());
|
|
70
|
-
}
|
|
71
72
|
//update the merchants recommendation in recommendation view
|
|
72
73
|
response.data.merchants.forEach((merchant) => {
|
|
73
74
|
const recommendations = (0, recommendationHelper_1.getRecommendationFromRecommendationPayload)(merchant.recommendations ?? []);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ActionsObservable, StateObservable } from 'redux-observable';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { updateTransactionActivityLogs } from '../../entity/transactionActivityLog/transactionActivityLogReducer';
|
|
4
|
+
import { RootState } from '../../reducer';
|
|
5
|
+
import { ZeniAPI } from '../../zeniAPI';
|
|
6
|
+
import { fetchTransactionActivityLog, updateTransactionActivityLogViewFetchStatus, updateTransactionActivityLogViewOnSuccess } from './transactionActivityLogViewReducer';
|
|
7
|
+
export type ActionType = ReturnType<typeof fetchTransactionActivityLog> | ReturnType<typeof updateTransactionActivityLogs> | ReturnType<typeof updateTransactionActivityLogViewOnSuccess> | ReturnType<typeof updateTransactionActivityLogViewFetchStatus>;
|
|
8
|
+
export declare const fetchTransactionActivityLogEpic: (actions$: ActionsObservable<ActionType>, _: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchTransactionActivityLogEpic = void 0;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const operators_1 = require("rxjs/operators");
|
|
6
|
+
const transactionActivityLogReducer_1 = require("../../entity/transactionActivityLog/transactionActivityLogReducer");
|
|
7
|
+
const responsePayload_1 = require("../../responsePayload");
|
|
8
|
+
const transactionActivityLogViewReducer_1 = require("./transactionActivityLogViewReducer");
|
|
9
|
+
const fetchTransactionActivityLogEpic = (actions$, _, zeniAPI) => actions$.pipe((0, operators_1.filter)(transactionActivityLogViewReducer_1.fetchTransactionActivityLog.match), (0, operators_1.switchMap)((action) => {
|
|
10
|
+
const { qboId } = action.payload;
|
|
11
|
+
return zeniAPI
|
|
12
|
+
.getJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/transactions/${qboId}/activity`)
|
|
13
|
+
.pipe((0, operators_1.mergeMap)((response) => {
|
|
14
|
+
if ((0, responsePayload_1.isSuccessResponse)(response) &&
|
|
15
|
+
response.data != null &&
|
|
16
|
+
response.data.activity != null) {
|
|
17
|
+
const updateActions = [];
|
|
18
|
+
updateActions.push((0, transactionActivityLogViewReducer_1.updateTransactionActivityLogViewOnSuccess)({
|
|
19
|
+
data: response.data.activity,
|
|
20
|
+
qboId,
|
|
21
|
+
}));
|
|
22
|
+
updateActions.push((0, transactionActivityLogReducer_1.updateTransactionActivityLogs)(response.data.activity));
|
|
23
|
+
return (0, rxjs_1.from)(updateActions);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
return (0, rxjs_1.of)((0, transactionActivityLogViewReducer_1.updateTransactionActivityLogViewFetchStatus)({
|
|
27
|
+
fetchState: 'Error',
|
|
28
|
+
error: response.status,
|
|
29
|
+
qboId,
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
}), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, transactionActivityLogViewReducer_1.updateTransactionActivityLogViewFetchStatus)({
|
|
33
|
+
qboId,
|
|
34
|
+
fetchState: 'Error',
|
|
35
|
+
error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'fetch transaction activity log REST API call errored out' +
|
|
36
|
+
JSON.stringify(error)),
|
|
37
|
+
}))));
|
|
38
|
+
}));
|
|
39
|
+
exports.fetchTransactionActivityLogEpic = fetchTransactionActivityLogEpic;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TransactionActivityLogPayload } from '../../entity/transactionActivityLog/transactionActivityLogPayload';
|
|
2
|
+
import { ZeniAPIResponse } from '../../responsePayload';
|
|
3
|
+
export interface FetchTransactionActivityLogPayload {
|
|
4
|
+
activity: TransactionActivityLogPayload[];
|
|
5
|
+
}
|
|
6
|
+
export type FetchTransactionActivityLogResponse = ZeniAPIResponse<FetchTransactionActivityLogPayload>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FetchState } from '../../commonStateTypes/common';
|
|
2
|
+
import { TransactionActivityLogPayload } from '../../entity/transactionActivityLog/transactionActivityLogPayload';
|
|
3
|
+
import { ZeniAPIStatus } from '../../responsePayload';
|
|
4
|
+
import { TransactionActivityLogViewState } from './transactionActivityLogViewState';
|
|
5
|
+
export declare const initialState: TransactionActivityLogViewState;
|
|
6
|
+
export declare const fetchTransactionActivityLog: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[qboId: string], {
|
|
7
|
+
qboId: string;
|
|
8
|
+
}, "transactionActivityLogView/fetchTransactionActivityLog", never, never>, updateTransactionActivityLogViewOnSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
9
|
+
data: TransactionActivityLogPayload[];
|
|
10
|
+
qboId: string;
|
|
11
|
+
}, "transactionActivityLogView/updateTransactionActivityLogViewOnSuccess">, clearTransactionActivityLogView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"transactionActivityLogView/clearTransactionActivityLogView">, updateTransactionActivityLogViewFetchStatus: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
12
|
+
fetchState: FetchState;
|
|
13
|
+
qboId: string;
|
|
14
|
+
error?: ZeniAPIStatus;
|
|
15
|
+
}, "transactionActivityLogView/updateTransactionActivityLogViewFetchStatus">;
|
|
16
|
+
declare const _default: import("redux").Reducer<TransactionActivityLogViewState>;
|
|
17
|
+
export default _default;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.updateTransactionActivityLogViewFetchStatus = exports.clearTransactionActivityLogView = exports.updateTransactionActivityLogViewOnSuccess = exports.fetchTransactionActivityLog = exports.initialState = void 0;
|
|
5
|
+
const toolkit_1 = require("@reduxjs/toolkit");
|
|
6
|
+
exports.initialState = {
|
|
7
|
+
transactionActivityLogIdsByQboId: {},
|
|
8
|
+
transactionActivityLogFetchStateByQboId: {},
|
|
9
|
+
};
|
|
10
|
+
const transactionActivityLogView = (0, toolkit_1.createSlice)({
|
|
11
|
+
name: 'transactionActivityLogView',
|
|
12
|
+
initialState: exports.initialState,
|
|
13
|
+
reducers: {
|
|
14
|
+
fetchTransactionActivityLog: {
|
|
15
|
+
prepare(qboId) {
|
|
16
|
+
return {
|
|
17
|
+
payload: { qboId },
|
|
18
|
+
};
|
|
19
|
+
},
|
|
20
|
+
reducer(draft, action) {
|
|
21
|
+
const { qboId } = action.payload;
|
|
22
|
+
draft.transactionActivityLogFetchStateByQboId[qboId] = {
|
|
23
|
+
fetchState: 'In-Progress',
|
|
24
|
+
error: undefined,
|
|
25
|
+
};
|
|
26
|
+
draft.transactionActivityLogIdsByQboId[qboId] = [];
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
updateTransactionActivityLogViewOnSuccess(draft, action) {
|
|
30
|
+
const { data, qboId } = action.payload;
|
|
31
|
+
draft.transactionActivityLogFetchStateByQboId[qboId] = {
|
|
32
|
+
fetchState: 'Completed',
|
|
33
|
+
error: undefined,
|
|
34
|
+
};
|
|
35
|
+
draft.transactionActivityLogIdsByQboId[qboId] = data.map((transactionActivityLog) => transactionActivityLog.correlation_id);
|
|
36
|
+
},
|
|
37
|
+
updateTransactionActivityLogViewFetchStatus(draft, action) {
|
|
38
|
+
const { fetchState, qboId, error } = action.payload;
|
|
39
|
+
draft.transactionActivityLogFetchStateByQboId[qboId] = {
|
|
40
|
+
fetchState,
|
|
41
|
+
error,
|
|
42
|
+
};
|
|
43
|
+
},
|
|
44
|
+
clearTransactionActivityLogView(draft) {
|
|
45
|
+
Object.assign(draft, exports.initialState);
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
_a = transactionActivityLogView.actions, exports.fetchTransactionActivityLog = _a.fetchTransactionActivityLog, exports.updateTransactionActivityLogViewOnSuccess = _a.updateTransactionActivityLogViewOnSuccess, exports.clearTransactionActivityLogView = _a.clearTransactionActivityLogView, exports.updateTransactionActivityLogViewFetchStatus = _a.updateTransactionActivityLogViewFetchStatus;
|
|
50
|
+
exports.default = transactionActivityLogView.reducer;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ID } from '../../commonStateTypes/common';
|
|
2
|
+
import { SelectorView } from '../../commonStateTypes/viewAndReport/viewAndReport';
|
|
3
|
+
import { TransactionActivityLog } from '../../entity/transactionActivityLog/transactionActivityLogState';
|
|
4
|
+
import { RootState } from '../../reducer';
|
|
5
|
+
export interface TransactionActivityLogViewSelectorView extends SelectorView {
|
|
6
|
+
transactionActivityLogs: TransactionActivityLog[];
|
|
7
|
+
}
|
|
8
|
+
export declare const getTransactionActivityLogView: (state: RootState, qboId: ID) => TransactionActivityLogViewSelectorView;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTransactionActivityLogView = void 0;
|
|
4
|
+
const toolkit_1 = require("@reduxjs/toolkit");
|
|
5
|
+
const reduceFetchState_1 = require("../../commonStateTypes/reduceFetchState");
|
|
6
|
+
const transactionActivityLogSelector_1 = require("../../entity/transactionActivityLog/transactionActivityLogSelector");
|
|
7
|
+
exports.getTransactionActivityLogView = (0, toolkit_1.createSelector)((state) => state.transactionActivityLogViewState, (state) => state.transactionActivityLogState, (_state, qboId) => qboId, (transactionActivityLogViewState, transactionActivityLogState, qboId) => {
|
|
8
|
+
const fetchStateAndError = transactionActivityLogViewState
|
|
9
|
+
.transactionActivityLogFetchStateByQboId[qboId] ?? {
|
|
10
|
+
fetchState: 'Not-Started',
|
|
11
|
+
error: undefined,
|
|
12
|
+
};
|
|
13
|
+
const transactionActivityLogIds = transactionActivityLogViewState.transactionActivityLogIdsByQboId[qboId] ?? [];
|
|
14
|
+
const transactionActivityLogs = (0, transactionActivityLogSelector_1.getTransactionActivityLogsByIds)(transactionActivityLogState, transactionActivityLogIds);
|
|
15
|
+
return {
|
|
16
|
+
...(0, reduceFetchState_1.reduceFetchState)([fetchStateAndError]),
|
|
17
|
+
transactionActivityLogs,
|
|
18
|
+
};
|
|
19
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "4.19.
|
|
3
|
+
"version": "4.19.36-betaJK1",
|
|
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",
|