@zeniai/client-epic-state 4.8.9 → 4.8.10

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.
@@ -98,7 +98,7 @@ function toJEClassPayload(payload, type) {
98
98
  exports.toJEClassPayload = toJEClassPayload;
99
99
  function getTransactionDetailKeyPayload(payload) {
100
100
  const transactionId = (0, transactionIDPayload_1.toTransactionID)(payload);
101
- return (0, transactionDetailState_1.getTransactionDetailKey)(transactionId);
101
+ return (0, transactionDetailState_1.getZeniTransactionDetailKey)(transactionId);
102
102
  }
103
103
  exports.getTransactionDetailKeyPayload = getTransactionDetailKeyPayload;
104
104
  function toJEScheduledTransaction(payload) {
@@ -1,5 +1,5 @@
1
- import { getTransactionDetailKey } from '../../view/transactionDetail/transactionDetailState';
2
- export declare type JEScheduleKey = ReturnType<typeof getTransactionDetailKey>;
1
+ import { getZeniTransactionDetailKey } from '../../view/transactionDetail/transactionDetailState';
2
+ export declare type JEScheduleKey = ReturnType<typeof getZeniTransactionDetailKey>;
3
3
  export declare const ALL_SCHEDULES_TYPES: readonly ["prepaid_expenses", "fixed_assets", "accured_expenses", "deferred_revenue"];
4
4
  export declare const toScheduleTypesType: (v: string) => "prepaid_expenses" | "fixed_assets" | "accured_expenses" | "deferred_revenue";
5
5
  export declare type SchedulesTypes = ReturnType<typeof toScheduleTypesType>;
@@ -55,7 +55,7 @@ const transaction = (0, toolkit_1.createSlice)({
55
55
  updateScheduleTransactions: {
56
56
  reducer(draft, action) {
57
57
  action.payload.transactionsPayload.forEach((value) => {
58
- const id = (0, transactionDetailState_1.getTransactionDetailKey)({
58
+ const id = (0, transactionDetailState_1.getZeniTransactionDetailKey)({
59
59
  id: value.transaction_id,
60
60
  type: (0, transactionType_1.toTransactionType)(value.transaction_type),
61
61
  });
@@ -1,5 +1,5 @@
1
1
  import { ID } from '../../commonStateTypes/common';
2
- import { TransactionDetailKey } from '../../view/transactionDetail/transactionDetailState';
2
+ import { TransactionDetailKey, ZeniTransactionDetailKey } from '../../view/transactionDetail/transactionDetailState';
3
3
  import { CustomerTransactionPayload } from './payloadTypes/customerTransactionPayload';
4
4
  import { TransactionPayload } from './payloadTypes/transactionPayload';
5
5
  import { VendorTransactionPayload } from './payloadTypes/vendorTransactionPayload';
@@ -12,5 +12,5 @@ export declare type SupportedTransactionPayload = TransactionPayload | CustomerT
12
12
  export declare type AllSupportedTransactions = SupportedTransaction | undefined;
13
13
  export interface TransactionState {
14
14
  transactionById: Record<ID | TransactionDetailKey, SupportedTransaction | undefined>;
15
- scheduleTransactionById: Record<TransactionDetailKey, ScheduleTransaction>;
15
+ scheduleTransactionById: Record<ZeniTransactionDetailKey, ScheduleTransaction>;
16
16
  }
package/lib/index.d.ts CHANGED
@@ -310,8 +310,8 @@ import { CompanyDetailsLocalData, CompanyInfoLocalData, IncInfoLocalData, TaxDet
310
310
  import { CompanyOfficerLocalData, PrimaryContactLocalData, CompanyOfficerType } from './view/companyView/types/companyPassport/companyUsersLocalData';
311
311
  import { CompanyPassportLocalData, toCompanyPassportLocalData } from './view/companyView/types/companyPassport/companyPassportLocalData';
312
312
  export { CompanyInfoLocalData, IncInfoLocalData, TaxDetailsLocalData, CompanyDetailsLocalData, PrimaryContactLocalData, CompanyOfficerLocalData, CompanyOfficerType, CompanyPassportLocalData, toCompanyPassportLocalData, };
313
- import { AccountListSelectorView, getUncategorizedAccounts, getNestedAccountListHeirarchy } from './view/accountList/accountListSelector';
314
- export { getUncategorizedAccounts, getNestedAccountListHeirarchy };
313
+ import { AccountListSelectorView, getUncategorizedAccounts, getNestedAccountListHeirarchy, UncategorizedAccounts } from './view/accountList/accountListSelector';
314
+ export { getUncategorizedAccounts, UncategorizedAccounts, getNestedAccountListHeirarchy, };
315
315
  import { getBankAccount, BankAccountSelectorView } from './view/bankAccountView/bankAccountViewSelector';
316
316
  export { getBankAccount, BankAccountSelectorView };
317
317
  import { SubscriptionListUIState, SubscriptionUpdateData, SubscriptionCreateData, SubscriptionActionType } from './view/subscriptionView/subscriptionViewState';
@@ -28,7 +28,7 @@ const fetchScheduleDetailsEpic = (actions$, state$, zeniAPI) => actions$.pipe((0
28
28
  .pipe((0, operators_1.mergeMap)((response) => {
29
29
  if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
30
30
  const transactionData = response.data.je_schedules[0].base_transaction;
31
- const selectedJEScheduleKey = (0, transactionDetailState_1.getTransactionDetailKey)({
31
+ const selectedJEScheduleKey = (0, transactionDetailState_1.getZeniTransactionDetailKey)({
32
32
  id: transactionData.transaction_id,
33
33
  type: (0, transactionType_1.toTransactionType)(transactionData.transaction_type),
34
34
  });
@@ -214,7 +214,7 @@ exports.default = scheduleListView.reducer;
214
214
  function doUpdateScheduleList(draft, payload, tab, selectedTimeframe, selectedCategoryId) {
215
215
  const jeScheduleTransactionKeys = payload.map((schedules) => {
216
216
  const transactionID = (0, transactionIDPayload_1.toTransactionID)(schedules.base_transaction);
217
- return (0, transactionDetailState_1.getTransactionDetailKey)(transactionID);
217
+ return (0, transactionDetailState_1.getZeniTransactionDetailKey)(transactionID);
218
218
  });
219
219
  draft.selectedCategoryId = selectedCategoryId;
220
220
  draft.selectedTimeframe = selectedTimeframe;
@@ -10,6 +10,8 @@ import { EntityRecommendationKey } from '../recommendation/recommendationState';
10
10
  import { TransactionDetailLocalData } from './transactionDetailTypes';
11
11
  export declare const getTransactionDetailKey: (transactionId: TransactionID) => `${string}_expense` | `${string}_invoice` | `${string}_payment` | `${string}_credit_memo` | `${string}_sales_receipt` | `${string}_delayed_credit` | `${string}_delayed_charge` | `${string}_refund` | `${string}_check` | `${string}_bill` | `${string}_bill_payment` | `${string}_bill_payment_check` | `${string}_bill_payment_credit_card` | `${string}_vendor_credit` | `${string}_credit_card_credit` | `${string}_transfer` | `${string}_credit_card_payment` | `${string}_deposit` | `${string}_journal_entry`;
12
12
  export declare type TransactionDetailKey = ReturnType<typeof getTransactionDetailKey>;
13
+ export declare const getZeniTransactionDetailKey: (transactionId: TransactionID) => `${string}_expense` | `${string}_invoice` | `${string}_payment` | `${string}_credit_memo` | `${string}_sales_receipt` | `${string}_delayed_credit` | `${string}_delayed_charge` | `${string}_refund` | `${string}_check` | `${string}_bill` | `${string}_bill_payment` | `${string}_bill_payment_check` | `${string}_bill_payment_credit_card` | `${string}_vendor_credit` | `${string}_credit_card_credit` | `${string}_transfer` | `${string}_credit_card_payment` | `${string}_deposit` | `${string}_journal_entry`;
14
+ export declare type ZeniTransactionDetailKey = ReturnType<typeof getTransactionDetailKey>;
13
15
  export declare const getThirdPartyIdFromTransactionId: (transactionId: TransactionID) => string;
14
16
  export declare function getAllLinkedTransactions(transaction: Transaction): TransactionID[];
15
17
  export interface SupportedTransactionDetail extends FetchedState {
@@ -1,12 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initialSupportedTransactionDetail = exports.getAllLinkedTransactions = exports.getThirdPartyIdFromTransactionId = exports.getTransactionDetailKey = void 0;
3
+ exports.initialSupportedTransactionDetail = exports.getAllLinkedTransactions = exports.getThirdPartyIdFromTransactionId = exports.getZeniTransactionDetailKey = exports.getTransactionDetailKey = void 0;
4
4
  // This transaction key only extracts the third party ID and uses that
5
5
  // for the ID
6
- const getTransactionDetailKey = (transactionId) => `${transactionId.id}_${transactionId.type}`;
6
+ const getTransactionDetailKey = (transactionId) => `${getActualTransactionID(transactionId.id)}_${transactionId.type}`;
7
7
  exports.getTransactionDetailKey = getTransactionDetailKey;
8
+ const getZeniTransactionDetailKey = (transactionId) => `${transactionId.id}_${transactionId.type}`;
9
+ exports.getZeniTransactionDetailKey = getZeniTransactionDetailKey;
8
10
  const getThirdPartyIdFromTransactionId = (transactionId) => {
9
11
  const zeniGeneratedId = transactionId.id;
12
+ return getActualTransactionID(zeniGeneratedId);
13
+ };
14
+ exports.getThirdPartyIdFromTransactionId = getThirdPartyIdFromTransactionId;
15
+ /**
16
+ * Returns actual QBO transaction ID.
17
+ * @param zeniGeneratedId zeni transaciton Id in the form of tran_<uuid>:<qbo_id>
18
+ * @returns retruns the actual QBO transaction Id.
19
+ * @note in case if the given transaction id itself is QBO id, the it just passes it back.
20
+ */
21
+ const getActualTransactionID = (zeniGeneratedId) => {
10
22
  const splittedIds = zeniGeneratedId.trim().split(':');
11
23
  if (splittedIds.length === 1) {
12
24
  return splittedIds[0];
@@ -15,7 +27,6 @@ const getThirdPartyIdFromTransactionId = (transactionId) => {
15
27
  return splittedIds[1];
16
28
  }
17
29
  };
18
- exports.getThirdPartyIdFromTransactionId = getThirdPartyIdFromTransactionId;
19
30
  function getAllLinkedTransactions(transaction) {
20
31
  var _a, _b;
21
32
  const result = [];
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.toGlobalMerchantsBasePayload = exports.toVendorReviewViewRecommendationPayload = exports.toNonExistingRecommendationGlobalMerchantBasePayload = exports.toUserPayload = void 0;
7
- const flatMap_1 = __importDefault(require("lodash/flatMap"));
8
7
  const omit_1 = __importDefault(require("lodash/omit"));
9
8
  const globalMerchantPayload_1 = require("../../../../entity/globalMerchant/globalMerchantPayload");
10
9
  /**
@@ -69,19 +68,25 @@ const toVendorReviewViewRecommendationPayload = (recommendations, nonExistingRec
69
68
  global_merchants: recommendationEntities,
70
69
  };
71
70
  });
72
- const allRecommendations = recommendationsPayload.length > 0
73
- ? recommendationsPayload
74
- : nonExistingRecommendationsPayload;
71
+ const allRecommendations = [
72
+ {
73
+ global_merchants: [
74
+ ...recommendationsPayload[0].global_merchants,
75
+ ...nonExistingRecommendationsPayload[0].global_merchants,
76
+ ],
77
+ },
78
+ ];
75
79
  return allRecommendations;
76
80
  };
77
81
  exports.toVendorReviewViewRecommendationPayload = toVendorReviewViewRecommendationPayload;
78
82
  const toGlobalMerchantsBasePayload = (vendorsRecommendationsPayload) => {
79
- var _a, _b;
80
- let globalMerchantBasePayload = [];
81
- if (((_b = (_a = vendorsRecommendationsPayload[0]) === null || _a === void 0 ? void 0 : _a.global_merchants[0]) === null || _b === void 0 ? void 0 : _b.global_merchant_id) != null) {
82
- globalMerchantBasePayload = (0, flatMap_1.default)(vendorsRecommendationsPayload.map((vendorsRecoomendation) => vendorsRecoomendation
83
- .global_merchants));
84
- }
83
+ var _a;
84
+ const globalMerchantBasePayload = [];
85
+ (_a = vendorsRecommendationsPayload[0]) === null || _a === void 0 ? void 0 : _a.global_merchants.forEach((globalMerchantPayload) => {
86
+ if (globalMerchantPayload.global_merchant_id != null) {
87
+ globalMerchantBasePayload.push(globalMerchantPayload);
88
+ }
89
+ });
85
90
  return globalMerchantBasePayload;
86
91
  };
87
92
  exports.toGlobalMerchantsBasePayload = toGlobalMerchantsBasePayload;
@@ -67,15 +67,17 @@ const toNonExistingGlobalMerchantBase = (globalMerchantPayload) => {
67
67
  };
68
68
  exports.toNonExistingGlobalMerchantBase = toNonExistingGlobalMerchantBase;
69
69
  const toAllRecommendationsFromPayload = (recommendationsPayload) => {
70
- var _a, _b;
71
- let recommendations = [];
72
- let nonExistingRecommendations = [];
73
- if (((_b = (_a = recommendationsPayload[0]) === null || _a === void 0 ? void 0 : _a.global_merchants[0]) === null || _b === void 0 ? void 0 : _b.global_merchant_id) != null) {
74
- recommendations = (0, exports.toRecommendationsFromPayload)(recommendationsPayload);
75
- }
76
- else {
77
- nonExistingRecommendations = (0, exports.toNonExistingRecommendationsFromPayload)(recommendationsPayload);
78
- }
70
+ var _a;
71
+ const recommendations = [];
72
+ const nonExistingRecommendations = [];
73
+ (_a = recommendationsPayload[0]) === null || _a === void 0 ? void 0 : _a.global_merchants.forEach((globalmerchant) => {
74
+ if (globalmerchant.global_merchant_id != null) {
75
+ recommendations.push((0, globalMerchantPayload_1.toGlobalMerchantBase)(globalmerchant));
76
+ }
77
+ else {
78
+ nonExistingRecommendations.push((0, exports.toNonExistingGlobalMerchantBase)(globalmerchant));
79
+ }
80
+ });
79
81
  const recommendationIds = recommendations.map((recommendation) => recommendation.globalMerchantId);
80
82
  return {
81
83
  recommendationIds,
@@ -82,17 +82,13 @@ exports.mapUsersPayloadFromVendorFirstReviewViewResponse = mapUsersPayloadFromVe
82
82
  const mapGlobalMerchantsBasePayloadFromVendorFirstReviewViewResponse = (vendorsResponse) => {
83
83
  const globalMerchantBasePayload = [];
84
84
  vendorsResponse.forEach((vendor) => {
85
- var _a, _b;
86
- if (((_b = (_a = vendor.recommendations[0]) === null || _a === void 0 ? void 0 : _a.global_merchants[0]) === null || _b === void 0 ? void 0 : _b.global_merchant_id) != null) {
87
- mapVendorRecommendationsToGlobalMerchantBasePayload(vendor.recommendations, globalMerchantBasePayload);
88
- }
85
+ var _a;
86
+ const existingMerchants = (_a = vendor.recommendations[0]) === null || _a === void 0 ? void 0 : _a.global_merchants.filter((merchant) => merchant.global_merchant_id != null);
87
+ mapEntitiesRecommendationsPayloadToGlobalMerchantsBasePayload(existingMerchants, globalMerchantBasePayload);
89
88
  });
90
89
  return globalMerchantBasePayload;
91
90
  };
92
91
  exports.mapGlobalMerchantsBasePayloadFromVendorFirstReviewViewResponse = mapGlobalMerchantsBasePayloadFromVendorFirstReviewViewResponse;
93
- const mapVendorRecommendationsToGlobalMerchantBasePayload = (recommendations, globalMerchantBasePayload) => {
94
- recommendations.forEach((recommendation) => mapEntitiesRecommendationsPayloadToGlobalMerchantsBasePayload(recommendation.global_merchants, globalMerchantBasePayload));
95
- };
96
92
  const mapEntitiesRecommendationsPayloadToGlobalMerchantsBasePayload = (entities, globalMerchantBasePayload) => {
97
93
  entities.forEach((entity) => globalMerchantBasePayload.push(entity));
98
94
  };
@@ -83,8 +83,9 @@ const vendorFirstReviewView = (0, toolkit_1.createSlice)({
83
83
  const isRecommendationSelected = selectedGlobalMerchantId != null &&
84
84
  (selectedGlobalMerchantId ===
85
85
  vendorLocalData.recommendationIds[0] ||
86
- selectedGlobalMerchantId ===
87
- ((_a = vendorLocalData.recommendedNonExistingGlobalMerchants[0]) === null || _a === void 0 ? void 0 : _a.globalMerchantName));
86
+ (vendorLocalData.recommendationIds.length === 0 &&
87
+ selectedGlobalMerchantId ===
88
+ ((_a = vendorLocalData.recommendedNonExistingGlobalMerchants[0]) === null || _a === void 0 ? void 0 : _a.globalMerchantName)));
88
89
  const isRetainSelected = selectedGlobalMerchantId != null &&
89
90
  selectedGlobalMerchantId === vendorLocalData.vendorId;
90
91
  currentSelection =
@@ -244,7 +245,7 @@ const mapPayloadToVendorFirstReviewView = (payload) => {
244
245
  },
245
246
  currentSelection: null,
246
247
  recommendationIds,
247
- recommendedNonExistingGlobalMerchants: recommendationIds.length === 0 ? nonExistingRecommendations : [],
248
+ recommendedNonExistingGlobalMerchants: nonExistingRecommendations,
248
249
  lastUpdatedVendorNameByUserId: (_a = payload.last_updated_vendor_name_by_user) === null || _a === void 0 ? void 0 : _a.user_id,
249
250
  };
250
251
  };
@@ -19,10 +19,10 @@ const getVendorFirstReviewView = (state) => {
19
19
  const currentVendor = (0, vendorSelector_1.getVendorByVendorId)(vendorState, vendorLocalData.vendorId);
20
20
  const users = (0, userSelector_1.getUsersByUserIds)(userState, userIds);
21
21
  let recommendations = (0, globalMerchantSelector_1.getGlobalMerchantsByMerchantIds)(globalMerchantState, vendorLocalData.recommendationIds);
22
- recommendations =
23
- recommendations.length > 0
24
- ? recommendations
25
- : vendorLocalData.recommendedNonExistingGlobalMerchants;
22
+ recommendations = [
23
+ ...recommendations,
24
+ ...vendorLocalData.recommendedNonExistingGlobalMerchants,
25
+ ];
26
26
  let selectedVendor;
27
27
  const vendor = (0, vendorSelector_1.getVendorByVendorId)(vendorState, vendorLocalData.selectedVendorId);
28
28
  if (vendor != null) {
@@ -71,15 +71,12 @@ exports.toUsersPayload = toUsersPayload;
71
71
  const mapGlobalReviewPayloadToGlobalMerchantsBasePayload = (vendorsResponse) => {
72
72
  let globalMerchantBasePayload = [];
73
73
  vendorsResponse.forEach((vendor) => {
74
- var _a, _b;
75
- if (((_b = (_a = vendor.recommendations[0]) === null || _a === void 0 ? void 0 : _a.global_merchants[0]) === null || _b === void 0 ? void 0 : _b.global_merchant_id) != null) {
76
- globalMerchantBasePayload = [
77
- ...new Set([
78
- ...globalMerchantBasePayload,
79
- ...(0, commonTypes_1.toGlobalMerchantsBasePayload)(vendor.recommendations),
80
- ]),
81
- ];
82
- }
74
+ globalMerchantBasePayload = [
75
+ ...new Set([
76
+ ...globalMerchantBasePayload,
77
+ ...(0, commonTypes_1.toGlobalMerchantsBasePayload)(vendor.recommendations),
78
+ ]),
79
+ ];
83
80
  });
84
81
  return globalMerchantBasePayload;
85
82
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "4.8.9",
3
+ "version": "4.8.10",
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",