@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.
Files changed (73) hide show
  1. package/lib/entity/accountRecon/accountReconPayload.d.ts +2 -0
  2. package/lib/entity/accountRecon/accountReconPayload.js +6 -1
  3. package/lib/entity/accountRecon/accountReconState.d.ts +2 -0
  4. package/lib/entity/{aiController/aiControllerPayload.d.ts → aiCfo/aiCfoPayload.d.ts} +10 -3
  5. package/lib/entity/aiCfo/aiCfoReducer.d.ts +45 -0
  6. package/lib/entity/{aiController/aiControllerReducer.js → aiCfo/aiCfoReducer.js} +53 -45
  7. package/lib/entity/aiCfo/aiCfoSelector.d.ts +14 -0
  8. package/lib/entity/{aiController/aiControllerSelector.js → aiCfo/aiCfoSelector.js} +6 -6
  9. package/lib/entity/aiCfo/aiCfoState.d.ts +107 -0
  10. package/lib/entity/aiCfo/aiCfoState.js +81 -0
  11. package/lib/entity/tenant/clearAllEpic.d.ts +4 -4
  12. package/lib/entity/tenant/clearAllEpic.js +4 -4
  13. package/lib/epic.d.ts +10 -8
  14. package/lib/epic.js +10 -8
  15. package/lib/index.d.ts +15 -13
  16. package/lib/index.js +83 -74
  17. package/lib/reducer.d.ts +6 -6
  18. package/lib/reducer.js +6 -6
  19. package/lib/view/{aiControllerView/aiControllerViewPayload.d.ts → aiCfoView/aiCfoViewPayload.d.ts} +2 -2
  20. package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +73 -0
  21. package/lib/view/{aiControllerView/aiControllerViewReducer.js → aiCfoView/aiCfoViewReducer.js} +10 -10
  22. package/lib/view/{aiControllerView/aiControllerViewSelector.d.ts → aiCfoView/aiCfoViewSelector.d.ts} +5 -5
  23. package/lib/view/{aiControllerView/aiControllerViewSelector.js → aiCfoView/aiCfoViewSelector.js} +6 -6
  24. package/lib/view/{aiControllerView/aiControllerViewState.d.ts → aiCfoView/aiCfoViewState.d.ts} +3 -3
  25. package/lib/view/{aiControllerView → aiCfoView}/epics/createSessionAndSubmitEpic.d.ts +2 -2
  26. package/lib/view/{aiControllerView → aiCfoView}/epics/createSessionAndSubmitEpic.js +9 -9
  27. package/lib/view/{aiControllerView → aiCfoView}/epics/createSessionEpic.d.ts +2 -2
  28. package/lib/view/{aiControllerView → aiCfoView}/epics/createSessionEpic.js +8 -8
  29. package/lib/view/{aiControllerView → aiCfoView}/epics/fetchChatHistoryEpic.d.ts +2 -2
  30. package/lib/view/{aiControllerView → aiCfoView}/epics/fetchChatHistoryEpic.js +9 -9
  31. package/lib/view/{aiControllerView → aiCfoView}/epics/fetchChatSessionsForUserEpic.d.ts +2 -2
  32. package/lib/view/{aiControllerView → aiCfoView}/epics/fetchChatSessionsForUserEpic.js +8 -9
  33. package/lib/view/{aiControllerView → aiCfoView}/epics/stopSubmitEpic.d.ts +2 -2
  34. package/lib/view/{aiControllerView → aiCfoView}/epics/stopSubmitEpic.js +11 -11
  35. package/lib/view/{aiControllerView → aiCfoView}/epics/stopSubmitQuestionEpic.d.ts +2 -2
  36. package/lib/view/{aiControllerView → aiCfoView}/epics/stopSubmitQuestionEpic.js +8 -8
  37. package/lib/view/{aiControllerView → aiCfoView}/epics/submitQuestionEpic.d.ts +2 -2
  38. package/lib/view/{aiControllerView → aiCfoView}/epics/submitQuestionEpic.js +10 -10
  39. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.js +2 -0
  40. package/lib/view/spendManagement/chargeCards/cashbackDetail/cashbackDetailPayload.d.ts +7 -0
  41. package/lib/view/spendManagement/chargeCards/cashbackDetail/cashbackDetailReducer.js +11 -0
  42. package/lib/view/spendManagement/chargeCards/cashbackDetail/cashbackDetailSelector.d.ts +2 -1
  43. package/lib/view/spendManagement/chargeCards/cashbackDetail/cashbackDetailSelector.js +1 -0
  44. package/lib/view/spendManagement/chargeCards/cashbackDetail/cashbackDetailState.d.ts +8 -0
  45. package/lib/view/spendManagement/chargeCards/cashbackDetail/cashbackDetailState.js +7 -1
  46. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetail.d.ts +19 -0
  47. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetail.js +33 -1
  48. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailPayload.d.ts +13 -0
  49. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailReducer.d.ts +11 -2
  50. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailReducer.js +18 -2
  51. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailSelector.d.ts +2 -1
  52. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailSelector.js +2 -1
  53. package/lib/view/spendManagement/chargeCards/chargeCardDetail/fetchChargeCardTransactionStatisticsEpic.d.ts +7 -0
  54. package/lib/view/spendManagement/chargeCards/chargeCardDetail/fetchChargeCardTransactionStatisticsEpic.js +39 -0
  55. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +13 -0
  56. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.js +14 -1
  57. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListPayload.d.ts +14 -0
  58. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListReducer.d.ts +2 -2
  59. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListReducer.js +26 -2
  60. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.d.ts +17 -3
  61. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +34 -4
  62. package/lib/view/spendManagement/chargeCards/chargeCardList/fetchCreditAccountRepaymentEpic.d.ts +7 -0
  63. package/lib/view/spendManagement/chargeCards/chargeCardList/fetchCreditAccountRepaymentEpic.js +23 -0
  64. package/lib/zeniAPI.d.ts +1 -1
  65. package/package.json +1 -1
  66. package/lib/entity/aiController/aiControllerReducer.d.ts +0 -46
  67. package/lib/entity/aiController/aiControllerSelector.d.ts +0 -14
  68. package/lib/entity/aiController/aiControllerState.d.ts +0 -88
  69. package/lib/entity/aiController/aiControllerState.js +0 -49
  70. package/lib/view/aiControllerView/aiControllerViewReducer.d.ts +0 -73
  71. /package/lib/entity/{aiController/aiControllerPayload.js → aiCfo/aiCfoPayload.js} +0 -0
  72. /package/lib/view/{aiControllerView/aiControllerViewPayload.js → aiCfoView/aiCfoViewPayload.js} +0 -0
  73. /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 aiControllerReducer_1 = require("../../../entity/aiController/aiControllerReducer");
6
+ const aiCfoReducer_1 = require("../../../entity/aiCfo/aiCfoReducer");
7
7
  const responsePayload_1 = require("../../../responsePayload");
8
- const aiControllerViewReducer_1 = require("../aiControllerViewReducer");
9
- const submitQuestionEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(aiControllerViewReducer_1.submitQuestion.match), (0, operators_1.mergeMap)((action) => {
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 { aiControllerViewState } = state$.value;
12
- const { uiState } = aiControllerViewState;
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.aiControllerMicroServiceBaseUrl}/1.0/agents/${agentId}`, payload)
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, aiControllerReducer_1.upsertOrAddQuestionAnswerPayload)({
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, aiControllerViewReducer_1.submitQuestionSuccess)(sessionId));
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, aiControllerViewReducer_1.submitQuestionFailure)({
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, aiControllerViewReducer_1.submitQuestionFailure)({
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">, sendOtpCardHolder: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
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<{