@zeniai/client-epic-state 4.19.70 → 4.19.71
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/transaction/payloadTypes/transactionPayload.js +1 -0
- package/lib/entity/transaction/stateTypes/transaction.d.ts +1 -0
- package/lib/entity/transactionActivityLog/transactionActivityLogPayload.d.ts +36 -0
- package/lib/entity/transactionActivityLog/transactionActivityLogPayload.js +56 -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 +40 -0
- package/lib/entity/transactionActivityLog/transactionActivityLogState.js +20 -0
- package/lib/epic.d.ts +2 -1
- package/lib/epic.js +2 -1
- package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +1 -0
- package/lib/esm/entity/transactionActivityLog/transactionActivityLogPayload.js +50 -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 +16 -0
- package/lib/esm/epic.js +2 -1
- package/lib/esm/index.js +4 -0
- package/lib/esm/reducer.js +6 -0
- package/lib/esm/view/transactionActivityLogView/fetchTransactionActivityLogEpic.js +43 -0
- package/lib/esm/view/transactionActivityLogView/transactionActivityLogViewPayload.js +1 -0
- package/lib/esm/view/transactionActivityLogView/transactionActivityLogViewReducer.js +47 -0
- package/lib/esm/view/transactionActivityLogView/transactionActivityLogViewSelector.js +34 -0
- package/lib/esm/view/transactionActivityLogView/transactionActivityLogViewState.js +1 -0
- package/lib/index.d.ts +5 -1
- package/lib/index.js +29 -23
- package/lib/reducer.d.ts +6 -0
- package/lib/reducer.js +6 -0
- package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
- package/lib/view/transactionActivityLogView/fetchTransactionActivityLogEpic.d.ts +9 -0
- package/lib/view/transactionActivityLogView/fetchTransactionActivityLogEpic.js +47 -0
- package/lib/view/transactionActivityLogView/transactionActivityLogViewPayload.d.ts +8 -0
- package/lib/view/transactionActivityLogView/transactionActivityLogViewPayload.js +2 -0
- package/lib/view/transactionActivityLogView/transactionActivityLogViewReducer.d.ts +17 -0
- package/lib/view/transactionActivityLogView/transactionActivityLogViewReducer.js +51 -0
- package/lib/view/transactionActivityLogView/transactionActivityLogViewSelector.d.ts +8 -0
- package/lib/view/transactionActivityLogView/transactionActivityLogViewSelector.js +37 -0
- package/lib/view/transactionActivityLogView/transactionActivityLogViewState.d.ts +5 -0
- package/lib/view/transactionActivityLogView/transactionActivityLogViewState.js +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ActionsObservable, StateObservable } from 'redux-observable';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { updateTransactionActivityLogs } from '../../entity/transactionActivityLog/transactionActivityLogReducer';
|
|
4
|
+
import { updateAllUsers } from '../../entity/user/userReducer';
|
|
5
|
+
import { RootState } from '../../reducer';
|
|
6
|
+
import { ZeniAPI } from '../../zeniAPI';
|
|
7
|
+
import { fetchTransactionActivityLog, updateTransactionActivityLogViewFetchStatus, updateTransactionActivityLogViewOnSuccess } from './transactionActivityLogViewReducer';
|
|
8
|
+
export type ActionType = ReturnType<typeof fetchTransactionActivityLog> | ReturnType<typeof updateTransactionActivityLogs> | ReturnType<typeof updateAllUsers> | ReturnType<typeof updateTransactionActivityLogViewOnSuccess> | ReturnType<typeof updateTransactionActivityLogViewFetchStatus>;
|
|
9
|
+
export declare const fetchTransactionActivityLogEpic: (actions$: ActionsObservable<ActionType>, _: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
|
@@ -0,0 +1,47 @@
|
|
|
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 userReducer_1 = require("../../entity/user/userReducer");
|
|
8
|
+
const responsePayload_1 = require("../../responsePayload");
|
|
9
|
+
const transactionActivityLogViewReducer_1 = require("./transactionActivityLogViewReducer");
|
|
10
|
+
const fetchTransactionActivityLogEpic = (actions$, _, zeniAPI) => actions$.pipe((0, operators_1.filter)(transactionActivityLogViewReducer_1.fetchTransactionActivityLog.match), (0, operators_1.switchMap)((action) => {
|
|
11
|
+
const { qboId } = action.payload;
|
|
12
|
+
return zeniAPI
|
|
13
|
+
.getJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/transactions/${qboId}/activity`)
|
|
14
|
+
.pipe((0, operators_1.mergeMap)((response) => {
|
|
15
|
+
if ((0, responsePayload_1.isSuccessResponse)(response) &&
|
|
16
|
+
response.data != null &&
|
|
17
|
+
response.data.activity != null) {
|
|
18
|
+
const updateActions = [];
|
|
19
|
+
if (response.data.users != null &&
|
|
20
|
+
response.data.users.length > 0) {
|
|
21
|
+
updateActions.push((0, userReducer_1.updateAllUsers)({
|
|
22
|
+
users: response.data.users,
|
|
23
|
+
updateType: 'merge',
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
updateActions.push((0, transactionActivityLogReducer_1.updateTransactionActivityLogs)(response.data.activity));
|
|
27
|
+
updateActions.push((0, transactionActivityLogViewReducer_1.updateTransactionActivityLogViewOnSuccess)({
|
|
28
|
+
data: response.data.activity,
|
|
29
|
+
qboId,
|
|
30
|
+
}));
|
|
31
|
+
return (0, rxjs_1.from)(updateActions);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return (0, rxjs_1.of)((0, transactionActivityLogViewReducer_1.updateTransactionActivityLogViewFetchStatus)({
|
|
35
|
+
fetchState: 'Error',
|
|
36
|
+
error: response.status,
|
|
37
|
+
qboId,
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
}), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, transactionActivityLogViewReducer_1.updateTransactionActivityLogViewFetchStatus)({
|
|
41
|
+
qboId,
|
|
42
|
+
fetchState: 'Error',
|
|
43
|
+
error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'fetch transaction activity log REST API call errored out' +
|
|
44
|
+
JSON.stringify(error)),
|
|
45
|
+
}))));
|
|
46
|
+
}));
|
|
47
|
+
exports.fetchTransactionActivityLogEpic = fetchTransactionActivityLogEpic;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TransactionActivityLogPayload } from '../../entity/transactionActivityLog/transactionActivityLogPayload';
|
|
2
|
+
import { UserPayload } from '../../entity/user/userPayload';
|
|
3
|
+
import { ZeniAPIResponse } from '../../responsePayload';
|
|
4
|
+
export interface FetchTransactionActivityLogPayload {
|
|
5
|
+
activity: TransactionActivityLogPayload[];
|
|
6
|
+
users?: UserPayload[];
|
|
7
|
+
}
|
|
8
|
+
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,51 @@
|
|
|
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
|
+
const transactionActivityLogPayload_1 = require("../../entity/transactionActivityLog/transactionActivityLogPayload");
|
|
7
|
+
exports.initialState = {
|
|
8
|
+
transactionActivityLogIdsByQboId: {},
|
|
9
|
+
transactionActivityLogFetchStateByQboId: {},
|
|
10
|
+
};
|
|
11
|
+
const transactionActivityLogView = (0, toolkit_1.createSlice)({
|
|
12
|
+
name: 'transactionActivityLogView',
|
|
13
|
+
initialState: exports.initialState,
|
|
14
|
+
reducers: {
|
|
15
|
+
fetchTransactionActivityLog: {
|
|
16
|
+
prepare(qboId) {
|
|
17
|
+
return {
|
|
18
|
+
payload: { qboId },
|
|
19
|
+
};
|
|
20
|
+
},
|
|
21
|
+
reducer(draft, action) {
|
|
22
|
+
const { qboId } = action.payload;
|
|
23
|
+
draft.transactionActivityLogFetchStateByQboId[qboId] = {
|
|
24
|
+
fetchState: 'In-Progress',
|
|
25
|
+
error: undefined,
|
|
26
|
+
};
|
|
27
|
+
draft.transactionActivityLogIdsByQboId[qboId] = [];
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
updateTransactionActivityLogViewOnSuccess(draft, action) {
|
|
31
|
+
const { data, qboId } = action.payload;
|
|
32
|
+
draft.transactionActivityLogFetchStateByQboId[qboId] = {
|
|
33
|
+
fetchState: 'Completed',
|
|
34
|
+
error: undefined,
|
|
35
|
+
};
|
|
36
|
+
draft.transactionActivityLogIdsByQboId[qboId] = data.map((transactionActivityLog) => (0, transactionActivityLogPayload_1.toActivityLogId)(transactionActivityLog.correlation_id, transactionActivityLog.event_type, transactionActivityLog.data?.transaction?.line_id));
|
|
37
|
+
},
|
|
38
|
+
updateTransactionActivityLogViewFetchStatus(draft, action) {
|
|
39
|
+
const { fetchState, qboId, error } = action.payload;
|
|
40
|
+
draft.transactionActivityLogFetchStateByQboId[qboId] = {
|
|
41
|
+
fetchState,
|
|
42
|
+
error,
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
clearTransactionActivityLogView(draft) {
|
|
46
|
+
Object.assign(draft, exports.initialState);
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
_a = transactionActivityLogView.actions, exports.fetchTransactionActivityLog = _a.fetchTransactionActivityLog, exports.updateTransactionActivityLogViewOnSuccess = _a.updateTransactionActivityLogViewOnSuccess, exports.clearTransactionActivityLogView = _a.clearTransactionActivityLogView, exports.updateTransactionActivityLogViewFetchStatus = _a.updateTransactionActivityLogViewFetchStatus;
|
|
51
|
+
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,37 @@
|
|
|
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) => state.userState, (_state, qboId) => qboId, (transactionActivityLogViewState, transactionActivityLogState, userState, qboId) => {
|
|
8
|
+
const fetchStateAndError = transactionActivityLogViewState
|
|
9
|
+
.transactionActivityLogFetchStateByQboId[qboId] ?? {
|
|
10
|
+
fetchState: 'Not-Started',
|
|
11
|
+
error: undefined,
|
|
12
|
+
};
|
|
13
|
+
const transactionActivityLogIds = transactionActivityLogViewState.transactionActivityLogIdsByQboId[qboId] ??
|
|
14
|
+
[];
|
|
15
|
+
const rawLogs = (0, transactionActivityLogSelector_1.getTransactionActivityLogsByIds)(transactionActivityLogState, transactionActivityLogIds);
|
|
16
|
+
const transactionActivityLogs = rawLogs.map((log) => {
|
|
17
|
+
const userId = log.data?.transaction?.userId;
|
|
18
|
+
if (userId == null || log.data == null) {
|
|
19
|
+
return log;
|
|
20
|
+
}
|
|
21
|
+
const user = userState.userByUserId[userId];
|
|
22
|
+
if (user == null) {
|
|
23
|
+
return log;
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
...log,
|
|
27
|
+
data: {
|
|
28
|
+
...log.data,
|
|
29
|
+
user,
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
return {
|
|
34
|
+
...(0, reduceFetchState_1.reduceFetchState)([fetchStateAndError]),
|
|
35
|
+
transactionActivityLogs,
|
|
36
|
+
};
|
|
37
|
+
});
|
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.71",
|
|
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",
|