@zeniai/client-epic-state 4.17.19 → 4.17.20
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/accountRecon/accountReconPayload.d.ts +2 -0
- package/lib/entity/accountRecon/accountReconPayload.js +6 -1
- package/lib/entity/accountRecon/accountReconState.d.ts +2 -0
- package/lib/entity/{aiController/aiControllerPayload.d.ts → aiCfo/aiCfoPayload.d.ts} +10 -3
- package/lib/entity/aiCfo/aiCfoReducer.d.ts +45 -0
- package/lib/entity/{aiController/aiControllerReducer.js → aiCfo/aiCfoReducer.js} +53 -45
- package/lib/entity/aiCfo/aiCfoSelector.d.ts +14 -0
- package/lib/entity/{aiController/aiControllerSelector.js → aiCfo/aiCfoSelector.js} +6 -6
- package/lib/entity/aiCfo/aiCfoState.d.ts +107 -0
- package/lib/entity/aiCfo/aiCfoState.js +81 -0
- package/lib/entity/tenant/clearAllEpic.d.ts +4 -4
- package/lib/entity/tenant/clearAllEpic.js +4 -4
- package/lib/epic.d.ts +10 -8
- package/lib/epic.js +10 -8
- package/lib/index.d.ts +15 -13
- package/lib/index.js +83 -74
- package/lib/reducer.d.ts +6 -6
- package/lib/reducer.js +6 -6
- package/lib/view/{aiControllerView/aiControllerViewPayload.d.ts → aiCfoView/aiCfoViewPayload.d.ts} +2 -2
- package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +73 -0
- package/lib/view/{aiControllerView/aiControllerViewReducer.js → aiCfoView/aiCfoViewReducer.js} +10 -10
- package/lib/view/{aiControllerView/aiControllerViewSelector.d.ts → aiCfoView/aiCfoViewSelector.d.ts} +5 -5
- package/lib/view/{aiControllerView/aiControllerViewSelector.js → aiCfoView/aiCfoViewSelector.js} +6 -6
- package/lib/view/{aiControllerView/aiControllerViewState.d.ts → aiCfoView/aiCfoViewState.d.ts} +3 -3
- package/lib/view/{aiControllerView → aiCfoView}/epics/createSessionAndSubmitEpic.d.ts +2 -2
- package/lib/view/{aiControllerView → aiCfoView}/epics/createSessionAndSubmitEpic.js +9 -9
- package/lib/view/{aiControllerView → aiCfoView}/epics/createSessionEpic.d.ts +2 -2
- package/lib/view/{aiControllerView → aiCfoView}/epics/createSessionEpic.js +8 -8
- package/lib/view/{aiControllerView → aiCfoView}/epics/fetchChatHistoryEpic.d.ts +2 -2
- package/lib/view/{aiControllerView → aiCfoView}/epics/fetchChatHistoryEpic.js +9 -9
- package/lib/view/{aiControllerView → aiCfoView}/epics/fetchChatSessionsForUserEpic.d.ts +2 -2
- package/lib/view/{aiControllerView → aiCfoView}/epics/fetchChatSessionsForUserEpic.js +8 -9
- package/lib/view/{aiControllerView → aiCfoView}/epics/stopSubmitEpic.d.ts +2 -2
- package/lib/view/{aiControllerView → aiCfoView}/epics/stopSubmitEpic.js +11 -11
- package/lib/view/{aiControllerView → aiCfoView}/epics/stopSubmitQuestionEpic.d.ts +2 -2
- package/lib/view/{aiControllerView → aiCfoView}/epics/stopSubmitQuestionEpic.js +8 -8
- package/lib/view/{aiControllerView → aiCfoView}/epics/submitQuestionEpic.d.ts +2 -2
- package/lib/view/{aiControllerView → aiCfoView}/epics/submitQuestionEpic.js +10 -10
- package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.js +2 -0
- package/lib/view/spendManagement/chargeCards/cashbackDetail/cashbackDetailPayload.d.ts +7 -0
- package/lib/view/spendManagement/chargeCards/cashbackDetail/cashbackDetailReducer.js +11 -0
- package/lib/view/spendManagement/chargeCards/cashbackDetail/cashbackDetailSelector.d.ts +2 -1
- package/lib/view/spendManagement/chargeCards/cashbackDetail/cashbackDetailSelector.js +1 -0
- package/lib/view/spendManagement/chargeCards/cashbackDetail/cashbackDetailState.d.ts +8 -0
- package/lib/view/spendManagement/chargeCards/cashbackDetail/cashbackDetailState.js +7 -1
- package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetail.d.ts +19 -0
- package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetail.js +33 -1
- package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailPayload.d.ts +13 -0
- package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailReducer.d.ts +11 -2
- package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailReducer.js +18 -2
- package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailSelector.d.ts +2 -1
- package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailSelector.js +2 -1
- package/lib/view/spendManagement/chargeCards/chargeCardDetail/fetchChargeCardTransactionStatisticsEpic.d.ts +7 -0
- package/lib/view/spendManagement/chargeCards/chargeCardDetail/fetchChargeCardTransactionStatisticsEpic.js +39 -0
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +13 -0
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.js +14 -1
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListPayload.d.ts +14 -0
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListReducer.d.ts +2 -2
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListReducer.js +26 -2
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.d.ts +17 -3
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +34 -4
- package/lib/view/spendManagement/chargeCards/chargeCardList/fetchCreditAccountRepaymentEpic.d.ts +7 -0
- package/lib/view/spendManagement/chargeCards/chargeCardList/fetchCreditAccountRepaymentEpic.js +23 -0
- package/lib/zeniAPI.d.ts +1 -1
- package/package.json +1 -1
- package/lib/entity/aiController/aiControllerReducer.d.ts +0 -46
- package/lib/entity/aiController/aiControllerSelector.d.ts +0 -14
- package/lib/entity/aiController/aiControllerState.d.ts +0 -88
- package/lib/entity/aiController/aiControllerState.js +0 -49
- package/lib/view/aiControllerView/aiControllerViewReducer.d.ts +0 -73
- /package/lib/entity/{aiController/aiControllerPayload.js → aiCfo/aiCfoPayload.js} +0 -0
- /package/lib/view/{aiControllerView/aiControllerViewPayload.js → aiCfoView/aiCfoViewPayload.js} +0 -0
- /package/lib/view/{aiControllerView/aiControllerViewState.js → aiCfoView/aiCfoViewState.js} +0 -0
|
@@ -3,24 +3,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.submitQuestionEpic = void 0;
|
|
4
4
|
const rxjs_1 = require("rxjs");
|
|
5
5
|
const operators_1 = require("rxjs/operators");
|
|
6
|
-
const
|
|
6
|
+
const aiCfoReducer_1 = require("../../../entity/aiCfo/aiCfoReducer");
|
|
7
7
|
const responsePayload_1 = require("../../../responsePayload");
|
|
8
|
-
const
|
|
9
|
-
const submitQuestionEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(
|
|
8
|
+
const aiCfoViewReducer_1 = require("../aiCfoViewReducer");
|
|
9
|
+
const submitQuestionEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(aiCfoViewReducer_1.submitQuestion.match), (0, operators_1.mergeMap)((action) => {
|
|
10
10
|
const { questionAnswerId, userId, sessionId, questionId, createdAt, question, } = action.payload;
|
|
11
|
-
const {
|
|
12
|
-
const { uiState } =
|
|
11
|
+
const { aiCfoViewState } = state$.value;
|
|
12
|
+
const { uiState } = aiCfoViewState;
|
|
13
13
|
const agentId = uiState.agentId;
|
|
14
14
|
const payload = { chat_session_id: sessionId, message: question };
|
|
15
15
|
if (agentId == null || Boolean(question) == false) {
|
|
16
16
|
throw new Error('Invalid State');
|
|
17
17
|
}
|
|
18
18
|
return zeniAPI
|
|
19
|
-
.postAndGetJSON(`${zeniAPI.apiEndPoints.
|
|
19
|
+
.postAndGetJSON(`${zeniAPI.apiEndPoints.aiCfoMicroServiceBaseUrl}/1.0/agents/${agentId}`, payload)
|
|
20
20
|
.pipe((0, operators_1.mergeMap)((response) => {
|
|
21
21
|
if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
|
|
22
22
|
const actions = [];
|
|
23
|
-
actions.push((0,
|
|
23
|
+
actions.push((0, aiCfoReducer_1.upsertOrAddQuestionAnswerPayload)({
|
|
24
24
|
chatSessionId: sessionId,
|
|
25
25
|
questionAnswerId: questionAnswerId,
|
|
26
26
|
question: {
|
|
@@ -31,16 +31,16 @@ const submitQuestionEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, oper
|
|
|
31
31
|
answerPayload: response.data,
|
|
32
32
|
userId,
|
|
33
33
|
insertQuestionAnswer: false, // Don't insert the Q/A here after stopSubmitSuccess
|
|
34
|
-
}), (0,
|
|
34
|
+
}), (0, aiCfoViewReducer_1.submitQuestionSuccess)(sessionId));
|
|
35
35
|
return (0, rxjs_1.of)(...actions);
|
|
36
36
|
}
|
|
37
37
|
else {
|
|
38
|
-
return (0, rxjs_1.of)((0,
|
|
38
|
+
return (0, rxjs_1.of)((0, aiCfoViewReducer_1.submitQuestionFailure)({
|
|
39
39
|
sessionId,
|
|
40
40
|
error: response.status,
|
|
41
41
|
}));
|
|
42
42
|
}
|
|
43
|
-
}), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0,
|
|
43
|
+
}), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, aiCfoViewReducer_1.submitQuestionFailure)({
|
|
44
44
|
sessionId,
|
|
45
45
|
error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Submit question REST API call errored out' +
|
|
46
46
|
JSON.stringify(error)),
|
|
@@ -62,6 +62,8 @@ const saveReconciliationReviewEpic = (actions$, state$, zeniAPI) => actions$.pip
|
|
|
62
62
|
break;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
+
payload = Object.assign(Object.assign({}, payload), { is_recommendation_operation_selected: queryParam.review_action ===
|
|
66
|
+
(updatedTransaction === null || updatedTransaction === void 0 ? void 0 : updatedTransaction.recommendedAction.action) });
|
|
65
67
|
const messageSection = getToastMessageSection(updatedTransaction);
|
|
66
68
|
return zeniAPI
|
|
67
69
|
.postAndGetJSON(`${zeniAPI.apiEndPoints.reconciliationMicroServiceBaseUrl}/1.0/reconciliation/review?query=${encodeURIComponent(JSON.stringify(queryParam))}`, payload)
|
|
@@ -5,6 +5,12 @@ interface CashbackPeriodPayload {
|
|
|
5
5
|
amount: number;
|
|
6
6
|
period: string;
|
|
7
7
|
}
|
|
8
|
+
export interface CashbackAnalyticsPayload {
|
|
9
|
+
credit_card_cashback_offer: number;
|
|
10
|
+
credit_card_cashback_redemption_mode: string;
|
|
11
|
+
debit_card_cashback_offer: number;
|
|
12
|
+
debit_card_cashback_redemption_mode: string;
|
|
13
|
+
}
|
|
8
14
|
export interface ChargeCardCashbackPayload extends CurrencyPayload {
|
|
9
15
|
cashback_by_period: CashbackPeriodPayload[];
|
|
10
16
|
cashback_summary: {
|
|
@@ -19,6 +25,7 @@ export interface ChargeCardCashbackPayload extends CurrencyPayload {
|
|
|
19
25
|
};
|
|
20
26
|
};
|
|
21
27
|
insights: InsightPayload;
|
|
28
|
+
analytics: CashbackAnalyticsPayload;
|
|
22
29
|
}
|
|
23
30
|
export type FetchCashbackDetailEpicResponse = ZeniAPIResponse<ChargeCardCashbackPayload>;
|
|
24
31
|
export {};
|
|
@@ -5,6 +5,7 @@ exports.clearCashbackDetail = exports.updateCashbackDetailUIState = exports.upda
|
|
|
5
5
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
6
6
|
const viewAndReportPayloadv2_1 = require("../../../../commonPayloadTypes/v2/viewAndReportPayloadv2");
|
|
7
7
|
const amount_1 = require("../../../../commonStateTypes/amount");
|
|
8
|
+
const cashbackDetailState_1 = require("./cashbackDetailState");
|
|
8
9
|
exports.initialState = {
|
|
9
10
|
fetchState: 'Not-Started',
|
|
10
11
|
error: undefined,
|
|
@@ -19,6 +20,7 @@ exports.initialState = {
|
|
|
19
20
|
cashbackAvailable: { amount: 0, currencyCode: 'USD', currencySymbol: '$' },
|
|
20
21
|
},
|
|
21
22
|
insightId: '',
|
|
23
|
+
cashbackAnalytics: Object.assign({}, cashbackDetailState_1.initialCashbackAnalytics),
|
|
22
24
|
hasValidState() {
|
|
23
25
|
return this.fetchState == 'Completed';
|
|
24
26
|
},
|
|
@@ -35,6 +37,7 @@ const cashbackDetail = (0, toolkit_1.createSlice)({
|
|
|
35
37
|
draft.cashbackByPeriod = toCashbackByPeriod(action.payload);
|
|
36
38
|
draft.cashbackSummary = toCashbackSummary(action.payload);
|
|
37
39
|
draft.insightId = action.payload.insights.insight_id;
|
|
40
|
+
draft.cashbackAnalytics = toCashbackAnalytics(action.payload.analytics);
|
|
38
41
|
draft.fetchState = 'Completed';
|
|
39
42
|
},
|
|
40
43
|
updateCashbackDetailFailure(draft, action) {
|
|
@@ -67,3 +70,11 @@ const toCashbackSummary = (payload) => {
|
|
|
67
70
|
cashbackAvailable: (0, amount_1.toAmount)(payload.cashback_summary.cashback_available.amount, payload.currency_code, payload.currency_symbol),
|
|
68
71
|
};
|
|
69
72
|
};
|
|
73
|
+
const toCashbackAnalytics = (payload) => {
|
|
74
|
+
return {
|
|
75
|
+
creditCardCashbackOffer: payload.credit_card_cashback_offer,
|
|
76
|
+
creditCardCashbackRedemptionMode: payload.credit_card_cashback_redemption_mode,
|
|
77
|
+
debitCardCashbackOffer: payload.debit_card_cashback_offer,
|
|
78
|
+
debitCardCashbackRedemptionMode: payload.debit_card_cashback_redemption_mode,
|
|
79
|
+
};
|
|
80
|
+
};
|
|
@@ -3,7 +3,7 @@ import { SelectorView } from '../../../../commonStateTypes/viewAndReport/viewAnd
|
|
|
3
3
|
import { Insight } from '../../../../entity/insights/insightState';
|
|
4
4
|
import { RootState } from '../../../../reducer';
|
|
5
5
|
import { ZeniDate } from '../../../../zeniDayJS';
|
|
6
|
-
import { CashbackDetailUIState, CashbackPeriod } from './cashbackDetailState';
|
|
6
|
+
import { CashbackAnalytics, CashbackDetailUIState, CashbackPeriod } from './cashbackDetailState';
|
|
7
7
|
export interface CashbackDetailSelectorView extends SelectorView {
|
|
8
8
|
cashbackByPeriod: CashbackPeriod[];
|
|
9
9
|
cashbackSummary: {
|
|
@@ -13,6 +13,7 @@ export interface CashbackDetailSelectorView extends SelectorView {
|
|
|
13
13
|
};
|
|
14
14
|
insight: Insight;
|
|
15
15
|
uiState: CashbackDetailUIState;
|
|
16
|
+
cashbackAnalytics: CashbackAnalytics;
|
|
16
17
|
}
|
|
17
18
|
export declare const getCashbackDetail: (state: RootState) => CashbackDetailSelectorView;
|
|
18
19
|
export declare const getZeniDateFromPeriod: (period: string) => ZeniDate;
|
|
@@ -31,6 +31,7 @@ const getCashbackDetail = (state) => {
|
|
|
31
31
|
insight: insight[0],
|
|
32
32
|
fetchState: cashbackDetailState.fetchState,
|
|
33
33
|
error: cashbackDetailState.error,
|
|
34
|
+
cashbackAnalytics: cashbackDetailState.cashbackAnalytics,
|
|
34
35
|
};
|
|
35
36
|
};
|
|
36
37
|
exports.getCashbackDetail = getCashbackDetail;
|
|
@@ -10,6 +10,7 @@ export interface CashbackDetailState extends FetchedState {
|
|
|
10
10
|
cashbackAvailable: Amount;
|
|
11
11
|
};
|
|
12
12
|
insightId: ID;
|
|
13
|
+
cashbackAnalytics: CashbackAnalytics;
|
|
13
14
|
}
|
|
14
15
|
export interface CashbackDetailUIState {
|
|
15
16
|
sortKey: CashbackViewSortKey;
|
|
@@ -21,3 +22,10 @@ export interface CashbackPeriod extends Amount {
|
|
|
21
22
|
export declare const ALL_CASHBACK_SORT_KEYS: readonly ["month", "cashback"];
|
|
22
23
|
export declare const toCashbackSortKeyType: (v: string) => "month" | "cashback";
|
|
23
24
|
export declare type CashbackViewSortKey = ReturnType<typeof toCashbackSortKeyType>;
|
|
25
|
+
export declare const initialCashbackAnalytics: CashbackAnalytics;
|
|
26
|
+
export interface CashbackAnalytics {
|
|
27
|
+
creditCardCashbackOffer: number;
|
|
28
|
+
creditCardCashbackRedemptionMode: string;
|
|
29
|
+
debitCardCashbackOffer: number;
|
|
30
|
+
debitCardCashbackRedemptionMode: string;
|
|
31
|
+
}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toCashbackSortKeyType = exports.ALL_CASHBACK_SORT_KEYS = void 0;
|
|
3
|
+
exports.initialCashbackAnalytics = exports.toCashbackSortKeyType = exports.ALL_CASHBACK_SORT_KEYS = void 0;
|
|
4
4
|
const stringToUnion_1 = require("../../../../commonStateTypes/stringToUnion");
|
|
5
5
|
exports.ALL_CASHBACK_SORT_KEYS = ['month', 'cashback'];
|
|
6
6
|
const toCashbackSortKeyType = (v) => (0, stringToUnion_1.stringToUnion)(v, exports.ALL_CASHBACK_SORT_KEYS);
|
|
7
7
|
exports.toCashbackSortKeyType = toCashbackSortKeyType;
|
|
8
|
+
exports.initialCashbackAnalytics = {
|
|
9
|
+
creditCardCashbackOffer: 0,
|
|
10
|
+
creditCardCashbackRedemptionMode: '',
|
|
11
|
+
debitCardCashbackOffer: 0,
|
|
12
|
+
debitCardCashbackRedemptionMode: '',
|
|
13
|
+
};
|
|
@@ -2,6 +2,7 @@ import { FetchStateAndError, FetchedState, ID } from '../../../../commonStateTyp
|
|
|
2
2
|
import { SortOrder } from '../../../../commonStateTypes/selectorTypes/sortOrderTypes';
|
|
3
3
|
import { PageToken } from '../../../../commonStateTypes/viewAndReport/viewAndReport';
|
|
4
4
|
import { Attachment } from '../../../../entity/transaction/stateTypes/attachment';
|
|
5
|
+
import { ChargeCardTransactionStatisticsPayload } from './chargeCardDetailPayload';
|
|
5
6
|
export interface ChargeCardDetailState {
|
|
6
7
|
detailById: Record<ID, ChargeCardDetail>;
|
|
7
8
|
}
|
|
@@ -16,6 +17,7 @@ interface ChargeCardDetail extends FetchedState {
|
|
|
16
17
|
updateDebitCardPinAttemptFetchState: FetchStateAndError;
|
|
17
18
|
updateChargeCardLimitFetchState: FetchStateAndError;
|
|
18
19
|
depositAccountLimitFetchState: FetchStateAndError;
|
|
20
|
+
transactionStatistics: TransactionStatistics;
|
|
19
21
|
twoFAState: TwoFAState;
|
|
20
22
|
}
|
|
21
23
|
interface TwoFAState {
|
|
@@ -47,5 +49,22 @@ export interface ChargeCardDetailUiState {
|
|
|
47
49
|
sortKey: ChargeCardTransactionSortKey;
|
|
48
50
|
limit: number;
|
|
49
51
|
}
|
|
52
|
+
export declare const initialTransactionStatistics: TransactionStatistics;
|
|
50
53
|
export declare const emptyChargeCardDetail: ChargeCardDetail;
|
|
54
|
+
export interface TransactionStatistics extends FetchStateAndError {
|
|
55
|
+
statistics: ChargeCardTransactionStatistics;
|
|
56
|
+
}
|
|
57
|
+
export interface ChargeCardTransactionStatistics {
|
|
58
|
+
numberOfAuthorizedTransactionsCurrentMonth: number;
|
|
59
|
+
numberOfCanceledTransactionsCurrentMonth: number;
|
|
60
|
+
numberOfDeclinedTransactionsCurrentMonth: number;
|
|
61
|
+
numberOfPaidTransactionsCurrentMonth: number;
|
|
62
|
+
numberOfTransactionsWithReceiptsCurrentMonth: number;
|
|
63
|
+
totalNumberOfAuthorizedTransactions: number;
|
|
64
|
+
totalNumberOfCanceledTransactions: number;
|
|
65
|
+
totalNumberOfDeclinedTransactions: number;
|
|
66
|
+
totalNumberOfPaidTransactions: number;
|
|
67
|
+
totalNumberOfTransactionsWithReceipts: number;
|
|
68
|
+
}
|
|
69
|
+
export declare const mapChargeCardTransactionStatisticsPayloadToChargeCardTransactionStatistics: (statistics: ChargeCardTransactionStatisticsPayload) => ChargeCardTransactionStatistics;
|
|
51
70
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.emptyChargeCardDetail = exports.initialTransactionAttachments = exports.toChargeCardTransactionSortKeyType = void 0;
|
|
3
|
+
exports.mapChargeCardTransactionStatisticsPayloadToChargeCardTransactionStatistics = exports.emptyChargeCardDetail = exports.initialTransactionStatistics = exports.initialTransactionAttachments = exports.toChargeCardTransactionSortKeyType = void 0;
|
|
4
4
|
const stringToUnion_1 = require("../../../../commonStateTypes/stringToUnion");
|
|
5
5
|
const ALL_CHARGE_CARD_TRANSACTION_SORT_KEYS = [
|
|
6
6
|
'merchant',
|
|
@@ -16,6 +16,22 @@ exports.initialTransactionAttachments = {
|
|
|
16
16
|
fetchState: 'Not-Started',
|
|
17
17
|
error: undefined,
|
|
18
18
|
};
|
|
19
|
+
exports.initialTransactionStatistics = {
|
|
20
|
+
statistics: {
|
|
21
|
+
numberOfAuthorizedTransactionsCurrentMonth: 0,
|
|
22
|
+
numberOfCanceledTransactionsCurrentMonth: 0,
|
|
23
|
+
numberOfDeclinedTransactionsCurrentMonth: 0,
|
|
24
|
+
numberOfPaidTransactionsCurrentMonth: 0,
|
|
25
|
+
numberOfTransactionsWithReceiptsCurrentMonth: 0,
|
|
26
|
+
totalNumberOfAuthorizedTransactions: 0,
|
|
27
|
+
totalNumberOfCanceledTransactions: 0,
|
|
28
|
+
totalNumberOfDeclinedTransactions: 0,
|
|
29
|
+
totalNumberOfPaidTransactions: 0,
|
|
30
|
+
totalNumberOfTransactionsWithReceipts: 0,
|
|
31
|
+
},
|
|
32
|
+
fetchState: 'Not-Started',
|
|
33
|
+
error: undefined,
|
|
34
|
+
};
|
|
19
35
|
exports.emptyChargeCardDetail = {
|
|
20
36
|
twoFAState: {
|
|
21
37
|
sendOtpStatus: {
|
|
@@ -82,4 +98,20 @@ exports.emptyChargeCardDetail = {
|
|
|
82
98
|
fetchState: 'Completed',
|
|
83
99
|
error: undefined,
|
|
84
100
|
},
|
|
101
|
+
transactionStatistics: exports.initialTransactionStatistics,
|
|
102
|
+
};
|
|
103
|
+
const mapChargeCardTransactionStatisticsPayloadToChargeCardTransactionStatistics = (statistics) => {
|
|
104
|
+
return {
|
|
105
|
+
numberOfAuthorizedTransactionsCurrentMonth: statistics.number_of_authorized_transactions_current_month,
|
|
106
|
+
numberOfCanceledTransactionsCurrentMonth: statistics.number_of_canceled_transactions_current_month,
|
|
107
|
+
numberOfDeclinedTransactionsCurrentMonth: statistics.number_of_declined_transactions_current_month,
|
|
108
|
+
numberOfPaidTransactionsCurrentMonth: statistics.number_of_paid_transactions_current_month,
|
|
109
|
+
numberOfTransactionsWithReceiptsCurrentMonth: statistics.number_of_transactions_with_receipts_current_month,
|
|
110
|
+
totalNumberOfAuthorizedTransactions: statistics.total_number_of_authorized_transactions,
|
|
111
|
+
totalNumberOfCanceledTransactions: statistics.total_number_of_canceled_transactions,
|
|
112
|
+
totalNumberOfDeclinedTransactions: statistics.total_number_of_declined_transactions,
|
|
113
|
+
totalNumberOfPaidTransactions: statistics.total_number_of_paid_transactions,
|
|
114
|
+
totalNumberOfTransactionsWithReceipts: statistics.total_number_of_transactions_with_receipts,
|
|
115
|
+
};
|
|
85
116
|
};
|
|
117
|
+
exports.mapChargeCardTransactionStatisticsPayloadToChargeCardTransactionStatistics = mapChargeCardTransactionStatisticsPayloadToChargeCardTransactionStatistics;
|
|
@@ -32,4 +32,17 @@ interface ChargeCardTrasactionQuery {
|
|
|
32
32
|
page_token: null | string;
|
|
33
33
|
}
|
|
34
34
|
export type FetchChargeCardTransactionListResponse = ZeniAPIResponse<ChargeCardTransactionListPayload>;
|
|
35
|
+
export type FetchChargeCardTransactionStatisticsResponse = ZeniAPIResponse<ChargeCardTransactionStatisticsPayload>;
|
|
36
|
+
export interface ChargeCardTransactionStatisticsPayload {
|
|
37
|
+
number_of_authorized_transactions_current_month: number;
|
|
38
|
+
number_of_canceled_transactions_current_month: number;
|
|
39
|
+
number_of_declined_transactions_current_month: number;
|
|
40
|
+
number_of_paid_transactions_current_month: number;
|
|
41
|
+
number_of_transactions_with_receipts_current_month: number;
|
|
42
|
+
total_number_of_authorized_transactions: number;
|
|
43
|
+
total_number_of_canceled_transactions: number;
|
|
44
|
+
total_number_of_declined_transactions: number;
|
|
45
|
+
total_number_of_paid_transactions: number;
|
|
46
|
+
total_number_of_transactions_with_receipts: number;
|
|
47
|
+
}
|
|
35
48
|
export {};
|
|
@@ -4,7 +4,7 @@ import { PageToken } from '../../../../commonStateTypes/viewAndReport/viewAndRep
|
|
|
4
4
|
import { AttachmentPayload } from '../../../../entity/transaction/payloadTypes/attachmentPayload';
|
|
5
5
|
import { ZeniAPIStatus } from '../../../../responsePayload';
|
|
6
6
|
import { ChargeCardDetailState, ChargeCardDetailUiState } from './chargeCardDetail';
|
|
7
|
-
import { ChargeCardTransactionListPayload } from './chargeCardDetailPayload';
|
|
7
|
+
import { ChargeCardTransactionListPayload, ChargeCardTransactionStatisticsPayload } from './chargeCardDetailPayload';
|
|
8
8
|
export declare const initialState: ChargeCardDetailState;
|
|
9
9
|
export declare const fetchChargeCardDetailPage: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[chargeCardId: string, doFetchCreditAccounts: boolean, cacheOverride?: any], {
|
|
10
10
|
chargeCardId: string;
|
|
@@ -103,7 +103,16 @@ export declare const fetchChargeCardDetailPage: import("@reduxjs/toolkit").Actio
|
|
|
103
103
|
chargeCardId: ID;
|
|
104
104
|
fetchState: FetchState;
|
|
105
105
|
error?: ZeniAPIStatus;
|
|
106
|
-
}, "chargeCardDetail/updateDepositAccountLimitFetchStatus">,
|
|
106
|
+
}, "chargeCardDetail/updateDepositAccountLimitFetchStatus">, fetchChargeCardTransactionStatistics: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
107
|
+
chargeCardId: ID;
|
|
108
|
+
}, "chargeCardDetail/fetchChargeCardTransactionStatistics">, updateChargeCardTransactionStatistics: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
109
|
+
chargeCardId: ID;
|
|
110
|
+
statistics: ChargeCardTransactionStatisticsPayload;
|
|
111
|
+
}, "chargeCardDetail/updateChargeCardTransactionStatistics">, updateChargeCardTransactionStatisticsFetchState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
112
|
+
chargeCardId: ID;
|
|
113
|
+
fetchState: FetchState;
|
|
114
|
+
error?: ZeniAPIStatus;
|
|
115
|
+
}, "chargeCardDetail/updateChargeCardTransactionStatisticsFetchState">, sendOtpCardHolder: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
107
116
|
chargeCardId: ID;
|
|
108
117
|
phone: string;
|
|
109
118
|
}, "chargeCardDetail/sendOtpCardHolder">, resendOtpCardHolder: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.clearChargeCardDetail = exports.verifyOtpCardHolderFailure = exports.verifyOtpCardHolderSuccess = exports.verifyOtpCardHolder = exports.sendOtpCardHolderFailure = exports.sendOtpCardHolderSuccess = exports.resendOtpCardHolder = exports.sendOtpCardHolder = exports.updateDepositAccountLimitFetchStatus = exports.fetchDepositAccountLimit = exports.updateChargeCardSpendLimitSuccessOrFailure = exports.updateChargeCardSpendLimit = exports.updateChargeCardDetailUpdateStatus = exports.completeDebitCardSetPinWait = exports.startDebitCardSetPinWait = exports.completeCVVActivationWait = exports.startCVVActivationWait = exports.updateChargeCardDetail = exports.updateChargeCardTransactionListFailure = exports.updateChargeCardTransactionAttachmentsInCardDetail = exports.updateChargeCardTransactionReceiptsShowTickFetchStatus = exports.updateDebitCardPinAttemptSuccessOrFailure = exports.updateDebitCardPinAttempt = exports.updatePhysicalChargeCardAttempt = exports.updatePhysicalChargeCardAttemptSuccessOrFailure = exports.updateChargeCardTransactionAttachmentsFailure = exports.updateChargeCardTransactionIsViewReceiptClicked = exports.fetchChargeCardTransactionAttachments = exports.updateChargeCardTransactionUploadReceiptsFetchStatus = exports.updateChargeCardTransactionList = exports.updateChargeCardDetailUIState = exports.fetchChargeCardTransactionList = exports.updateChargeCardDetailFetchState = exports.fetchChargeCardDetail = exports.fetchChargeCardDetailPage = exports.initialState = void 0;
|
|
4
|
+
exports.clearChargeCardDetail = exports.verifyOtpCardHolderFailure = exports.verifyOtpCardHolderSuccess = exports.verifyOtpCardHolder = exports.sendOtpCardHolderFailure = exports.sendOtpCardHolderSuccess = exports.resendOtpCardHolder = exports.sendOtpCardHolder = exports.updateChargeCardTransactionStatisticsFetchState = exports.updateChargeCardTransactionStatistics = exports.fetchChargeCardTransactionStatistics = exports.updateDepositAccountLimitFetchStatus = exports.fetchDepositAccountLimit = exports.updateChargeCardSpendLimitSuccessOrFailure = exports.updateChargeCardSpendLimit = exports.updateChargeCardDetailUpdateStatus = exports.completeDebitCardSetPinWait = exports.startDebitCardSetPinWait = exports.completeCVVActivationWait = exports.startCVVActivationWait = exports.updateChargeCardDetail = exports.updateChargeCardTransactionListFailure = exports.updateChargeCardTransactionAttachmentsInCardDetail = exports.updateChargeCardTransactionReceiptsShowTickFetchStatus = exports.updateDebitCardPinAttemptSuccessOrFailure = exports.updateDebitCardPinAttempt = exports.updatePhysicalChargeCardAttempt = exports.updatePhysicalChargeCardAttemptSuccessOrFailure = exports.updateChargeCardTransactionAttachmentsFailure = exports.updateChargeCardTransactionIsViewReceiptClicked = exports.fetchChargeCardTransactionAttachments = exports.updateChargeCardTransactionUploadReceiptsFetchStatus = exports.updateChargeCardTransactionList = exports.updateChargeCardDetailUIState = exports.fetchChargeCardTransactionList = exports.updateChargeCardDetailFetchState = exports.fetchChargeCardDetail = exports.fetchChargeCardDetailPage = exports.initialState = void 0;
|
|
5
5
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
6
6
|
const sortOrderPayload_1 = require("../../../../commonPayloadTypes/sortOrderPayload");
|
|
7
7
|
const attachmentPayload_1 = require("../../../../entity/transaction/payloadTypes/attachmentPayload");
|
|
@@ -265,6 +265,22 @@ const chargeCardDetail = (0, toolkit_1.createSlice)({
|
|
|
265
265
|
error,
|
|
266
266
|
} });
|
|
267
267
|
},
|
|
268
|
+
fetchChargeCardTransactionStatistics(draft, action) {
|
|
269
|
+
const { chargeCardId } = action.payload;
|
|
270
|
+
draft.detailById[chargeCardId].transactionStatistics.fetchState =
|
|
271
|
+
'In-Progress';
|
|
272
|
+
},
|
|
273
|
+
updateChargeCardTransactionStatistics(draft, action) {
|
|
274
|
+
const { chargeCardId, statistics } = action.payload;
|
|
275
|
+
draft.detailById[chargeCardId].transactionStatistics.statistics =
|
|
276
|
+
(0, chargeCardDetail_1.mapChargeCardTransactionStatisticsPayloadToChargeCardTransactionStatistics)(statistics);
|
|
277
|
+
},
|
|
278
|
+
updateChargeCardTransactionStatisticsFetchState(draft, action) {
|
|
279
|
+
const { chargeCardId, fetchState, error } = action.payload;
|
|
280
|
+
draft.detailById[chargeCardId].transactionStatistics.fetchState =
|
|
281
|
+
fetchState;
|
|
282
|
+
draft.detailById[chargeCardId].transactionStatistics.error = error;
|
|
283
|
+
},
|
|
268
284
|
fetchDepositAccountLimit(draft, action) {
|
|
269
285
|
const { chargeCardId } = action.payload;
|
|
270
286
|
draft.detailById[chargeCardId].depositAccountLimitFetchState.fetchState =
|
|
@@ -333,5 +349,5 @@ const chargeCardDetail = (0, toolkit_1.createSlice)({
|
|
|
333
349
|
},
|
|
334
350
|
},
|
|
335
351
|
});
|
|
336
|
-
_a = chargeCardDetail.actions, exports.fetchChargeCardDetailPage = _a.fetchChargeCardDetailPage, exports.fetchChargeCardDetail = _a.fetchChargeCardDetail, exports.updateChargeCardDetailFetchState = _a.updateChargeCardDetailFetchState, exports.fetchChargeCardTransactionList = _a.fetchChargeCardTransactionList, exports.updateChargeCardDetailUIState = _a.updateChargeCardDetailUIState, exports.updateChargeCardTransactionList = _a.updateChargeCardTransactionList, exports.updateChargeCardTransactionUploadReceiptsFetchStatus = _a.updateChargeCardTransactionUploadReceiptsFetchStatus, exports.fetchChargeCardTransactionAttachments = _a.fetchChargeCardTransactionAttachments, exports.updateChargeCardTransactionIsViewReceiptClicked = _a.updateChargeCardTransactionIsViewReceiptClicked, exports.updateChargeCardTransactionAttachmentsFailure = _a.updateChargeCardTransactionAttachmentsFailure, exports.updatePhysicalChargeCardAttemptSuccessOrFailure = _a.updatePhysicalChargeCardAttemptSuccessOrFailure, exports.updatePhysicalChargeCardAttempt = _a.updatePhysicalChargeCardAttempt, exports.updateDebitCardPinAttempt = _a.updateDebitCardPinAttempt, exports.updateDebitCardPinAttemptSuccessOrFailure = _a.updateDebitCardPinAttemptSuccessOrFailure, exports.updateChargeCardTransactionReceiptsShowTickFetchStatus = _a.updateChargeCardTransactionReceiptsShowTickFetchStatus, exports.updateChargeCardTransactionAttachmentsInCardDetail = _a.updateChargeCardTransactionAttachmentsInCardDetail, exports.updateChargeCardTransactionListFailure = _a.updateChargeCardTransactionListFailure, exports.updateChargeCardDetail = _a.updateChargeCardDetail, exports.startCVVActivationWait = _a.startCVVActivationWait, exports.completeCVVActivationWait = _a.completeCVVActivationWait, exports.startDebitCardSetPinWait = _a.startDebitCardSetPinWait, exports.completeDebitCardSetPinWait = _a.completeDebitCardSetPinWait, exports.updateChargeCardDetailUpdateStatus = _a.updateChargeCardDetailUpdateStatus, exports.updateChargeCardSpendLimit = _a.updateChargeCardSpendLimit, exports.updateChargeCardSpendLimitSuccessOrFailure = _a.updateChargeCardSpendLimitSuccessOrFailure, exports.fetchDepositAccountLimit = _a.fetchDepositAccountLimit, exports.updateDepositAccountLimitFetchStatus = _a.updateDepositAccountLimitFetchStatus, exports.sendOtpCardHolder = _a.sendOtpCardHolder, exports.resendOtpCardHolder = _a.resendOtpCardHolder, exports.sendOtpCardHolderSuccess = _a.sendOtpCardHolderSuccess, exports.sendOtpCardHolderFailure = _a.sendOtpCardHolderFailure, exports.verifyOtpCardHolder = _a.verifyOtpCardHolder, exports.verifyOtpCardHolderSuccess = _a.verifyOtpCardHolderSuccess, exports.verifyOtpCardHolderFailure = _a.verifyOtpCardHolderFailure, exports.clearChargeCardDetail = _a.clearChargeCardDetail;
|
|
352
|
+
_a = chargeCardDetail.actions, exports.fetchChargeCardDetailPage = _a.fetchChargeCardDetailPage, exports.fetchChargeCardDetail = _a.fetchChargeCardDetail, exports.updateChargeCardDetailFetchState = _a.updateChargeCardDetailFetchState, exports.fetchChargeCardTransactionList = _a.fetchChargeCardTransactionList, exports.updateChargeCardDetailUIState = _a.updateChargeCardDetailUIState, exports.updateChargeCardTransactionList = _a.updateChargeCardTransactionList, exports.updateChargeCardTransactionUploadReceiptsFetchStatus = _a.updateChargeCardTransactionUploadReceiptsFetchStatus, exports.fetchChargeCardTransactionAttachments = _a.fetchChargeCardTransactionAttachments, exports.updateChargeCardTransactionIsViewReceiptClicked = _a.updateChargeCardTransactionIsViewReceiptClicked, exports.updateChargeCardTransactionAttachmentsFailure = _a.updateChargeCardTransactionAttachmentsFailure, exports.updatePhysicalChargeCardAttemptSuccessOrFailure = _a.updatePhysicalChargeCardAttemptSuccessOrFailure, exports.updatePhysicalChargeCardAttempt = _a.updatePhysicalChargeCardAttempt, exports.updateDebitCardPinAttempt = _a.updateDebitCardPinAttempt, exports.updateDebitCardPinAttemptSuccessOrFailure = _a.updateDebitCardPinAttemptSuccessOrFailure, exports.updateChargeCardTransactionReceiptsShowTickFetchStatus = _a.updateChargeCardTransactionReceiptsShowTickFetchStatus, exports.updateChargeCardTransactionAttachmentsInCardDetail = _a.updateChargeCardTransactionAttachmentsInCardDetail, exports.updateChargeCardTransactionListFailure = _a.updateChargeCardTransactionListFailure, exports.updateChargeCardDetail = _a.updateChargeCardDetail, exports.startCVVActivationWait = _a.startCVVActivationWait, exports.completeCVVActivationWait = _a.completeCVVActivationWait, exports.startDebitCardSetPinWait = _a.startDebitCardSetPinWait, exports.completeDebitCardSetPinWait = _a.completeDebitCardSetPinWait, exports.updateChargeCardDetailUpdateStatus = _a.updateChargeCardDetailUpdateStatus, exports.updateChargeCardSpendLimit = _a.updateChargeCardSpendLimit, exports.updateChargeCardSpendLimitSuccessOrFailure = _a.updateChargeCardSpendLimitSuccessOrFailure, exports.fetchDepositAccountLimit = _a.fetchDepositAccountLimit, exports.updateDepositAccountLimitFetchStatus = _a.updateDepositAccountLimitFetchStatus, exports.fetchChargeCardTransactionStatistics = _a.fetchChargeCardTransactionStatistics, exports.updateChargeCardTransactionStatistics = _a.updateChargeCardTransactionStatistics, exports.updateChargeCardTransactionStatisticsFetchState = _a.updateChargeCardTransactionStatisticsFetchState, exports.sendOtpCardHolder = _a.sendOtpCardHolder, exports.resendOtpCardHolder = _a.resendOtpCardHolder, exports.sendOtpCardHolderSuccess = _a.sendOtpCardHolderSuccess, exports.sendOtpCardHolderFailure = _a.sendOtpCardHolderFailure, exports.verifyOtpCardHolder = _a.verifyOtpCardHolder, exports.verifyOtpCardHolderSuccess = _a.verifyOtpCardHolderSuccess, exports.verifyOtpCardHolderFailure = _a.verifyOtpCardHolderFailure, exports.clearChargeCardDetail = _a.clearChargeCardDetail;
|
|
337
353
|
exports.default = chargeCardDetail.reducer;
|
|
@@ -10,7 +10,7 @@ import { TwoFactorAuthenticationView } from '../../../twoFactorAuthentication/tw
|
|
|
10
10
|
import { ChargeCardConfigState } from '../chargeCardConfig/chargeCardConfigState';
|
|
11
11
|
import { CreditAccount } from '../chargeCardList/chargeCardList';
|
|
12
12
|
import { ChargeCardWithUser } from '../chargeCardList/chargeCardListSelector';
|
|
13
|
-
import { ChargeCardDetailUiState } from './chargeCardDetail';
|
|
13
|
+
import { ChargeCardDetailUiState, TransactionStatistics } from './chargeCardDetail';
|
|
14
14
|
export interface ChargeCardDetailSelectorView extends SelectorView {
|
|
15
15
|
chargeCardConfig: ChargeCardConfigState;
|
|
16
16
|
isRefreshingViewInBackground: boolean;
|
|
@@ -25,6 +25,7 @@ export interface ChargeCardDetailSelectorView extends SelectorView {
|
|
|
25
25
|
updateFetchState: FetchStateAndError;
|
|
26
26
|
updatePhysicalChargeCardAttemptFetchState: FetchStateAndError;
|
|
27
27
|
creditAccount: CreditAccount;
|
|
28
|
+
transactionStatistics: TransactionStatistics;
|
|
28
29
|
depositAccountLimitFetchState: FetchStateAndError;
|
|
29
30
|
updateChargeCardLimitFetchState: FetchStateAndError;
|
|
30
31
|
depositAccountLimit?: DepositAccountWithLimit;
|
|
@@ -18,7 +18,7 @@ const twoFactorAuthentication_1 = require("../../../twoFactorAuthentication/twoF
|
|
|
18
18
|
const twoFactorAuthenticationSelector_1 = require("../../../twoFactorAuthentication/twoFactorAuthenticationSelector");
|
|
19
19
|
const chargeCardDetail_1 = require("./chargeCardDetail");
|
|
20
20
|
const getChargeCardDetailView = (state, chargeCardId, includeCreditAccountInfo) => {
|
|
21
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
21
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
22
22
|
const { tenantState, addressState, chargeCardDetailState, chargeCardState, classState, userState, userRoleState, chargeCardConfigState, chargeCardTransactionState, chargeCardListState, connectedAccountState, depositAccountState, } = state;
|
|
23
23
|
const twoFactorAuthenticationView = (0, twoFactorAuthenticationSelector_1.getTwoFactorAuthenticationViewForChargeCardHolder)(state, chargeCardId);
|
|
24
24
|
const loggedInUserId = (_b = (_a = tenantState.loggedInUser) === null || _a === void 0 ? void 0 : _a.userId) !== null && _b !== void 0 ? _b : '';
|
|
@@ -120,6 +120,7 @@ const getChargeCardDetailView = (state, chargeCardId, includeCreditAccountInfo)
|
|
|
120
120
|
depositAccountLimit,
|
|
121
121
|
version: '1.0',
|
|
122
122
|
creditAccount: chargeCardListState.creditAccount,
|
|
123
|
+
transactionStatistics: (_o = chargeCardDetail === null || chargeCardDetail === void 0 ? void 0 : chargeCardDetail.transactionStatistics) !== null && _o !== void 0 ? _o : chargeCardDetail_1.initialTransactionStatistics,
|
|
123
124
|
};
|
|
124
125
|
};
|
|
125
126
|
exports.getChargeCardDetailView = getChargeCardDetailView;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ActionsObservable, StateObservable } from 'redux-observable';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { RootState } from '../../../../reducer';
|
|
4
|
+
import { ZeniAPI } from '../../../../zeniAPI';
|
|
5
|
+
import { fetchChargeCardTransactionStatistics, updateChargeCardTransactionStatistics, updateChargeCardTransactionStatisticsFetchState } from './chargeCardDetailReducer';
|
|
6
|
+
export type ActionType = ReturnType<typeof fetchChargeCardTransactionStatistics> | ReturnType<typeof updateChargeCardTransactionStatistics> | ReturnType<typeof updateChargeCardTransactionStatisticsFetchState>;
|
|
7
|
+
export declare const fetchChargeCardTransactionStatisticsEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchChargeCardTransactionStatisticsEpic = void 0;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const operators_1 = require("rxjs/operators");
|
|
6
|
+
const responsePayload_1 = require("../../../../responsePayload");
|
|
7
|
+
const chargeCardDetailReducer_1 = require("./chargeCardDetailReducer");
|
|
8
|
+
const fetchChargeCardTransactionStatisticsEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(chargeCardDetailReducer_1.fetchChargeCardTransactionStatistics.match), (0, operators_1.switchMap)((action) => {
|
|
9
|
+
const { chargeCardId } = action.payload;
|
|
10
|
+
return zeniAPI
|
|
11
|
+
.getJSON(`${zeniAPI.apiEndPoints.cardMicroServiceBaseUrl}/1.0/cards/${chargeCardId}/analytics/transaction-statistics`)
|
|
12
|
+
.pipe((0, operators_1.mergeMap)((response) => {
|
|
13
|
+
if ((0, responsePayload_1.isSuccessResponse)(response) && response.data) {
|
|
14
|
+
return (0, rxjs_1.of)((0, chargeCardDetailReducer_1.updateChargeCardTransactionStatistics)({
|
|
15
|
+
chargeCardId,
|
|
16
|
+
statistics: response.data,
|
|
17
|
+
}), (0, chargeCardDetailReducer_1.updateChargeCardTransactionStatisticsFetchState)({
|
|
18
|
+
chargeCardId,
|
|
19
|
+
fetchState: 'Completed',
|
|
20
|
+
error: undefined,
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return (0, rxjs_1.of)((0, chargeCardDetailReducer_1.updateChargeCardTransactionStatisticsFetchState)({
|
|
25
|
+
chargeCardId,
|
|
26
|
+
fetchState: 'Error',
|
|
27
|
+
error: response.status,
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
}), (0, operators_1.catchError)((error) => {
|
|
31
|
+
return (0, rxjs_1.of)((0, chargeCardDetailReducer_1.updateChargeCardTransactionStatisticsFetchState)({
|
|
32
|
+
chargeCardId,
|
|
33
|
+
fetchState: 'Error',
|
|
34
|
+
error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Fetch Charge Card Transaction Statistics REST API call errored out' +
|
|
35
|
+
JSON.stringify(error)),
|
|
36
|
+
}));
|
|
37
|
+
}));
|
|
38
|
+
}));
|
|
39
|
+
exports.fetchChargeCardTransactionStatisticsEpic = fetchChargeCardTransactionStatisticsEpic;
|
|
@@ -6,6 +6,7 @@ export interface ChargeCardListState extends FetchedState {
|
|
|
6
6
|
cardIds: ID[];
|
|
7
7
|
uiState: ChargeCardListUIState;
|
|
8
8
|
creditAccount: CreditAccount;
|
|
9
|
+
creditAccountRepayment: CreditAccountRepayment;
|
|
9
10
|
debitCardSummaries: DebitCardSummaries;
|
|
10
11
|
searchText: string;
|
|
11
12
|
resendCardInvite: ResendRevokeCardInvite;
|
|
@@ -35,9 +36,21 @@ export interface CreditAccount extends FetchStateAndError {
|
|
|
35
36
|
limit: Amount;
|
|
36
37
|
cashback?: Amount;
|
|
37
38
|
}
|
|
39
|
+
export interface CreditAccountRepayment extends FetchStateAndError {
|
|
40
|
+
creditAccountId: ID;
|
|
41
|
+
currentBalance: Amount;
|
|
42
|
+
initiatedRepayments: Amount;
|
|
43
|
+
nextRepaymentDueDate: ZeniDate;
|
|
44
|
+
providerCreditAccountId: ID;
|
|
45
|
+
remainingAmountDue: Amount;
|
|
46
|
+
remainingAmountOverdue: Amount;
|
|
47
|
+
statementPeriodEnd: ZeniDate;
|
|
48
|
+
statementPeriodStart: ZeniDate;
|
|
49
|
+
}
|
|
38
50
|
export declare const initialCreditAcc: CreditAccount;
|
|
39
51
|
export declare const initialDebitCardSummaries: DebitCardSummaries;
|
|
40
52
|
export declare const initialResendRevokeCardInvite: ResendRevokeCardInvite;
|
|
53
|
+
export declare const initialCreditAccountRepayment: CreditAccountRepayment;
|
|
41
54
|
export declare const toChargeCardSortKeyType: (v: string) => "status" | "owner" | "cardName" | "limit" | "department" | "cardType" | "utilisation";
|
|
42
55
|
export declare type ChargeCardViewSortKey = ReturnType<typeof toChargeCardSortKeyType>;
|
|
43
56
|
export declare const ALL_CASHBACK_SORT_KEYS: readonly ["month", "cashback"];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toCreditAccountStatusType = exports.toCashbackSortKeyType = exports.ALL_CASHBACK_SORT_KEYS = exports.toChargeCardSortKeyType = exports.initialResendRevokeCardInvite = exports.initialDebitCardSummaries = exports.initialCreditAcc = void 0;
|
|
3
|
+
exports.toCreditAccountStatusType = exports.toCashbackSortKeyType = exports.ALL_CASHBACK_SORT_KEYS = exports.toChargeCardSortKeyType = exports.initialCreditAccountRepayment = exports.initialResendRevokeCardInvite = exports.initialDebitCardSummaries = exports.initialCreditAcc = void 0;
|
|
4
4
|
const stringToUnion_1 = require("../../../../commonStateTypes/stringToUnion");
|
|
5
5
|
const zeniDayJS_1 = require("../../../../zeniDayJS");
|
|
6
6
|
exports.initialCreditAcc = {
|
|
@@ -58,6 +58,19 @@ exports.initialResendRevokeCardInvite = {
|
|
|
58
58
|
error: undefined,
|
|
59
59
|
},
|
|
60
60
|
};
|
|
61
|
+
exports.initialCreditAccountRepayment = {
|
|
62
|
+
fetchState: 'Not-Started',
|
|
63
|
+
error: undefined,
|
|
64
|
+
creditAccountId: '',
|
|
65
|
+
currentBalance: { amount: 0, currencyCode: 'USD', currencySymbol: '$' },
|
|
66
|
+
initiatedRepayments: { amount: 0, currencyCode: 'USD', currencySymbol: '$' },
|
|
67
|
+
providerCreditAccountId: '',
|
|
68
|
+
remainingAmountOverdue: { amount: 0, currencyCode: 'USD', currencySymbol: '$' },
|
|
69
|
+
statementPeriodEnd: (0, zeniDayJS_1.dateNow)(),
|
|
70
|
+
statementPeriodStart: (0, zeniDayJS_1.dateNow)(),
|
|
71
|
+
nextRepaymentDueDate: (0, zeniDayJS_1.dateNow)(),
|
|
72
|
+
remainingAmountDue: { amount: 0, currencyCode: 'USD', currencySymbol: '$' },
|
|
73
|
+
};
|
|
61
74
|
const ALL_CHARGE_CARD_SORT_KEYS = [
|
|
62
75
|
'owner',
|
|
63
76
|
'cardName',
|
|
@@ -33,9 +33,23 @@ export interface CreditAccountPayload {
|
|
|
33
33
|
update_time: string;
|
|
34
34
|
cashback_amount?: number | null;
|
|
35
35
|
}
|
|
36
|
+
export interface CreditAccountRepaymentPayload {
|
|
37
|
+
credit_account_id: string;
|
|
38
|
+
currency_code: string;
|
|
39
|
+
currency_symbol: string;
|
|
40
|
+
current_balance: number;
|
|
41
|
+
initiated_repayments: number;
|
|
42
|
+
next_repayment_due_date: string;
|
|
43
|
+
provider_credit_account_id: string;
|
|
44
|
+
remaining_amount_due: number;
|
|
45
|
+
remaining_amount_overdue: number;
|
|
46
|
+
statement_period_end: string;
|
|
47
|
+
statement_period_start: string;
|
|
48
|
+
}
|
|
36
49
|
interface CreditAccountListPayload {
|
|
37
50
|
credit_accounts: CreditAccountPayload[];
|
|
38
51
|
}
|
|
52
|
+
export type FetchCreditAccountRepaymentResponse = ZeniAPIResponse<CreditAccountRepaymentPayload>;
|
|
39
53
|
export type FetchCreditAccountResponse = ZeniAPIResponse<CreditAccountListPayload>;
|
|
40
54
|
export interface DebitCardSummariesPayload {
|
|
41
55
|
current_month_spends: number;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { ID } from '../../../../commonStateTypes/common';
|
|
2
2
|
import { ZeniAPIStatus } from '../../../../responsePayload';
|
|
3
3
|
import { ChargeCardListState, ChargeCardListUIState } from './chargeCardList';
|
|
4
|
-
import { ChargeCardListPayload, CreditAccountPayload, DebitCardSummariesPayload } from './chargeCardListPayload';
|
|
4
|
+
import { ChargeCardListPayload, CreditAccountPayload, CreditAccountRepaymentPayload, DebitCardSummariesPayload } from './chargeCardListPayload';
|
|
5
5
|
export declare const initialState: ChargeCardListState;
|
|
6
6
|
export declare const fetchChargeCardListPage: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[doFetchCreditAccountsDebitSummaryAndCashback: boolean, isDebitCardEnabled: boolean, isCreditCardEnabled: boolean, cacheOverride?: any], {
|
|
7
7
|
doFetchCreditAccountsDebitSummaryAndCashback: boolean;
|
|
8
8
|
isDebitCardEnabled: boolean;
|
|
9
9
|
isCreditCardEnabled: boolean;
|
|
10
10
|
cacheOverride: any;
|
|
11
|
-
}, "chargeCardList/fetchChargeCardListPage", never, never>, fetchCreditAccount: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardList/fetchCreditAccount">, updateCreditAccount: import("@reduxjs/toolkit").ActionCreatorWithPayload<CreditAccountPayload[], "chargeCardList/updateCreditAccount">, updateCreditAccountFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardList/updateCreditAccountFailure">, fetchDebitCardSummary: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardList/fetchDebitCardSummary">, updateDebitCardSummary: import("@reduxjs/toolkit").ActionCreatorWithPayload<DebitCardSummariesPayload, "chargeCardList/updateDebitCardSummary">, updateDebitCardSummaryFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardList/updateDebitCardSummaryFailure">, fetchChargeCardList: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardList/fetchChargeCardList">, updateChargeCardList: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
11
|
+
}, "chargeCardList/fetchChargeCardListPage", never, never>, fetchCreditAccountRepayment: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardList/fetchCreditAccountRepayment">, updateCreditAccountRepayment: import("@reduxjs/toolkit").ActionCreatorWithPayload<CreditAccountRepaymentPayload, "chargeCardList/updateCreditAccountRepayment">, updateCreditAccountRepaymentFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardList/updateCreditAccountRepaymentFailure">, fetchCreditAccount: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardList/fetchCreditAccount">, updateCreditAccount: import("@reduxjs/toolkit").ActionCreatorWithPayload<CreditAccountPayload[], "chargeCardList/updateCreditAccount">, updateCreditAccountFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardList/updateCreditAccountFailure">, fetchDebitCardSummary: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardList/fetchDebitCardSummary">, updateDebitCardSummary: import("@reduxjs/toolkit").ActionCreatorWithPayload<DebitCardSummariesPayload, "chargeCardList/updateDebitCardSummary">, updateDebitCardSummaryFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardList/updateDebitCardSummaryFailure">, fetchChargeCardList: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardList/fetchChargeCardList">, updateChargeCardList: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
12
12
|
chargeCardListPayload: ChargeCardListPayload;
|
|
13
13
|
keepExistingListItems?: boolean;
|
|
14
14
|
}, "chargeCardList/updateChargeCardList">, updateChargeCardListFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardList/updateChargeCardListFailure">, updateSearchText: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "chargeCardList/updateSearchText">, updateChargeCardListUIState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|