@zeniai/client-epic-state 4.18.80 → 4.18.81

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 (60) hide show
  1. package/lib/entity/chargeCard/chargeCard.d.ts +2 -1
  2. package/lib/entity/chargeCard/chargeCard.js +2 -0
  3. package/lib/entity/chargeCard/chargeCardPayload.d.ts +2 -1
  4. package/lib/entity/chargeCard/chargeCardPayload.js +10 -9
  5. package/lib/entity/chargeCardTransaction/chargeCardTransaction.d.ts +1 -1
  6. package/lib/entity/chargeCardTransaction/chargeCardTransactionPayload.d.ts +1 -2
  7. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  8. package/lib/entity/snackbar/snackbarTypes.js +12 -0
  9. package/lib/epic.d.ts +11 -1
  10. package/lib/epic.js +11 -1
  11. package/lib/index.d.ts +7 -6
  12. package/lib/index.js +28 -8
  13. package/lib/responsePayload.d.ts +3 -0
  14. package/lib/view/companyMonthEndReportView/companyMonthEndReportViewReducer.d.ts +2 -1
  15. package/lib/view/companyMonthEndReportView/companyMonthEndReportViewReducer.js +10 -2
  16. package/lib/view/companyMonthEndReportView/epics/fetchCompanyMonthEndReportViewEpic.js +2 -4
  17. package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js +1 -1
  18. package/lib/view/expenseAutomationView/epics/transactionCategorization/markTransactionAsNotMiscategorizedEpic.d.ts +2 -2
  19. package/lib/view/expenseAutomationView/epics/transactionCategorization/markTransactionAsNotMiscategorizedEpic.js +13 -2
  20. package/lib/view/expenseAutomationView/epics/transactionCategorization/saveTransactionCategorizationEpic.js +2 -2
  21. package/lib/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +2 -2
  22. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +6 -3
  23. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +6 -3
  24. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetail.d.ts +17 -2
  25. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetail.js +38 -3
  26. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailPayload.d.ts +11 -1
  27. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailReducer.d.ts +40 -4
  28. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailReducer.js +189 -26
  29. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailSelector.d.ts +19 -1
  30. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailSelector.js +87 -12
  31. package/lib/view/spendManagement/chargeCards/chargeCardDetail/closeChargeCardEpic.d.ts +9 -0
  32. package/lib/view/spendManagement/chargeCards/chargeCardDetail/closeChargeCardEpic.js +71 -0
  33. package/lib/view/spendManagement/chargeCards/chargeCardDetail/fetchChargeCardsRecurringExpensesEpic.d.ts +7 -0
  34. package/lib/view/spendManagement/chargeCards/chargeCardDetail/fetchChargeCardsRecurringExpensesEpic.js +44 -0
  35. package/lib/view/spendManagement/chargeCards/chargeCardDetail/fetchDepositAccountLimitEpic.js +4 -4
  36. package/lib/view/spendManagement/chargeCards/chargeCardDetail/lockChargeCardEpic.d.ts +9 -0
  37. package/lib/view/spendManagement/chargeCards/chargeCardDetail/lockChargeCardEpic.js +78 -0
  38. package/lib/view/spendManagement/chargeCards/chargeCardDetail/unlockChargeCardEpic.d.ts +9 -0
  39. package/lib/view/spendManagement/chargeCards/chargeCardDetail/unlockChargeCardEpic.js +75 -0
  40. package/lib/view/spendManagement/chargeCards/chargeCardDetail/updateChargeCardNameEpic.d.ts +9 -0
  41. package/lib/view/spendManagement/chargeCards/chargeCardDetail/updateChargeCardNameEpic.js +83 -0
  42. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +7 -0
  43. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListPayload.d.ts +1 -0
  44. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListReducer.d.ts +34 -4
  45. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListReducer.js +142 -3
  46. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.d.ts +46 -0
  47. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +198 -4
  48. package/lib/view/spendManagement/chargeCards/chargeCardList/closeChargeCardsEpic.d.ts +9 -0
  49. package/lib/view/spendManagement/chargeCards/chargeCardList/closeChargeCardsEpic.js +69 -0
  50. package/lib/view/spendManagement/chargeCards/chargeCardList/fetchChargeCardListPageEpic.d.ts +3 -1
  51. package/lib/view/spendManagement/chargeCards/chargeCardList/fetchChargeCardListPageEpic.js +18 -0
  52. package/lib/view/spendManagement/chargeCards/chargeCardList/lockChargeCardsEpic.d.ts +9 -0
  53. package/lib/view/spendManagement/chargeCards/chargeCardList/lockChargeCardsEpic.js +69 -0
  54. package/lib/view/spendManagement/chargeCards/chargeCardList/revokeChargeCardsInviteEpic.d.ts +8 -0
  55. package/lib/view/spendManagement/chargeCards/chargeCardList/revokeChargeCardsInviteEpic.js +71 -0
  56. package/lib/view/spendManagement/chargeCards/chargeCardList/unlockChargeCardsEpic.d.ts +9 -0
  57. package/lib/view/spendManagement/chargeCards/chargeCardList/unlockChargeCardsEpic.js +68 -0
  58. package/lib/view/spendManagement/chargeCards/chargeCardList/updateChargeCardsLimitEpic.d.ts +9 -0
  59. package/lib/view/spendManagement/chargeCards/chargeCardList/updateChargeCardsLimitEpic.js +76 -0
  60. package/package.json +1 -1
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.closeChargeCardEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const chargeCardReducer_1 = require("../../../../entity/chargeCard/chargeCardReducer");
7
+ const snackbarReducer_1 = require("../../../../entity/snackbar/snackbarReducer");
8
+ const responsePayload_1 = require("../../../../responsePayload");
9
+ const chargeCardDetailReducer_1 = require("./chargeCardDetailReducer");
10
+ const closeChargeCardEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(chargeCardDetailReducer_1.closeChargeCard.match), (0, operators_1.switchMap)((action) => {
11
+ const { chargeCardId, reason } = action.payload;
12
+ const payload = {
13
+ reason: reason,
14
+ };
15
+ const cardDetail = state$.value.chargeCardState.chargeCardByID[chargeCardId];
16
+ const accountLast4 = cardDetail.accountLast4;
17
+ return zeniAPI
18
+ .putAndGetJSON(`${zeniAPI.apiEndPoints.cardMicroServiceBaseUrl}/1.0/cards/${chargeCardId}/close`, payload)
19
+ .pipe((0, operators_1.mergeMap)((response) => {
20
+ if ((0, responsePayload_1.isSuccessStatus)(response) && response.data != null) {
21
+ return (0, rxjs_1.of)((0, chargeCardReducer_1.updateChargeCard)(response.data), (0, chargeCardDetailReducer_1.closeChargeCardSuccessOrFailure)({
22
+ chargeCardId,
23
+ fetchState: 'Completed',
24
+ }), (0, snackbarReducer_1.openSnackbar)({
25
+ messageSection: 'close_charge_card',
26
+ messageText: 'success',
27
+ type: 'success',
28
+ variables: [
29
+ {
30
+ variableName: '_masked_card_number_',
31
+ variableValue: `•••• ${accountLast4}`,
32
+ },
33
+ ],
34
+ }));
35
+ }
36
+ else {
37
+ return (0, rxjs_1.of)((0, snackbarReducer_1.openSnackbar)({
38
+ messageSection: 'close_charge_card',
39
+ messageText: 'failed',
40
+ type: 'error',
41
+ variables: [
42
+ {
43
+ variableName: '_api-error_',
44
+ variableValue: response.status.message,
45
+ },
46
+ ],
47
+ }), (0, chargeCardDetailReducer_1.closeChargeCardSuccessOrFailure)({
48
+ chargeCardId,
49
+ fetchState: 'Error',
50
+ error: response.status,
51
+ }));
52
+ }
53
+ }), (0, operators_1.catchError)((error) => {
54
+ return (0, rxjs_1.of)((0, snackbarReducer_1.openSnackbar)({
55
+ messageSection: 'close_charge_card',
56
+ messageText: 'failed',
57
+ type: 'error',
58
+ variables: [
59
+ {
60
+ variableName: '_api-error_',
61
+ variableValue: JSON.stringify(error),
62
+ },
63
+ ],
64
+ }), (0, chargeCardDetailReducer_1.closeChargeCardSuccessOrFailure)({
65
+ chargeCardId,
66
+ fetchState: 'Error',
67
+ error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Close card API call errored out' + JSON.stringify(error)),
68
+ }));
69
+ }));
70
+ }));
71
+ exports.closeChargeCardEpic = closeChargeCardEpic;
@@ -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 { fetchChargeCardsRecurringExpenses, updateChargeCardsRecurringExpenses, updateChargeCardsRecurringExpensesFetchState } from './chargeCardDetailReducer';
6
+ export type ActionType = ReturnType<typeof fetchChargeCardsRecurringExpenses> | ReturnType<typeof updateChargeCardsRecurringExpenses> | ReturnType<typeof updateChargeCardsRecurringExpensesFetchState>;
7
+ export declare const fetchChargeCardsRecurringExpensesEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchChargeCardsRecurringExpensesEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const responsePayload_1 = require("../../../../responsePayload");
7
+ const chargeCardDetail_1 = require("./chargeCardDetail");
8
+ const chargeCardDetailReducer_1 = require("./chargeCardDetailReducer");
9
+ const fetchChargeCardsRecurringExpensesEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(chargeCardDetailReducer_1.fetchChargeCardsRecurringExpenses.match), (0, operators_1.switchMap)((action) => {
10
+ const { cardIds } = action.payload;
11
+ const query = {
12
+ card_ids: cardIds,
13
+ };
14
+ return zeniAPI
15
+ .getJSON(`${zeniAPI.apiEndPoints.cardMicroServiceBaseUrl}/1.0/cards/recurring-expenses?query=${encodeURIComponent(JSON.stringify(query))}`)
16
+ .pipe((0, operators_1.mergeMap)((response) => {
17
+ if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
18
+ const recurringExpensesByChargeCardId = {};
19
+ response.data.forEach((cardRecurringExpense) => {
20
+ recurringExpensesByChargeCardId[cardRecurringExpense.card_id] =
21
+ cardRecurringExpense.expenses.map((expense) => (0, chargeCardDetail_1.mapRecurringExpensePayloadToRecurringExpense)(expense));
22
+ });
23
+ return (0, rxjs_1.of)((0, chargeCardDetailReducer_1.updateChargeCardsRecurringExpenses)({
24
+ recurringExpensesByChargeCardId,
25
+ }), (0, chargeCardDetailReducer_1.updateChargeCardsRecurringExpensesFetchState)({
26
+ fetchState: 'Completed',
27
+ error: undefined,
28
+ }));
29
+ }
30
+ else {
31
+ return (0, rxjs_1.of)((0, chargeCardDetailReducer_1.updateChargeCardsRecurringExpensesFetchState)({
32
+ fetchState: 'Error',
33
+ error: response.status,
34
+ }));
35
+ }
36
+ }), (0, operators_1.catchError)((error) => {
37
+ return (0, rxjs_1.of)((0, chargeCardDetailReducer_1.updateChargeCardsRecurringExpensesFetchState)({
38
+ fetchState: 'Error',
39
+ error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Fetch Charge Cards Recurring Expenses REST API call errored out' +
40
+ JSON.stringify(error)),
41
+ }));
42
+ }));
43
+ }));
44
+ exports.fetchChargeCardsRecurringExpensesEpic = fetchChargeCardsRecurringExpensesEpic;
@@ -7,7 +7,7 @@ const depositAccountReducer_1 = require("../../../../entity/depositAccount/depos
7
7
  const responsePayload_1 = require("../../../../responsePayload");
8
8
  const chargeCardDetailReducer_1 = require("./chargeCardDetailReducer");
9
9
  const fetchDepositAccountLimitEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(chargeCardDetailReducer_1.fetchDepositAccountLimit.match), (0, operators_1.switchMap)((action) => {
10
- const { depositAccountId, chargeCardId } = action.payload;
10
+ const { depositAccountId } = action.payload;
11
11
  const query = {
12
12
  deposit_account_id: depositAccountId,
13
13
  };
@@ -17,21 +17,21 @@ const fetchDepositAccountLimitEpic = (actions$, _state$, zeniAPI) => actions$.pi
17
17
  var _a, _b;
18
18
  if ((0, responsePayload_1.isSuccessResponse)(response)) {
19
19
  return (0, rxjs_1.of)((0, depositAccountReducer_1.updateDepositAccountLimitsForChargeCard)((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.deposit_accounts) !== null && _b !== void 0 ? _b : []), (0, chargeCardDetailReducer_1.updateDepositAccountLimitFetchStatus)({
20
- chargeCardId,
20
+ depositAccountId,
21
21
  fetchState: 'Completed',
22
22
  error: undefined,
23
23
  }));
24
24
  }
25
25
  else {
26
26
  return (0, rxjs_1.of)((0, chargeCardDetailReducer_1.updateDepositAccountLimitFetchStatus)({
27
- chargeCardId,
27
+ depositAccountId,
28
28
  fetchState: 'Error',
29
29
  error: response.status,
30
30
  }));
31
31
  }
32
32
  }), (0, operators_1.catchError)((error) => {
33
33
  return (0, rxjs_1.of)((0, chargeCardDetailReducer_1.updateDepositAccountLimitFetchStatus)({
34
- chargeCardId,
34
+ depositAccountId,
35
35
  fetchState: 'Error',
36
36
  error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Fetch deposit Accounts Limit For Card Detail REST API call errored out' +
37
37
  JSON.stringify(error)),
@@ -0,0 +1,9 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { Observable } from 'rxjs';
3
+ import { updateChargeCard } from '../../../../entity/chargeCard/chargeCardReducer';
4
+ import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
5
+ import { RootState } from '../../../../reducer';
6
+ import { ZeniAPI } from '../../../../zeniAPI';
7
+ import { lockChargeCard, lockChargeCardSuccessOrFailure } from './chargeCardDetailReducer';
8
+ export type ActionType = ReturnType<typeof openSnackbar> | ReturnType<typeof lockChargeCard> | ReturnType<typeof lockChargeCardSuccessOrFailure> | ReturnType<typeof updateChargeCard>;
9
+ export declare const lockChargeCardEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lockChargeCardEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const chargeCardReducer_1 = require("../../../../entity/chargeCard/chargeCardReducer");
7
+ const snackbarReducer_1 = require("../../../../entity/snackbar/snackbarReducer");
8
+ const responsePayload_1 = require("../../../../responsePayload");
9
+ const chargeCardDetailReducer_1 = require("./chargeCardDetailReducer");
10
+ const lockChargeCardEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(chargeCardDetailReducer_1.lockChargeCard.match), (0, operators_1.switchMap)((action) => {
11
+ var _a;
12
+ const { chargeCardId, reason, isChargeCardAdmin } = action.payload;
13
+ const payload = {
14
+ reason: reason,
15
+ };
16
+ const cardDetail = state$.value.chargeCardState.chargeCardByID[chargeCardId];
17
+ const accountLast4 = (_a = cardDetail === null || cardDetail === void 0 ? void 0 : cardDetail.accountLast4) !== null && _a !== void 0 ? _a : '';
18
+ return zeniAPI
19
+ .putAndGetJSON(`${zeniAPI.apiEndPoints.cardMicroServiceBaseUrl}/1.0/cards/${chargeCardId}/lock`, payload)
20
+ .pipe((0, operators_1.mergeMap)((response) => {
21
+ if ((0, responsePayload_1.isSuccessStatus)(response) && response.data != null) {
22
+ return (0, rxjs_1.of)((0, chargeCardReducer_1.updateChargeCard)(response.data), (0, chargeCardDetailReducer_1.lockChargeCardSuccessOrFailure)({
23
+ chargeCardId,
24
+ fetchState: 'Completed',
25
+ }), (0, snackbarReducer_1.openSnackbar)({
26
+ messageSection: isChargeCardAdmin
27
+ ? 'lock_charge_card'
28
+ : 'lock_charge_card_card_user',
29
+ messageText: 'success',
30
+ type: 'success',
31
+ variables: [
32
+ {
33
+ variableName: '_masked_card_number_',
34
+ variableValue: `•••• ${accountLast4}`,
35
+ },
36
+ ],
37
+ }));
38
+ }
39
+ else {
40
+ return (0, rxjs_1.of)((0, snackbarReducer_1.openSnackbar)({
41
+ messageSection: isChargeCardAdmin
42
+ ? 'lock_charge_card'
43
+ : 'lock_charge_card_card_user',
44
+ messageText: 'failed',
45
+ type: 'error',
46
+ variables: [
47
+ {
48
+ variableName: '_api-error_',
49
+ variableValue: response.status.message,
50
+ },
51
+ ],
52
+ }), (0, chargeCardDetailReducer_1.lockChargeCardSuccessOrFailure)({
53
+ chargeCardId,
54
+ fetchState: 'Error',
55
+ error: response.status,
56
+ }));
57
+ }
58
+ }), (0, operators_1.catchError)((error) => {
59
+ return (0, rxjs_1.of)((0, snackbarReducer_1.openSnackbar)({
60
+ messageSection: isChargeCardAdmin
61
+ ? 'lock_charge_card'
62
+ : 'lock_charge_card_card_user',
63
+ messageText: 'failed',
64
+ type: 'error',
65
+ variables: [
66
+ {
67
+ variableName: '_api-error_',
68
+ variableValue: JSON.stringify(error),
69
+ },
70
+ ],
71
+ }), (0, chargeCardDetailReducer_1.lockChargeCardSuccessOrFailure)({
72
+ chargeCardId,
73
+ fetchState: 'Error',
74
+ error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Lock card API call errored out' + JSON.stringify(error)),
75
+ }));
76
+ }));
77
+ }));
78
+ exports.lockChargeCardEpic = lockChargeCardEpic;
@@ -0,0 +1,9 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { Observable } from 'rxjs';
3
+ import { updateChargeCard } from '../../../../entity/chargeCard/chargeCardReducer';
4
+ import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
5
+ import { RootState } from '../../../../reducer';
6
+ import { ZeniAPI } from '../../../../zeniAPI';
7
+ import { unlockChargeCard, unlockChargeCardSuccessOrFailure } from './chargeCardDetailReducer';
8
+ export type ActionType = ReturnType<typeof openSnackbar> | ReturnType<typeof unlockChargeCard> | ReturnType<typeof unlockChargeCardSuccessOrFailure> | ReturnType<typeof updateChargeCard>;
9
+ export declare const unlockChargeCardEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unlockChargeCardEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const chargeCardReducer_1 = require("../../../../entity/chargeCard/chargeCardReducer");
7
+ const snackbarReducer_1 = require("../../../../entity/snackbar/snackbarReducer");
8
+ const responsePayload_1 = require("../../../../responsePayload");
9
+ const chargeCardDetailReducer_1 = require("./chargeCardDetailReducer");
10
+ const unlockChargeCardEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(chargeCardDetailReducer_1.unlockChargeCard.match), (0, operators_1.switchMap)((action) => {
11
+ var _a;
12
+ const { isChargeCardAdmin, chargeCardId } = action.payload;
13
+ const cardDetail = state$.value.chargeCardState.chargeCardByID[chargeCardId];
14
+ const accountLast4 = (_a = cardDetail === null || cardDetail === void 0 ? void 0 : cardDetail.accountLast4) !== null && _a !== void 0 ? _a : '';
15
+ return zeniAPI
16
+ .putAndGetJSON(`${zeniAPI.apiEndPoints.cardMicroServiceBaseUrl}/1.0/cards/${chargeCardId}/unlock`)
17
+ .pipe((0, operators_1.mergeMap)((response) => {
18
+ if ((0, responsePayload_1.isSuccessStatus)(response) && response.data != null) {
19
+ return (0, rxjs_1.of)((0, chargeCardReducer_1.updateChargeCard)(response.data), (0, chargeCardDetailReducer_1.unlockChargeCardSuccessOrFailure)({
20
+ chargeCardId,
21
+ fetchState: 'Completed',
22
+ }), (0, snackbarReducer_1.openSnackbar)({
23
+ messageSection: isChargeCardAdmin
24
+ ? 'unlock_charge_card'
25
+ : 'unlock_charge_card_card_user',
26
+ messageText: 'success',
27
+ type: 'success',
28
+ variables: [
29
+ {
30
+ variableName: '_masked_card_number_',
31
+ variableValue: `•••• ${accountLast4}`,
32
+ },
33
+ ],
34
+ }));
35
+ }
36
+ else {
37
+ return (0, rxjs_1.of)((0, snackbarReducer_1.openSnackbar)({
38
+ messageSection: isChargeCardAdmin
39
+ ? 'unlock_charge_card'
40
+ : 'unlock_charge_card_card_user',
41
+ messageText: 'failed',
42
+ type: 'error',
43
+ variables: [
44
+ {
45
+ variableName: '_api-error_',
46
+ variableValue: response.status.message,
47
+ },
48
+ ],
49
+ }), (0, chargeCardDetailReducer_1.unlockChargeCardSuccessOrFailure)({
50
+ chargeCardId,
51
+ fetchState: 'Error',
52
+ error: response.status,
53
+ }));
54
+ }
55
+ }), (0, operators_1.catchError)((error) => {
56
+ return (0, rxjs_1.of)((0, snackbarReducer_1.openSnackbar)({
57
+ messageSection: isChargeCardAdmin
58
+ ? 'unlock_charge_card'
59
+ : 'unlock_charge_card_card_user',
60
+ messageText: 'failed',
61
+ type: 'error',
62
+ variables: [
63
+ {
64
+ variableName: '_api-error_',
65
+ variableValue: JSON.stringify(error),
66
+ },
67
+ ],
68
+ }), (0, chargeCardDetailReducer_1.unlockChargeCardSuccessOrFailure)({
69
+ chargeCardId,
70
+ fetchState: 'Error',
71
+ error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Unlock card API call errored out' + JSON.stringify(error)),
72
+ }));
73
+ }));
74
+ }));
75
+ exports.unlockChargeCardEpic = unlockChargeCardEpic;
@@ -0,0 +1,9 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { Observable } from 'rxjs';
3
+ import { updateChargeCard } from '../../../../entity/chargeCard/chargeCardReducer';
4
+ import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
5
+ import { RootState } from '../../../../reducer';
6
+ import { ZeniAPI } from '../../../../zeniAPI';
7
+ import { updateChargeCardName, updateChargeCardNameSuccessOrFailure } from './chargeCardDetailReducer';
8
+ export type ActionType = ReturnType<typeof openSnackbar> | ReturnType<typeof updateChargeCardName> | ReturnType<typeof updateChargeCardNameSuccessOrFailure> | ReturnType<typeof updateChargeCard>;
9
+ export declare const updateChargeCardNameEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateChargeCardNameEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const chargeCardReducer_1 = require("../../../../entity/chargeCard/chargeCardReducer");
7
+ const snackbarReducer_1 = require("../../../../entity/snackbar/snackbarReducer");
8
+ const responsePayload_1 = require("../../../../responsePayload");
9
+ const chargeCardDetailReducer_1 = require("./chargeCardDetailReducer");
10
+ const updateChargeCardNameEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(chargeCardDetailReducer_1.updateChargeCardName.match), (0, operators_1.switchMap)((action) => {
11
+ var _a;
12
+ const { chargeCardId, name, isChargeCardAdmin } = action.payload;
13
+ const payload = {
14
+ card_name: name,
15
+ };
16
+ const cardDetail = state$.value.chargeCardState.chargeCardByID[chargeCardId];
17
+ const accountLast4 = (_a = cardDetail === null || cardDetail === void 0 ? void 0 : cardDetail.accountLast4) !== null && _a !== void 0 ? _a : '';
18
+ return zeniAPI
19
+ .putAndGetJSON(`${zeniAPI.apiEndPoints.cardMicroServiceBaseUrl}/1.0/cards/${chargeCardId}/rename`, payload)
20
+ .pipe((0, operators_1.mergeMap)((response) => {
21
+ if ((0, responsePayload_1.isSuccessStatus)(response) && response.data != null) {
22
+ return (0, rxjs_1.of)((0, chargeCardReducer_1.updateChargeCard)(response.data), (0, chargeCardDetailReducer_1.updateChargeCardNameSuccessOrFailure)({
23
+ chargeCardId,
24
+ fetchState: 'Completed',
25
+ }), (0, snackbarReducer_1.openSnackbar)({
26
+ messageSection: isChargeCardAdmin
27
+ ? 'update_charge_card_name'
28
+ : 'update_charge_card_name_card_user',
29
+ messageText: 'success',
30
+ type: 'success',
31
+ variables: [
32
+ {
33
+ variableName: '_masked_card_number_',
34
+ variableValue: `•••• ${accountLast4}`,
35
+ },
36
+ {
37
+ variableName: '_new_card_name_',
38
+ variableValue: name,
39
+ },
40
+ ],
41
+ }));
42
+ }
43
+ else {
44
+ return (0, rxjs_1.of)((0, snackbarReducer_1.openSnackbar)({
45
+ messageSection: isChargeCardAdmin
46
+ ? 'update_charge_card_name'
47
+ : 'update_charge_card_name_card_user',
48
+ messageText: 'failed',
49
+ type: 'error',
50
+ variables: [
51
+ {
52
+ variableName: '_api-error_',
53
+ variableValue: response.status.message,
54
+ },
55
+ ],
56
+ }), (0, chargeCardDetailReducer_1.updateChargeCardNameSuccessOrFailure)({
57
+ chargeCardId,
58
+ fetchState: 'Error',
59
+ error: response.status,
60
+ }));
61
+ }
62
+ }), (0, operators_1.catchError)((error) => {
63
+ return (0, rxjs_1.of)((0, snackbarReducer_1.openSnackbar)({
64
+ messageSection: isChargeCardAdmin
65
+ ? 'update_charge_card_name'
66
+ : 'update_charge_card_name_card_user',
67
+ messageText: 'failed',
68
+ type: 'error',
69
+ variables: [
70
+ {
71
+ variableName: '_api-error_',
72
+ variableValue: JSON.stringify(error),
73
+ },
74
+ ],
75
+ }), (0, chargeCardDetailReducer_1.updateChargeCardNameSuccessOrFailure)({
76
+ chargeCardId,
77
+ fetchState: 'Error',
78
+ error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Update card name API call errored out' +
79
+ JSON.stringify(error)),
80
+ }));
81
+ }));
82
+ }));
83
+ exports.updateChargeCardNameEpic = updateChargeCardNameEpic;
@@ -3,14 +3,21 @@ import { FetchStateAndError, FetchedState, ID } from '../../../../commonStateTyp
3
3
  import { ZeniDate } from '../../../../zeniDayJS';
4
4
  import { SpendManagementUIState } from '../../billPay/billList/billListState';
5
5
  export interface ChargeCardListState extends FetchedState {
6
+ bulkActionCardIds: ID[];
6
7
  cardIds: ID[];
8
+ closeChargeCardsFetchState: FetchStateAndError;
7
9
  creditAccount: CreditAccount;
8
10
  creditAccountRepayment: CreditAccountRepayment;
9
11
  debitCardSummaries: DebitCardSummaries;
12
+ lockChargeCardsFetchState: FetchStateAndError;
10
13
  resendCardInvite: ResendRevokeCardInvite;
11
14
  revokeCardInvite: ResendRevokeCardInvite;
15
+ revokeChargeCardsInviteFetchState: FetchStateAndError;
12
16
  searchText: string;
13
17
  uiState: ChargeCardListUIState;
18
+ unlockChargeCardsFetchState: FetchStateAndError;
19
+ updateChargeCardsSpendLimitFetchState: FetchStateAndError;
20
+ rowActionCardId?: ID;
14
21
  unAssignedCredits?: Amount;
15
22
  }
16
23
  export interface ResendRevokeCardInvite {
@@ -66,4 +66,5 @@ interface DebitCardSummaryPayload {
66
66
  }
67
67
  export type FetchDebitCardSummaryResponse = ZeniAPIResponse<DebitCardSummaryPayload>;
68
68
  export type ResendInviteResponse = ZeniAPIResponse<ChargeCardPayload>;
69
+ export type UpdateChargeCardsLimitResponse = ZeniAPIResponse<ChargeCardPayload[]>;
69
70
  export {};
@@ -1,5 +1,5 @@
1
1
  import { Amount } from '../../../../commonStateTypes/amount';
2
- import { ID } from '../../../../commonStateTypes/common';
2
+ import { FetchState, ID } from '../../../../commonStateTypes/common';
3
3
  import { ZeniAPIStatus } from '../../../../responsePayload';
4
4
  import { ZeniDate } from '../../../../zeniDayJS';
5
5
  import { ChargeCardListState, ChargeCardListUIState } from './chargeCardList';
@@ -13,10 +13,10 @@ export declare const fetchChargeCardListPage: import("@reduxjs/toolkit").ActionC
13
13
  }, "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">, updateCreditAccountRepaymentAmountAndDate: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
14
14
  amount: Amount;
15
15
  date: ZeniDate;
16
- }, "chargeCardList/updateCreditAccountRepaymentAmountAndDate">, 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<{
16
+ }, "chargeCardList/updateCreditAccountRepaymentAmountAndDate">, updateRowActionCardId: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<string | undefined, "chargeCardList/updateRowActionCardId">, 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<{
17
17
  chargeCardListPayload: ChargeCardListPayload;
18
18
  keepExistingListItems?: boolean;
19
- }, "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<{
19
+ }, "chargeCardList/updateChargeCardList">, updateChargeCardListFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardList/updateChargeCardListFailure">, updateSearchText: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "chargeCardList/updateSearchText">, updateBulkActionCardIds: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "chargeCardList/updateBulkActionCardIds">, updateChargeCardListUIState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
20
20
  uiState: Partial<ChargeCardListUIState>;
