@zeniai/client-epic-state 4.17.72 → 4.17.73

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.
@@ -23,10 +23,8 @@ export interface ChargeCard {
23
23
  dailyWithdrawals: Amount;
24
24
  hold: Amount;
25
25
  id: ID;
26
- isDeclinedTransaction: boolean;
27
26
  isDeleted: boolean;
28
27
  isPinSet: boolean;
29
- isRepaymentInitiated: boolean;
30
28
  limit: Amount;
31
29
  monthlyPurchaseLimit: Amount;
32
30
  monthlyPurchaseSpends: Amount;
@@ -38,6 +36,8 @@ export interface ChargeCard {
38
36
  cardColorCode?: string;
39
37
  createTime?: ZeniDate;
40
38
  inviteUpdateTime?: ZeniDate;
39
+ isDeclinedTransaction?: boolean;
40
+ isRepaymentInitiated?: boolean;
41
41
  mailingAddressId?: ID;
42
42
  providerCardCreateTime?: ZeniDate;
43
43
  recommendations?: ChargeCardRecommendation[];
@@ -6,12 +6,12 @@ const timePeriod_1 = require("../../commonStateTypes/timePeriod");
6
6
  const zeniDayJS_1 = require("../../zeniDayJS");
7
7
  const chargeCard_1 = require("./chargeCard");
8
8
  const mapChargeCardPayloadToChargeCard = (payload) => {
9
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
9
+ var _a, _b, _c, _d, _e, _f, _g, _h;
10
10
  return ({
11
11
  id: payload.card_id,
12
12
  connectedAccountId: payload.connected_account_id,
13
- isDeclinedTransaction: (_a = payload.is_declined_transaction) !== null && _a !== void 0 ? _a : false,
14
- isRepaymentInitiated: (_b = payload.is_repayment_initiated) !== null && _b !== void 0 ? _b : false,
13
+ isDeclinedTransaction: payload.is_declined_transaction,
14
+ isRepaymentInitiated: payload.is_repayment_initiated,
15
15
  type: (0, chargeCard_1.toCardType)(payload.card_type),
16
16
  cardName: payload.card_name.trim(),
17
17
  dailyPurchaseLimit: (0, amount_1.toAmount)(payload.card_purchase_limits.daily_purchase_limit, payload.currency_code, payload.currency_symbol),
@@ -32,24 +32,24 @@ const mapChargeCardPayloadToChargeCard = (payload) => {
32
32
  code: (0, chargeCard_1.toCreditLimitFrequencyCodeType)(payload.purchase_limit_frequency.code),
33
33
  name: payload.purchase_limit_frequency.name,
34
34
  },
35
- cardProvider: (_c = payload.card_provider) !== null && _c !== void 0 ? _c : '',
36
- cardProviderID: (_d = payload.provider_card_id) !== null && _d !== void 0 ? _d : '',
37
- accountLast4: (_e = payload.last_4_digits) !== null && _e !== void 0 ? _e : '',
35
+ cardProvider: (_a = payload.card_provider) !== null && _a !== void 0 ? _a : '',
36
+ cardProviderID: (_b = payload.provider_card_id) !== null && _b !== void 0 ? _b : '',
37
+ accountLast4: (_c = payload.last_4_digits) !== null && _c !== void 0 ? _c : '',
38
38
  validThru: toValidThru(payload.expiration_date),
39
39
  cardHolderUserId: payload.holder_user_id,
40
40
  cardCreaterUserId: payload.created_by_user_id,
41
- cardProviderType: (_f = payload.provider_card_type) !== null && _f !== void 0 ? _f : '',
41
+ cardProviderType: (_d = payload.provider_card_type) !== null && _d !== void 0 ? _d : '',
42
42
  status: {
43
43
  code: (0, chargeCard_1.toCardStatusCodeType)(payload.status.code),
44
44
  name: payload.status.name,
45
45
  },
46
46
  billingAddressId: payload.billing_address_id,
47
- mailingAddressId: (_g = payload.mailing_address_id) !== null && _g !== void 0 ? _g : undefined,
48
- shippingAddressId: (_h = payload.shipping_address_id) !== null && _h !== void 0 ? _h : undefined,
47
+ mailingAddressId: (_e = payload.mailing_address_id) !== null && _e !== void 0 ? _e : undefined,
48
+ shippingAddressId: (_f = payload.shipping_address_id) !== null && _f !== void 0 ? _f : undefined,
49
49
  shippingAddressType: payload.shipping_address_type != null
50
50
  ? (0, chargeCard_1.toShippingAddressType)(payload.shipping_address_type)
51
51
  : undefined,
52
- cardColorCode: (_j = payload.card_color_code) !== null && _j !== void 0 ? _j : undefined,
52
+ cardColorCode: (_g = payload.card_color_code) !== null && _g !== void 0 ? _g : undefined,
53
53
  createTime: payload.create_time != null ? (0, zeniDayJS_1.date)(payload.create_time) : undefined,
54
54
  updateTime: payload.update_time != null ? (0, zeniDayJS_1.date)(payload.update_time) : undefined,
55
55
  inviteUpdateTime: payload.invite_update_time != null
@@ -62,7 +62,7 @@ const mapChargeCardPayloadToChargeCard = (payload) => {
62
62
  providerCardCreateTime: payload.provider_card_create_time != null
63
63
  ? (0, zeniDayJS_1.date)(payload.provider_card_create_time)
64
64
  : undefined,
65
- recommendations: (_k = payload.recommendations) === null || _k === void 0 ? void 0 : _k.map((val) => {
65
+ recommendations: (_h = payload.recommendations) === null || _h === void 0 ? void 0 : _h.map((val) => {
66
66
  return toChargeCardRecommendations(val);
67
67
  }),
68
68
  });
@@ -8,6 +8,6 @@ import { updateUserRoles } from '../../../../entity/userRole/userRoleReducer';
8
8
  import { RootState } from '../../../../reducer';
9
9
  import { ZeniAPI } from '../../../../zeniAPI';
10
10
  import { updateChargeCardList } from '../chargeCardList/chargeCardListReducer';
11
- import { issueChargeCardSuccessOrFailure, issueChargeCards, updateChargeCardCount, updateDebitCardCount } from './issueChargeCardReducer';
12
- export type ActionType = ReturnType<typeof issueChargeCards> | ReturnType<typeof updateChargeCards> | ReturnType<typeof updateAllUsers> | ReturnType<typeof updateUserRoles> | ReturnType<typeof openSnackbar> | ReturnType<typeof updateChargeCardList> | ReturnType<typeof updateChargeCardCount> | ReturnType<typeof updateDebitCardCount> | ReturnType<typeof issueChargeCardSuccessOrFailure> | ReturnType<typeof updateAddresses>;
11
+ import { issueChargeCardSuccessOrFailure, issueChargeCards, updateChargeCardCount, updateDebitCardCount, updateLastSelfIssuedDebitCardId } from './issueChargeCardReducer';
12
+ export type ActionType = ReturnType<typeof issueChargeCards> | ReturnType<typeof updateChargeCards> | ReturnType<typeof updateAllUsers> | ReturnType<typeof updateUserRoles> | ReturnType<typeof openSnackbar> | ReturnType<typeof updateChargeCardList> | ReturnType<typeof updateChargeCardCount> | ReturnType<typeof updateDebitCardCount> | ReturnType<typeof updateLastSelfIssuedDebitCardId> | ReturnType<typeof issueChargeCardSuccessOrFailure> | ReturnType<typeof updateAddresses>;
13
13
  export declare const issueChargeCardEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -12,7 +12,9 @@ const responsePayload_1 = require("../../../../responsePayload");
12
12
  const chargeCardListReducer_1 = require("../chargeCardList/chargeCardListReducer");
13
13
  const issueChargeCardReducer_1 = require("./issueChargeCardReducer");
14
14
  const issueChargeCardEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(issueChargeCardReducer_1.issueChargeCards.match), (0, operators_1.switchMap)(() => {
15
+ var _a;
15
16
  const state = state$.value;
17
+ const loggedInUserId = (_a = state$.value.tenantState.loggedInUser) === null || _a === void 0 ? void 0 : _a.userId;
16
18
  const localData = state.issueChargeCardState.localData;
17
19
  const payload = localData.map((data) => {
18
20
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
@@ -87,17 +89,26 @@ const issueChargeCardEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, ope
87
89
  var _a, _b, _c, _d, _e;
88
90
  if ((0, responsePayload_1.isSuccessStatus)(response) && response.data != null) {
89
91
  const actions = [];
90
- actions.push((0, chargeCardReducer_1.updateChargeCards)(response.data.cards), (0, userReducer_1.updateAllUsers)({ users: response.data.users }), (0, userRoleReducer_1.updateUserRoles)(response.data.user_roles), (0, chargeCardListReducer_1.updateChargeCardList)({
92
+ const issuedCards = response.data.cards;
93
+ actions.push((0, chargeCardReducer_1.updateChargeCards)(issuedCards), (0, userReducer_1.updateAllUsers)({ users: response.data.users }), (0, userRoleReducer_1.updateUserRoles)(response.data.user_roles), (0, chargeCardListReducer_1.updateChargeCardList)({
91
94
  chargeCardListPayload: response.data,
92
95
  keepExistingListItems: true,
93
96
  }), (0, addressReducer_1.updateAddresses)(response.data.addresses), (0, issueChargeCardReducer_1.updateChargeCardCount)((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.cards_count_by_user_id) !== null && _b !== void 0 ? _b : []), (0, issueChargeCardReducer_1.updateDebitCardCount)((_d = (_c = response.data) === null || _c === void 0 ? void 0 : _c.debit_cards_count_by_deposit_account_id) !== null && _d !== void 0 ? _d : {}), (0, issueChargeCardReducer_1.issueChargeCardSuccessOrFailure)({ fetchState: 'Completed' }));
94
- const cardHolderIds = response.data.cards.map((card) => card.holder_user_id);
97
+ if (issuedCards.length === 1 &&
98
+ (issuedCards[0].card_type.code ===
99
+ 'business_virtual_debit_card' ||
100
+ issuedCards[0].card_type.code ===
101
+ 'business_physical_debit_card') &&
102
+ loggedInUserId === issuedCards[0].holder_user_id) {
103
+ actions.push((0, issueChargeCardReducer_1.updateLastSelfIssuedDebitCardId)(issuedCards[0].card_id));
104
+ }
105
+ const cardHolderIds = issuedCards.map((card) => card.holder_user_id);
95
106
  const namesList = response.data.users
96
107
  .filter((user) => cardHolderIds.includes(user.user_id))
97
108
  .map((user) => { var _a, _b, _c; return (_b = (_a = user.first_name) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : (_c = user.last_name) === null || _c === void 0 ? void 0 : _c.trim(); })
98
109
  .filter((name) => name != null);
99
- if (response.data.cards.length > 0 && namesList.length === 1) {
100
- const cardText = response.data.cards.length > 1 ? 'cards' : 'card';
110
+ if (issuedCards.length > 0 && namesList.length === 1) {
111
+ const cardText = issuedCards.length > 1 ? 'cards' : 'card';
101
112
  actions.push((0, snackbarReducer_1.openSnackbar)({
102
113
  messageSection: 'issue_charge_card',
103
114
  messageText: 'success',
@@ -5,7 +5,7 @@ import { ZeniAPIStatus } from '../../../../responsePayload';
5
5
  import { ActiveChargeCardCountPayload, ActiveDebitCardCountByUserIdPayload } from '../../../userListView/userListViewPayload';
6
6
  import { IssueChargeCardLocalData, IssueChargeCardState } from './issueChargeCardState';
7
7
  export declare const initialState: IssueChargeCardState;
8
- export declare const issueChargeCards: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[], {}, "issueChargeCard/issueChargeCards", never, never>, updateChargeCardsLocalStore: import("@reduxjs/toolkit").ActionCreatorWithPayload<IssueChargeCardLocalData[], "issueChargeCard/updateChargeCardsLocalStore">, issueChargeCardSuccessOrFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
8
+ export declare const issueChargeCards: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[], {}, "issueChargeCard/issueChargeCards", never, never>, updateChargeCardsLocalStore: import("@reduxjs/toolkit").ActionCreatorWithPayload<IssueChargeCardLocalData[], "issueChargeCard/updateChargeCardsLocalStore">, updateLastSelfIssuedDebitCardId: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "issueChargeCard/updateLastSelfIssuedDebitCardId">, issueChargeCardSuccessOrFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
9
9
  fetchState: FetchState;
10
10
  error?: ZeniAPIStatus;
11
11
  }, "issueChargeCard/issueChargeCardSuccessOrFailure">, resetIssueChargeCardForm: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"issueChargeCard/resetIssueChargeCardForm">, updateCustomAddressId: 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.clearIssueChargeCard = exports.updateDepositAccountListForCardsFetchStatus = exports.fetchDepositAccountListForCards = exports.updateDepositAccountsInCards = exports.fetchIssueCardPage = exports.updateDebitCardCount = exports.updateChargeCardCount = exports.updateCustomAddressId = exports.resetIssueChargeCardForm = exports.issueChargeCardSuccessOrFailure = exports.updateChargeCardsLocalStore = exports.issueChargeCards = exports.initialState = void 0;
4
+ exports.clearIssueChargeCard = exports.updateDepositAccountListForCardsFetchStatus = exports.fetchDepositAccountListForCards = exports.updateDepositAccountsInCards = exports.fetchIssueCardPage = exports.updateDebitCardCount = exports.updateChargeCardCount = exports.updateCustomAddressId = exports.resetIssueChargeCardForm = exports.issueChargeCardSuccessOrFailure = exports.updateLastSelfIssuedDebitCardId = exports.updateChargeCardsLocalStore = exports.issueChargeCards = exports.initialState = void 0;
5
5
  const toolkit_1 = require("@reduxjs/toolkit");
6
6
  exports.initialState = {
7
7
  depositAccountIds: [],
@@ -52,6 +52,10 @@ const issueChargeCard = (0, toolkit_1.createSlice)({
52
52
  resetIssueChargeCardForm(draft) {
53
53
  draft.localData = [...exports.initialState.localData];
54
54
  draft.saveStatus = exports.initialState.saveStatus;
55
+ draft.lastSelfIssuedDebitCardId = undefined;
56
+ },
57
+ updateLastSelfIssuedDebitCardId(draft, action) {
58
+ draft.lastSelfIssuedDebitCardId = action.payload;
55
59
  },
56
60
  issueChargeCardSuccessOrFailure(draft, action) {
57
61
  draft.saveStatus.fetchState = action.payload.fetchState;
@@ -105,5 +109,5 @@ const issueChargeCard = (0, toolkit_1.createSlice)({
105
109
  },
106
110
  },
107
111
  });
108
- _a = issueChargeCard.actions, exports.issueChargeCards = _a.issueChargeCards, exports.updateChargeCardsLocalStore = _a.updateChargeCardsLocalStore, exports.issueChargeCardSuccessOrFailure = _a.issueChargeCardSuccessOrFailure, exports.resetIssueChargeCardForm = _a.resetIssueChargeCardForm, exports.updateCustomAddressId = _a.updateCustomAddressId, exports.updateChargeCardCount = _a.updateChargeCardCount, exports.updateDebitCardCount = _a.updateDebitCardCount, exports.fetchIssueCardPage = _a.fetchIssueCardPage, exports.updateDepositAccountsInCards = _a.updateDepositAccountsInCards, exports.fetchDepositAccountListForCards = _a.fetchDepositAccountListForCards, exports.updateDepositAccountListForCardsFetchStatus = _a.updateDepositAccountListForCardsFetchStatus, exports.clearIssueChargeCard = _a.clearIssueChargeCard;
112
+ _a = issueChargeCard.actions, exports.issueChargeCards = _a.issueChargeCards, exports.updateChargeCardsLocalStore = _a.updateChargeCardsLocalStore, exports.updateLastSelfIssuedDebitCardId = _a.updateLastSelfIssuedDebitCardId, exports.issueChargeCardSuccessOrFailure = _a.issueChargeCardSuccessOrFailure, exports.resetIssueChargeCardForm = _a.resetIssueChargeCardForm, exports.updateCustomAddressId = _a.updateCustomAddressId, exports.updateChargeCardCount = _a.updateChargeCardCount, exports.updateDebitCardCount = _a.updateDebitCardCount, exports.fetchIssueCardPage = _a.fetchIssueCardPage, exports.updateDepositAccountsInCards = _a.updateDepositAccountsInCards, exports.fetchDepositAccountListForCards = _a.fetchDepositAccountListForCards, exports.updateDepositAccountListForCardsFetchStatus = _a.updateDepositAccountListForCardsFetchStatus, exports.clearIssueChargeCard = _a.clearIssueChargeCard;
109
113
  exports.default = issueChargeCard.reducer;
@@ -22,5 +22,6 @@ export interface IssueChargeCardSelectorView extends SelectorView {
22
22
  userAddress: Record<ID, Address>;
23
23
  userList: Person[];
24
24
  companyAddress?: Address;
25
+ lastSelfIssuedDebitCardId?: ID;
25
26
  }
26
27
  export declare const getIssueChargeCardView: (state: RootState, isCreditCardEnabled: boolean, isDebitCardEnabled: boolean) => IssueChargeCardSelectorView;
@@ -87,6 +87,7 @@ const getIssueChargeCardView = (state, isCreditCardEnabled, isDebitCardEnabled)
87
87
  allAccountingClasses,
88
88
  activeChargeCardCount: issueChargeCardState.activeChargeCardCount,
89
89
  activeDebitCardCountByDepositAccountId: issueChargeCardState.activeDebitCardCountByDepositAccountId,
90
+ lastSelfIssuedDebitCardId: issueChargeCardState.lastSelfIssuedDebitCardId,
90
91
  };
91
92
  };
92
93
  exports.getIssueChargeCardView = getIssueChargeCardView;
@@ -8,6 +8,7 @@ export interface IssueChargeCardState extends FetchedState {
8
8
  depositAccountsFetchState: FetchStateAndError;
9
9
  localData: IssueChargeCardLocalData[];
10
10
  saveStatus: FetchStateAndError;
11
+ lastSelfIssuedDebitCardId?: ID;
11
12
  }
12
13
  export interface ActiveChargeCardCount {
13
14
  physicalCardCount: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "4.17.72",
3
+ "version": "4.17.73",
4
4
  "description": "Shared module between Web & Mobile containing required abstractions for state management, async network communication. ",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",