21
21
  }, "chargeCardList/updateChargeCardListUIState">, clearChargeCardList: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"chargeCardList/clearChargeCardList">, resendCardInvite: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cardId: string], {
22
22
  cardId: string;
@@ -24,6 +24,36 @@ export declare const fetchChargeCardListPage: import("@reduxjs/toolkit").ActionC
24
24
  cardId: ID;
25
25
  }, "chargeCardList/resendCardInviteSuccess">, resendCardInviteFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardList/resendCardInviteFailure">, revokeCardInvite: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cardId: string], {
26
26
  cardId: string;
27
- }, "chargeCardList/revokeCardInvite", never, never>, revokeCardInviteSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "chargeCardList/revokeCardInviteSuccess">, revokeCardInviteFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardList/revokeCardInviteFailure">;
27
+ }, "chargeCardList/revokeCardInvite", never, never>, revokeCardInviteSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "chargeCardList/revokeCardInviteSuccess">, revokeCardInviteFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "chargeCardList/revokeCardInviteFailure">, updateChargeCardsSpendLimit: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[chargeCardIds: string[], updatedSpendLimit: Amount, frequency: string], {
28
+ chargeCardIds: string[];
29
+ updatedSpendLimit: Amount;
30
+ frequency: string;
31
+ }, "chargeCardList/updateChargeCardsSpendLimit", never, never>, updateChargeCardsSpendLimitSuccessOrFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
32
+ fetchState: FetchState;
33
+ error?: ZeniAPIStatus;
34
+ }, "chargeCardList/updateChargeCardsSpendLimitSuccessOrFailure">, lockChargeCards: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cardIds: string[], reason?: string | undefined], {
35
+ cardIds: string[];
36
+ reason: string | undefined;
37
+ }, "chargeCardList/lockChargeCards", never, never>, lockChargeCardsSuccessOrFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
38
+ fetchState: FetchState;
39
+ error?: ZeniAPIStatus;
40
+ }, "chargeCardList/lockChargeCardsSuccessOrFailure">, unlockChargeCards: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cardIds: string[]], {
41
+ cardIds: string[];
42
+ }, "chargeCardList/unlockChargeCards", never, never>, unlockChargeCardsSuccessOrFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
43
+ fetchState: FetchState;
44
+ error?: ZeniAPIStatus;
45
+ }, "chargeCardList/unlockChargeCardsSuccessOrFailure">, closeChargeCards: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cardIds: string[], reason?: string | undefined], {
46
+ cardIds: string[];
47
+ reason: string | undefined;
48
+ }, "chargeCardList/closeChargeCards", never, never>, closeChargeCardsSuccessOrFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
49
+ fetchState: FetchState;
50
+ error?: ZeniAPIStatus;
51
+ }, "chargeCardList/closeChargeCardsSuccessOrFailure">, revokeChargeCardsInvite: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cardIds: string[]], {
52
+ cardIds: string[];
53
+ }, "chargeCardList/revokeChargeCardsInvite", never, never>, revokeChargeCardsInviteSuccessOrFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
54
+ fetchState: FetchState;
55
+ revokedCardIds: ID[];
56
+ error?: ZeniAPIStatus;
57
+ }, "chargeCardList/revokeChargeCardsInviteSuccessOrFailure">;
28
58
  declare const _default: import("redux").Reducer<ChargeCardListState>;
29
59
  export default _default;