@zeniai/client-epic-state 4.19.96-betaJK21 → 4.19.96-betaJK3

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 (57) hide show
  1. package/lib/entity/accountRecon/accountReconState.d.ts +1 -1
  2. package/lib/entity/accountRecon/accountReconState.js +0 -1
  3. package/lib/epic.js +3 -1
  4. package/lib/esm/entity/accountRecon/accountReconState.js +0 -1
  5. package/lib/esm/epic.js +3 -1
  6. package/lib/esm/index.js +7 -2
  7. package/lib/esm/reducer.js +4 -0
  8. package/lib/esm/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +0 -2
  9. package/lib/esm/view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic.js +0 -1
  10. package/lib/esm/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.js +5 -37
  11. package/lib/esm/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementDocumentAIHelper.js +1 -2
  12. package/lib/esm/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +6 -0
  13. package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewReducer.js +13 -1
  14. package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +1 -0
  15. package/lib/esm/view/spendManagement/billPay/editBillView/epics/saveBillDetailEpic.js +1 -0
  16. package/lib/esm/view/spendManagement/billPay/vendorCreditView/epics/createVendorCreditEpic.js +44 -0
  17. package/lib/esm/view/spendManagement/billPay/vendorCreditView/epics/fetchVendorCreditsForVendorEpic.js +17 -0
  18. package/lib/esm/view/spendManagement/billPay/vendorCreditView/epics/vendorCreditPayloadMapper.js +19 -0
  19. package/lib/esm/view/spendManagement/billPay/vendorCreditView/vendorCreditViewPayload.js +1 -0
  20. package/lib/esm/view/spendManagement/billPay/vendorCreditView/vendorCreditViewReducer.js +76 -0
  21. package/lib/esm/view/spendManagement/billPay/vendorCreditView/vendorCreditViewSelector.js +15 -0
  22. package/lib/esm/view/spendManagement/billPay/vendorCreditView/vendorCreditViewState.js +33 -0
  23. package/lib/index.d.ts +9 -2
  24. package/lib/index.js +42 -22
  25. package/lib/reducer.d.ts +3 -0
  26. package/lib/reducer.js +4 -0
  27. package/lib/tsconfig.typecheck.tsbuildinfo +1 -0
  28. package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +0 -2
  29. package/lib/view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic.js +0 -1
  30. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.js +5 -37
  31. package/lib/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementDocumentAIHelper.d.ts +1 -1
  32. package/lib/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementDocumentAIHelper.js +1 -2
  33. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +1 -4
  34. package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.d.ts +2 -0
  35. package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +6 -0
  36. package/lib/view/spendManagement/billPay/editBillView/editBillViewReducer.d.ts +6 -1
  37. package/lib/view/spendManagement/billPay/editBillView/editBillViewReducer.js +14 -2
  38. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.d.ts +1 -0
  39. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +1 -0
  40. package/lib/view/spendManagement/billPay/editBillView/editBillViewState.d.ts +1 -0
  41. package/lib/view/spendManagement/billPay/editBillView/epics/saveBillDetailEpic.d.ts +1 -0
  42. package/lib/view/spendManagement/billPay/editBillView/epics/saveBillDetailEpic.js +1 -0
  43. package/lib/view/spendManagement/billPay/vendorCreditView/epics/createVendorCreditEpic.d.ts +28 -0
  44. package/lib/view/spendManagement/billPay/vendorCreditView/epics/createVendorCreditEpic.js +48 -0
  45. package/lib/view/spendManagement/billPay/vendorCreditView/epics/fetchVendorCreditsForVendorEpic.d.ts +12 -0
  46. package/lib/view/spendManagement/billPay/vendorCreditView/epics/fetchVendorCreditsForVendorEpic.js +21 -0
  47. package/lib/view/spendManagement/billPay/vendorCreditView/epics/vendorCreditPayloadMapper.d.ts +3 -0
  48. package/lib/view/spendManagement/billPay/vendorCreditView/epics/vendorCreditPayloadMapper.js +25 -0
  49. package/lib/view/spendManagement/billPay/vendorCreditView/vendorCreditViewPayload.d.ts +22 -0
  50. package/lib/view/spendManagement/billPay/vendorCreditView/vendorCreditViewPayload.js +2 -0
  51. package/lib/view/spendManagement/billPay/vendorCreditView/vendorCreditViewReducer.d.ts +13 -0
  52. package/lib/view/spendManagement/billPay/vendorCreditView/vendorCreditViewReducer.js +80 -0
  53. package/lib/view/spendManagement/billPay/vendorCreditView/vendorCreditViewSelector.d.ts +16 -0
  54. package/lib/view/spendManagement/billPay/vendorCreditView/vendorCreditViewSelector.js +20 -0
  55. package/lib/view/spendManagement/billPay/vendorCreditView/vendorCreditViewState.d.ts +45 -0
  56. package/lib/view/spendManagement/billPay/vendorCreditView/vendorCreditViewState.js +36 -0
  57. package/package.json +1 -1
@@ -5,7 +5,6 @@ const rxjs_1 = require("rxjs");
5
5
  const operators_1 = require("rxjs/operators");
6
6
  const timePeriod_1 = require("../../../../commonStateTypes/timePeriod");
7
7
  const accountReducer_1 = require("../../../../entity/account/accountReducer");
8
- const accountReconState_1 = require("../../../../entity/accountRecon/accountReconState");
9
8
  const accountReconReducer_1 = require("../../../../entity/accountRecon/accountReconReducer");
10
9
  const accountReconSelector_1 = require("../../../../entity/accountRecon/accountReconSelector");
11
10
  const fileReducer_1 = require("../../../../entity/file/fileReducer");
@@ -126,7 +125,6 @@ const prepareReviewTabLocalData = (transactionsToReview) => {
126
125
  .recommended_transactions[0].merchant_name,
127
126
  }
128
127
  : undefined,
129
- recommendedActionType: (0, accountReconState_1.toRecommendedActionCodeType)(currentTransaction.recommended_action.recommended_actions),
130
128
  };
131
129
  return {
132
130
  ...prev,
@@ -49,7 +49,6 @@ const prepareReviewTabLocalData = (transactionsToReview) => {
49
49
  .recommendedTransactions[0].merchantName,
50
50
  }
51
51
  : undefined,
52
- recommendedActionType: currentTransaction.recommendedAction.action,
53
52
  };
54
53
  return {
55
54
  ...prev,
@@ -7,7 +7,6 @@ const formatZeniDateFY_1 = require("../../../../commonStateTypes/fiscalYearHelpe
7
7
  const accountReconReducer_1 = require("../../../../entity/accountRecon/accountReconReducer");
8
8
  const accountReconSelector_1 = require("../../../../entity/accountRecon/accountReconSelector");
9
9
  const accountReconState_1 = require("../../../../entity/accountRecon/accountReconState");
10
- const entitySelector_1 = require("../../../../entity/genericEntity/entitySelector");
11
10
  const snackbarReducer_1 = require("../../../../entity/snackbar/snackbarReducer");
12
11
  const tenantSelector_1 = require("../../../../entity/tenant/tenantSelector");
13
12
  const transactionReducer_1 = require("../../../../entity/transaction/transactionReducer");
@@ -16,7 +15,6 @@ const responsePayload_1 = require("../../../../responsePayload");
16
15
  const reconciliationViewReducer_1 = require("../../reducers/reconciliationViewReducer");
17
16
  const saveReconciliationReviewEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(reconciliationViewReducer_1.saveReconciliationReview.match), (0, operators_1.mergeMap)((action) => {
18
17
  const state = state$.value;
19
- const entityState = state.entityState;
20
18
  const { transactionId } = action.payload;
21
19
  const localData = state.expenseAutomationReconciliationViewState.reconTabsState.review
22
20
  .localData[transactionId];
@@ -33,10 +31,8 @@ const saveReconciliationReviewEpic = (actions$, state$, zeniAPI) => actions$.pip
33
31
  reconciliationId = reconciliationData?.reconciliationId;
34
32
  updatedTransaction = reconciliationData?.transactionsToReview.find((transaction) => transaction.transactionId === transactionId);
35
33
  }
36
- const reviewAction = localData?.recommendedActionType ??
37
- updatedTransaction?.recommendedAction.action;
38
34
  const queryParam = {
39
- review_action: reviewAction,
35
+ review_action: updatedTransaction?.recommendedAction.action,
40
36
  reconciliation_id: reconciliationId ?? '',
41
37
  ref_account_id: selectedAccountId,
42
38
  ref_account_name: reconciliationData?.account.accountName,
@@ -46,7 +42,7 @@ const saveReconciliationReviewEpic = (actions$, state$, zeniAPI) => actions$.pip
46
42
  if (reconciliationData != null &&
47
43
  updatedTransaction != null &&
48
44
  localData != null) {
49
- switch (reviewAction) {
45
+ switch (updatedTransaction.recommendedAction.action) {
50
46
  case 'record_expense':
51
47
  payload = getPayloadForExpenseRecord(updatedTransaction, localData);
52
48
  break;
@@ -66,10 +62,7 @@ const saveReconciliationReviewEpic = (actions$, state$, zeniAPI) => actions$.pip
66
62
  payload = getPayloadForCCPayment(updatedTransaction, localData, reconciliationData?.account.accountType);
67
63
  break;
68
64
  case 'record_deposit':
69
- payload = getPayloadForDeposit(updatedTransaction, localData, entityState);
70
- break;
71
- case 'record_journal_entry':
72
- payload = getPayloadForJournalEntry(updatedTransaction, localData);
65
+ payload = getPayloadForDeposit(updatedTransaction, localData);
73
66
  break;
74
67
  }
75
68
  }
@@ -170,10 +163,7 @@ function getPayloadForExpenseRecord(updatedTransaction, localData) {
170
163
  currency_code: updatedTransaction.amount.currencyCode,
171
164
  };
172
165
  }
173
- function getPayloadForDeposit(updatedTransaction, localData, entityState) {
174
- const customerZeniId = localData.customer?.id != null
175
- ? (0, entitySelector_1.getEntityByEntityIDs)(entityState, [localData.customer?.id])[0]?.zeniId
176
- : undefined;
166
+ function getPayloadForDeposit(updatedTransaction, localData) {
177
167
  return {
178
168
  amount: updatedTransaction.amount.amount,
179
169
  transaction_memo: updatedTransaction.memo,
@@ -181,7 +171,7 @@ function getPayloadForDeposit(updatedTransaction, localData, entityState) {
181
171
  transaction_date: updatedTransaction.transactionDate.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT),
182
172
  transaction_direction: updatedTransaction.transactionDirection,
183
173
  transaction_id: updatedTransaction.transactionId,
184
- customer_id: customerZeniId,
174
+ customer_id: localData.customer?.id,
185
175
  customer_name: localData.customer?.name,
186
176
  account_id: localData.categoryId,
187
177
  accounting_class_id: localData.classId,
@@ -229,28 +219,6 @@ const getPayloadForBillPayment = (updatedTransaction, linkedTransaction, localDa
229
219
  vendor_name: linkedTransaction?.merchantName,
230
220
  };
231
221
  };
232
- function getPayloadForJournalEntry(updatedTransaction, localData) {
233
- return {
234
- transaction_id: updatedTransaction.transactionId,
235
- transaction_date: updatedTransaction.transactionDate.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT),
236
- transaction_memo: updatedTransaction.memo,
237
- amount: updatedTransaction.amount.amount,
238
- currency_code: updatedTransaction.amount.currencyCode,
239
- transaction_direction: updatedTransaction.transactionDirection,
240
- lines: [
241
- {
242
- class_id: localData.jeDebitClassId,
243
- posting_type: 'Debit',
244
- amount: updatedTransaction.amount.amount,
245
- },
246
- {
247
- class_id: localData.jeCreditClassId,
248
- posting_type: 'Credit',
249
- amount: updatedTransaction.amount.amount,
250
- },
251
- ],
252
- };
253
- }
254
222
  const getToastMessageSection = (updatedTransaction) => {
255
223
  if (updatedTransaction?.recommendedAction.action === 'record_bill_payment') {
256
224
  return 'recon_transaction_match';
@@ -10,4 +10,4 @@ export interface AuthParamsPayload {
10
10
  zeni_tenant_id: string;
11
11
  zeni_user_id: string;
12
12
  }
13
- export default function uploadAccountStatementIntoDocumentAI(accountType: AccountType, fileBlob: Blob, authParams: AuthParams, accountName?: string): Promise<UploadStatementDocumentAIPayload | undefined>;
13
+ export default function uploadAccountStatementIntoDocumentAI(accountType: AccountType, fileBlob: Blob, authParams: AuthParams): Promise<UploadStatementDocumentAIPayload | undefined>;
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = uploadAccountStatementIntoDocumentAI;
7
7
  const cross_fetch_1 = __importDefault(require("cross-fetch"));
8
8
  const init_1 = require("../../../../init");
9
- async function uploadAccountStatementIntoDocumentAI(accountType, fileBlob, authParams, accountName) {
9
+ async function uploadAccountStatementIntoDocumentAI(accountType, fileBlob, authParams) {
10
10
  let statementUpload;
11
11
  const urlEndPoint = `${init_1.zeniAPI.apiEndPoints.documentAIMicroServiceBaseUrl}/1.0/processors/statement`;
12
12
  const data = new FormData();
@@ -16,7 +16,6 @@ async function uploadAccountStatementIntoDocumentAI(accountType, fileBlob, authP
16
16
  ? 'reconciliation_card_statement_upload'
17
17
  : 'reconciliation_bank_statement_upload',
18
18
  purpose_id: 'reconciliation',
19
- ...(accountName != null && { account_name: accountName }),
20
19
  });
21
20
  data.append('attachment_json_0', attachment_json);
22
21
  try {
@@ -3,7 +3,7 @@ import { FetchStateAndError, ID } from '../../../commonStateTypes/common';
3
3
  import { SortOrder } from '../../../commonStateTypes/selectorTypes/sortOrderTypes';
4
4
  import { MonthYearPeriodId } from '../../../commonStateTypes/timePeriod';
5
5
  import { ReconciliationAccountSourceType } from '../../../entity/account/accountState';
6
- import { BankStatusCodeType, RecommendedActionCodeType } from '../../../entity/accountRecon/accountReconState';
6
+ import { BankStatusCodeType } from '../../../entity/accountRecon/accountReconState';
7
7
  import { CustomerBase } from '../../../entity/customer/customerState';
8
8
  import { VendorBase } from '../../../entity/vendor/vendorState';
9
9
  import { ZeniAPIStatus } from '../../../responsePayload';
@@ -71,10 +71,7 @@ export interface ReconciliationReviewTabLocalData {
71
71
  classId?: ID;
72
72
  creditCardId?: ID;
73
73
  customer?: CustomerBase;
74
- jeCreditClassId?: ID;
75
- jeDebitClassId?: ID;
76
74
  matchedTransactionId?: ID;
77
- recommendedActionType?: RecommendedActionCodeType;
78
75
  vendor?: VendorBase;
79
76
  }
80
77
  export interface ActionFetchStates {
@@ -30,6 +30,8 @@ export interface BillPayReviewSelectorView extends SelectorView {
30
30
  recurringBillInstance?: number;
31
31
  recurringConfig?: RecurringBillConfigLocalData;
32
32
  toAccountVendorEmail?: string;
33
+ vendorCreditAmount?: number;
34
+ vendorCreditNoteNumber?: string;
33
35
  }
34
36
  export interface DuplicateBillsSelectorView extends SelectorView {
35
37
  bills: BillTransaction[];
@@ -158,6 +158,10 @@ const getReviewPageBillDetail = (state, billId) => {
158
158
  ?.currencySymbol ?? '$',
159
159
  };
160
160
  const outsideZeniPaymentInfo = sourceBillDetail.billDetailLocalData.outsideZeniPaymentLocalData;
161
+ const vendorCreditId = sourceBillDetail.billDetailLocalData.vendorCreditId;
162
+ const appliedCredit = vendorCreditId != null
163
+ ? state.vendorCreditViewState?.vendorCreditsForVendor?.credits?.find((c) => c.creditId === vendorCreditId)
164
+ : undefined;
161
165
  return {
162
166
  version: 0,
163
167
  duplicateBillTransactions: bills,
@@ -181,6 +185,8 @@ const getReviewPageBillDetail = (state, billId) => {
181
185
  zeniAssistRetryStatus,
182
186
  billPayInfo,
183
187
  outsideZeniPaymentInfo,
188
+ vendorCreditNoteNumber: appliedCredit?.creditNoteNumber,
189
+ vendorCreditAmount: appliedCredit?.totalAmount,
184
190
  };
185
191
  };
186
192
  exports.getReviewPageBillDetail = getReviewPageBillDetail;
@@ -107,6 +107,11 @@ export declare const fetchEditBillDetailPage: import("@reduxjs/toolkit").ActionC
107
107
  }, "editBillView/replaceBillFileInLocalStore">, updateShouldReplaceBillData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
108
108
  replaceBillData: boolean;
109
109
  billId?: ID;
110
- }, "editBillView/updateShouldReplaceBillData">;
110
+ }, "editBillView/updateShouldReplaceBillData">, applyVendorCreditToBill: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
111
+ creditId: ID;
112
+ billId?: ID;
113
+ }, "editBillView/applyVendorCreditToBill">, removeVendorCreditFromBill: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
114
+ billId?: ID;
115
+ }, "editBillView/removeVendorCreditFromBill">;
111
116
  declare const _default: import("redux").Reducer<EditBillDetailViewState>;
112
117
  export default _default;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.updateShouldReplaceBillData = exports.replaceBillFileInLocalStore = exports.removeBillFileFromLocalStore = exports.updateWithdrawFromAccountId = exports.updateNewAddedBillPaymentAccount = exports.discardOutsideZeniPaymentLocalData = exports.updateOutsideZeniPaymentLocalData = exports.markBillForRetry = exports.waitForVendorByIdThenSaveBillUpdatetoLocalStore = exports.fetchVendorAndUpdateBillLocalData = exports.updateHomeCurrencyConversion = exports.currencyConversionValueSuccessOrFailure = exports.convertAmountToHomeCurrency = exports.updateVendorContactSuccessOrFailure = exports.updateVendorContact = exports.updateSuggestedVendorIdFromParsedInvoice = exports.updateRecommendedVendorId = exports.updateBillUploadFetchState = exports.updateAddBillAutoFields = exports.updateShowAutofill = exports.updateInternationalTransferFeeBearerPaymentMethodInLocalData = exports.waitForVendorByNameThenParsetoLocalStore = exports.waitForBillDetailThenInitializeLocalStore = exports.clearEditBillViewDetail = exports.parseInvoiceToBill = exports.updateEditBillFetchStateCompleted = exports.saveBillSuccessOrFailure = exports.saveBillDetail = exports.discardBillUpdatesInLocalStore = exports.saveBillUpdatesToLocalStore = exports.initializeBillToLocalStore = exports.fetchVendorByNameAndParseInvoice = exports.fetchBillAndInitializeLocalStore = exports.fetchEditBillDetailPage = exports.initialState = void 0;
4
+ exports.removeVendorCreditFromBill = exports.applyVendorCreditToBill = exports.updateShouldReplaceBillData = exports.replaceBillFileInLocalStore = exports.removeBillFileFromLocalStore = exports.updateWithdrawFromAccountId = exports.updateNewAddedBillPaymentAccount = exports.discardOutsideZeniPaymentLocalData = exports.updateOutsideZeniPaymentLocalData = exports.markBillForRetry = exports.waitForVendorByIdThenSaveBillUpdatetoLocalStore = exports.fetchVendorAndUpdateBillLocalData = exports.updateHomeCurrencyConversion = exports.currencyConversionValueSuccessOrFailure = exports.convertAmountToHomeCurrency = exports.updateVendorContactSuccessOrFailure = exports.updateVendorContact = exports.updateSuggestedVendorIdFromParsedInvoice = exports.updateRecommendedVendorId = exports.updateBillUploadFetchState = exports.updateAddBillAutoFields = exports.updateShowAutofill = exports.updateInternationalTransferFeeBearerPaymentMethodInLocalData = exports.waitForVendorByNameThenParsetoLocalStore = exports.waitForBillDetailThenInitializeLocalStore = exports.clearEditBillViewDetail = exports.parseInvoiceToBill = exports.updateEditBillFetchStateCompleted = exports.saveBillSuccessOrFailure = exports.saveBillDetail = exports.discardBillUpdatesInLocalStore = exports.saveBillUpdatesToLocalStore = exports.initializeBillToLocalStore = exports.fetchVendorByNameAndParseInvoice = exports.fetchBillAndInitializeLocalStore = exports.fetchEditBillDetailPage = exports.initialState = void 0;
5
5
  const toolkit_1 = require("@reduxjs/toolkit");
6
6
  const amount_1 = require("../../../../commonStateTypes/amount");
7
7
  const attachmentPayload_1 = require("../../../../entity/transaction/payloadTypes/attachmentPayload");
@@ -490,12 +490,24 @@ const editBillView = (0, toolkit_1.createSlice)({
490
490
  error: undefined,
491
491
  };
492
492
  },
493
+ applyVendorCreditToBill(draft, action) {
494
+ const { creditId, billId } = action.payload;
495
+ const billKey = billId != null ? (0, billDetailViewState_1.getBillTransactionDetailKey)(billId) : null;
496
+ const targetState = billKey != null ? draft.editBillStateById[billKey] : draft.newBillState;
497
+ targetState.billDetailLocalData.vendorCreditId = creditId;
498
+ },
499
+ removeVendorCreditFromBill(draft, action) {
500
+ const { billId } = action.payload;
501
+ const billKey = billId != null ? (0, billDetailViewState_1.getBillTransactionDetailKey)(billId) : null;
502
+ const targetState = billKey != null ? draft.editBillStateById[billKey] : draft.newBillState;
503
+ targetState.billDetailLocalData.vendorCreditId = undefined;
504
+ },
493
505
  clearEditBillViewDetail(draft) {
494
506
  Object.assign(draft, exports.initialState);
495
507
  },
496
508
  },
497
509
  });
498
- _a = editBillView.actions, exports.fetchEditBillDetailPage = _a.fetchEditBillDetailPage, exports.fetchBillAndInitializeLocalStore = _a.fetchBillAndInitializeLocalStore, exports.fetchVendorByNameAndParseInvoice = _a.fetchVendorByNameAndParseInvoice, exports.initializeBillToLocalStore = _a.initializeBillToLocalStore, exports.saveBillUpdatesToLocalStore = _a.saveBillUpdatesToLocalStore, exports.discardBillUpdatesInLocalStore = _a.discardBillUpdatesInLocalStore, exports.saveBillDetail = _a.saveBillDetail, exports.saveBillSuccessOrFailure = _a.saveBillSuccessOrFailure, exports.updateEditBillFetchStateCompleted = _a.updateEditBillFetchStateCompleted, exports.parseInvoiceToBill = _a.parseInvoiceToBill, exports.clearEditBillViewDetail = _a.clearEditBillViewDetail, exports.waitForBillDetailThenInitializeLocalStore = _a.waitForBillDetailThenInitializeLocalStore, exports.waitForVendorByNameThenParsetoLocalStore = _a.waitForVendorByNameThenParsetoLocalStore, exports.updateInternationalTransferFeeBearerPaymentMethodInLocalData = _a.updateInternationalTransferFeeBearerPaymentMethodInLocalData, exports.updateShowAutofill = _a.updateShowAutofill, exports.updateAddBillAutoFields = _a.updateAddBillAutoFields, exports.updateBillUploadFetchState = _a.updateBillUploadFetchState, exports.updateRecommendedVendorId = _a.updateRecommendedVendorId, exports.updateSuggestedVendorIdFromParsedInvoice = _a.updateSuggestedVendorIdFromParsedInvoice, exports.updateVendorContact = _a.updateVendorContact, exports.updateVendorContactSuccessOrFailure = _a.updateVendorContactSuccessOrFailure, exports.convertAmountToHomeCurrency = _a.convertAmountToHomeCurrency, exports.currencyConversionValueSuccessOrFailure = _a.currencyConversionValueSuccessOrFailure, exports.updateHomeCurrencyConversion = _a.updateHomeCurrencyConversion, exports.fetchVendorAndUpdateBillLocalData = _a.fetchVendorAndUpdateBillLocalData, exports.waitForVendorByIdThenSaveBillUpdatetoLocalStore = _a.waitForVendorByIdThenSaveBillUpdatetoLocalStore, exports.markBillForRetry = _a.markBillForRetry, exports.updateOutsideZeniPaymentLocalData = _a.updateOutsideZeniPaymentLocalData, exports.discardOutsideZeniPaymentLocalData = _a.discardOutsideZeniPaymentLocalData, exports.updateNewAddedBillPaymentAccount = _a.updateNewAddedBillPaymentAccount, exports.updateWithdrawFromAccountId = _a.updateWithdrawFromAccountId, exports.removeBillFileFromLocalStore = _a.removeBillFileFromLocalStore, exports.replaceBillFileInLocalStore = _a.replaceBillFileInLocalStore, exports.updateShouldReplaceBillData = _a.updateShouldReplaceBillData;
510
+ _a = editBillView.actions, exports.fetchEditBillDetailPage = _a.fetchEditBillDetailPage, exports.fetchBillAndInitializeLocalStore = _a.fetchBillAndInitializeLocalStore, exports.fetchVendorByNameAndParseInvoice = _a.fetchVendorByNameAndParseInvoice, exports.initializeBillToLocalStore = _a.initializeBillToLocalStore, exports.saveBillUpdatesToLocalStore = _a.saveBillUpdatesToLocalStore, exports.discardBillUpdatesInLocalStore = _a.discardBillUpdatesInLocalStore, exports.saveBillDetail = _a.saveBillDetail, exports.saveBillSuccessOrFailure = _a.saveBillSuccessOrFailure, exports.updateEditBillFetchStateCompleted = _a.updateEditBillFetchStateCompleted, exports.parseInvoiceToBill = _a.parseInvoiceToBill, exports.clearEditBillViewDetail = _a.clearEditBillViewDetail, exports.waitForBillDetailThenInitializeLocalStore = _a.waitForBillDetailThenInitializeLocalStore, exports.waitForVendorByNameThenParsetoLocalStore = _a.waitForVendorByNameThenParsetoLocalStore, exports.updateInternationalTransferFeeBearerPaymentMethodInLocalData = _a.updateInternationalTransferFeeBearerPaymentMethodInLocalData, exports.updateShowAutofill = _a.updateShowAutofill, exports.updateAddBillAutoFields = _a.updateAddBillAutoFields, exports.updateBillUploadFetchState = _a.updateBillUploadFetchState, exports.updateRecommendedVendorId = _a.updateRecommendedVendorId, exports.updateSuggestedVendorIdFromParsedInvoice = _a.updateSuggestedVendorIdFromParsedInvoice, exports.updateVendorContact = _a.updateVendorContact, exports.updateVendorContactSuccessOrFailure = _a.updateVendorContactSuccessOrFailure, exports.convertAmountToHomeCurrency = _a.convertAmountToHomeCurrency, exports.currencyConversionValueSuccessOrFailure = _a.currencyConversionValueSuccessOrFailure, exports.updateHomeCurrencyConversion = _a.updateHomeCurrencyConversion, exports.fetchVendorAndUpdateBillLocalData = _a.fetchVendorAndUpdateBillLocalData, exports.waitForVendorByIdThenSaveBillUpdatetoLocalStore = _a.waitForVendorByIdThenSaveBillUpdatetoLocalStore, exports.markBillForRetry = _a.markBillForRetry, exports.updateOutsideZeniPaymentLocalData = _a.updateOutsideZeniPaymentLocalData, exports.discardOutsideZeniPaymentLocalData = _a.discardOutsideZeniPaymentLocalData, exports.updateNewAddedBillPaymentAccount = _a.updateNewAddedBillPaymentAccount, exports.updateWithdrawFromAccountId = _a.updateWithdrawFromAccountId, exports.removeBillFileFromLocalStore = _a.removeBillFileFromLocalStore, exports.replaceBillFileInLocalStore = _a.replaceBillFileInLocalStore, exports.updateShouldReplaceBillData = _a.updateShouldReplaceBillData, exports.applyVendorCreditToBill = _a.applyVendorCreditToBill, exports.removeVendorCreditFromBill = _a.removeVendorCreditFromBill;
499
511
  exports.default = editBillView.reducer;
500
512
  function doUpdateRecurringBillLocalData(billDetail, currentConfig, prevConfig) {
501
513
  const recurringBillDetail = (0, helpers_1.updateRecurringBillDetails)(currentConfig, prevConfig, billDetail.recurringBillInstances, billDetail.recipientTotalAmount?.amount);
@@ -117,6 +117,7 @@ export interface EditBillDetailSelectorView extends SelectorView {
117
117
  recurringConfig?: RecurringBillConfigLocalData;
118
118
  toAccountVendorEmail?: string;
119
119
  vendorContactSaveStatus?: FetchStateAndError;
120
+ vendorCreditId?: ID;
120
121
  vendorDetailLocalData?: VendorDetailLocalData;
121
122
  }
122
123
  export interface EditBillInitialDetails {
@@ -386,6 +386,7 @@ const getEditBillDetail = (state, isVendorRecommendationFeatureEnabled, isZeniAc
386
386
  paymentAccount,
387
387
  newAddedBillPaymentAccountId,
388
388
  isInitialEdit: sourceBillDetail?.isInitialEdit,
389
+ vendorCreditId: sourceBillDetail?.billDetailLocalData?.vendorCreditId,
389
390
  };
390
391
  };
391
392
  exports.getEditBillDetail = getEditBillDetail;
@@ -69,6 +69,7 @@ export interface BillDetailLocalData {
69
69
  totalAmount?: Amount;
70
70
  totalAmountAfterConversion?: Amount;
71
71
  vendor?: Vendor;
72
+ vendorCreditId?: ID;
72
73
  whatForSection?: WhatForSection;
73
74
  }
74
75
  export interface WhatForSection {
@@ -78,6 +78,7 @@ interface SaveBillPayload {
78
78
  is_update_recurring_bill_config?: boolean | null;
79
79
  recurring_bill_config?: RecurringBillConfigBodyPayload | null;
80
80
  recurring_bill_instances?: RecurringBillInstancePayload[] | null;
81
+ vendor_credit_id?: string | null;
81
82
  vendor_name?: string | null;
82
83
  }
83
84
  interface RecurringBillInstancePayload {
@@ -161,6 +161,7 @@ function prepareSaveBillPayload(accountState, billTransactionState, paymentAccou
161
161
  const lineAsTransactionLinePayload = (0, editBillViewPayload_1.fromLineLocalDataToTransactionLinePayload)(line);
162
162
  return (0, transactionLinePayload_1.toAccountAndClassLinePayload)(lineAsTransactionLinePayload);
163
163
  }),
164
+ vendor_credit_id: billDetail.billDetailLocalData.vendorCreditId ?? null,
164
165
  };
165
166
  if (!isRecurring) {
166
167
  payload.vendor_name = billDetail.billDetailLocalData.vendor?.name ?? '';
@@ -0,0 +1,28 @@
1
+ import { ActionsObservable } from 'redux-observable';
2
+ import { openSnackbar } from '../../../../../entity/snackbar/snackbarReducer';
3
+ import { ZeniAPI } from '../../../../../zeniAPI';
4
+ import { createVendorCredit, createVendorCreditFailure, createVendorCreditSuccess } from '../vendorCreditViewReducer';
5
+ type ActionType = ReturnType<typeof createVendorCredit> | ReturnType<typeof createVendorCreditSuccess> | ReturnType<typeof createVendorCreditFailure> | ReturnType<typeof openSnackbar>;
6
+ export declare const createVendorCreditEpic: (actions$: ActionsObservable<ActionType>, _state$: unknown, zeniAPI: ZeniAPI) => import("rxjs").Observable<{
7
+ payload: {
8
+ messageSection: import("../../../../..").SnackbarMessageSections;
9
+ messageText: import("../../../../..").SnackbarMessageSectionTexts;
10
+ type: import("../../../../..").SnackbarMessageType;
11
+ showStatusIcon?: boolean;
12
+ variables?: {
13
+ variableName: string;
14
+ variableValue: string;
15
+ }[];
16
+ };
17
+ type: "snackbar/openSnackbar";
18
+ } | {
19
+ payload: {
20
+ credit: import("../vendorCreditViewState").VendorCreditSummary;
21
+ creditId: import("../../../../..").ID;
22
+ };
23
+ type: "vendorCreditView/createVendorCreditSuccess";
24
+ } | {
25
+ payload: import("../../../../../responsePayload").ZeniAPIStatus<Record<string, unknown>> | undefined;
26
+ type: "vendorCreditView/createVendorCreditFailure";
27
+ }>;
28
+ export {};
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createVendorCreditEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const snackbarReducer_1 = require("../../../../../entity/snackbar/snackbarReducer");
7
+ const responsePayload_1 = require("../../../../../responsePayload");
8
+ const vendorCreditViewReducer_1 = require("../vendorCreditViewReducer");
9
+ const vendorCreditPayloadMapper_1 = require("./vendorCreditPayloadMapper");
10
+ const createVendorCreditEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(vendorCreditViewReducer_1.createVendorCredit.match), (0, operators_1.mergeMap)((action) => {
11
+ const { localData } = action.payload;
12
+ const body = {
13
+ vendor_id: localData.vendorId,
14
+ vendor_name: localData.vendorName,
15
+ credit_note_number: localData.creditNoteNumber,
16
+ credit_note_date: localData.creditNoteDate,
17
+ memo: localData.memo,
18
+ total_amount: localData.totalAmount,
19
+ currency_code: localData.currencyCode,
20
+ file_id: localData.fileId,
21
+ applied_to_bill_id: localData.appliedToBillId,
22
+ };
23
+ const url = `${zeniAPI.apiEndPoints.spendManagementMicroServiceBaseUrl}/1.0/vendor-credits`;
24
+ return zeniAPI.putAndGetJSON(url, body).pipe((0, operators_1.mergeMap)((response) => {
25
+ if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
26
+ const payload = response.data;
27
+ const credit = (0, vendorCreditPayloadMapper_1.toVendorCreditSummary)(payload);
28
+ return (0, rxjs_1.of)((0, vendorCreditViewReducer_1.createVendorCreditSuccess)({
29
+ creditId: credit.creditId,
30
+ credit,
31
+ }), (0, snackbarReducer_1.openSnackbar)({
32
+ messageSection: 'bill_pay_updated',
33
+ messageText: 'success',
34
+ type: 'success',
35
+ }));
36
+ }
37
+ return (0, rxjs_1.of)((0, vendorCreditViewReducer_1.createVendorCreditFailure)(response.status), (0, snackbarReducer_1.openSnackbar)({
38
+ messageSection: 'bill_pay_updated',
39
+ messageText: 'failed',
40
+ type: 'error',
41
+ }));
42
+ }), (0, operators_1.catchError)(() => (0, rxjs_1.of)((0, vendorCreditViewReducer_1.createVendorCreditFailure)(undefined), (0, snackbarReducer_1.openSnackbar)({
43
+ messageSection: 'bill_pay_updated',
44
+ messageText: 'failed',
45
+ type: 'error',
46
+ }))));
47
+ }));
48
+ exports.createVendorCreditEpic = createVendorCreditEpic;
@@ -0,0 +1,12 @@
1
+ import { ActionsObservable } from 'redux-observable';
2
+ import { ZeniAPI } from '../../../../../zeniAPI';
3
+ import { fetchVendorCreditsForVendor, fetchVendorCreditsForVendorFailure, fetchVendorCreditsForVendorSuccess } from '../vendorCreditViewReducer';
4
+ type ActionType = ReturnType<typeof fetchVendorCreditsForVendor> | ReturnType<typeof fetchVendorCreditsForVendorSuccess> | ReturnType<typeof fetchVendorCreditsForVendorFailure>;
5
+ export declare const fetchVendorCreditsForVendorEpic: (actions$: ActionsObservable<ActionType>, _state$: unknown, zeniAPI: ZeniAPI) => import("rxjs").Observable<{
6
+ payload: import("../vendorCreditViewState").VendorCreditSummary[];
7
+ type: "vendorCreditView/fetchVendorCreditsForVendorSuccess";
8
+ } | {
9
+ payload: import("../../../../../responsePayload").ZeniAPIStatus<Record<string, unknown>> | undefined;
10
+ type: "vendorCreditView/fetchVendorCreditsForVendorFailure";
11
+ }>;
12
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchVendorCreditsForVendorEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const responsePayload_1 = require("../../../../../responsePayload");
7
+ const vendorCreditViewReducer_1 = require("../vendorCreditViewReducer");
8
+ const vendorCreditPayloadMapper_1 = require("./vendorCreditPayloadMapper");
9
+ const fetchVendorCreditsForVendorEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(vendorCreditViewReducer_1.fetchVendorCreditsForVendor.match), (0, operators_1.mergeMap)((action) => {
10
+ const { vendorId } = action.payload;
11
+ const url = `${zeniAPI.apiEndPoints.spendManagementMicroServiceBaseUrl}/1.0/vendor-credits?vendor_id=${encodeURIComponent(vendorId)}`;
12
+ return zeniAPI.getJSON(url).pipe((0, operators_1.mergeMap)((response) => {
13
+ if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
14
+ const payloads = response.data;
15
+ const credits = payloads.map(vendorCreditPayloadMapper_1.toVendorCreditSummary);
16
+ return (0, rxjs_1.of)((0, vendorCreditViewReducer_1.fetchVendorCreditsForVendorSuccess)(credits));
17
+ }
18
+ return (0, rxjs_1.of)((0, vendorCreditViewReducer_1.fetchVendorCreditsForVendorFailure)(response.status));
19
+ }), (0, operators_1.catchError)(() => (0, rxjs_1.of)((0, vendorCreditViewReducer_1.fetchVendorCreditsForVendorFailure)(undefined))));
20
+ }));
21
+ exports.fetchVendorCreditsForVendorEpic = fetchVendorCreditsForVendorEpic;
@@ -0,0 +1,3 @@
1
+ import { VendorCreditPayload } from '../vendorCreditViewPayload';
2
+ import { VendorCreditSummary } from '../vendorCreditViewState';
3
+ export declare function toVendorCreditSummary(payload: VendorCreditPayload): VendorCreditSummary;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.toVendorCreditSummary = toVendorCreditSummary;
7
+ const dayjs_1 = __importDefault(require("dayjs"));
8
+ function toVendorCreditSummary(payload) {
9
+ return {
10
+ creditId: payload.credit_id,
11
+ vendorId: payload.vendor_id,
12
+ vendorName: payload.vendor_name,
13
+ creditNoteNumber: payload.credit_note_number,
14
+ creditNoteDate: payload.credit_note_date != null ? (0, dayjs_1.default)(payload.credit_note_date) : undefined,
15
+ memo: payload.memo,
16
+ totalAmount: payload.total_amount,
17
+ remainingAmount: payload.remaining_amount,
18
+ currencyCode: payload.currency_code ?? 'USD',
19
+ status: (payload.status ?? 'available'),
20
+ appliedToBillId: payload.applied_to_bill_id,
21
+ fileId: payload.file_id,
22
+ createTime: payload.create_time,
23
+ updateTime: payload.update_time,
24
+ };
25
+ }
@@ -0,0 +1,22 @@
1
+ import { ZeniAPIResponse } from '../../../../responsePayload';
2
+ export interface VendorCreditPayload {
3
+ credit_id: string;
4
+ currency_code: string;
5
+ remaining_amount: number;
6
+ status: string;
7
+ total_amount: number;
8
+ vendor_id: string;
9
+ applied_to_bill_id?: string;
10
+ create_time?: string;
11
+ created_by_user_id?: string;
12
+ credit_note_date?: string;
13
+ credit_note_number?: string;
14
+ file_id?: string;
15
+ last_updated_by_user_id?: string;
16
+ memo?: string;
17
+ qbo_vendor_id?: string;
18
+ update_time?: string;
19
+ vendor_name?: string;
20
+ }
21
+ export type CreateVendorCreditResponse = ZeniAPIResponse<VendorCreditPayload>;
22
+ export type FetchVendorCreditsResponse = ZeniAPIResponse<VendorCreditPayload[]>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,13 @@
1
+ import { ID } from '../../../../commonStateTypes/common';
2
+ import { ZeniAPIStatus } from '../../../../responsePayload';
3
+ import { VendorCreditLocalData, VendorCreditSummary } from './vendorCreditViewState';
4
+ export declare const createVendorCredit: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[localData: VendorCreditLocalData], {
5
+ localData: VendorCreditLocalData;
6
+ }, "vendorCreditView/createVendorCredit", never, never>, createVendorCreditSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
7
+ credit: VendorCreditSummary;
8
+ creditId: ID;
9
+ }, "vendorCreditView/createVendorCreditSuccess">, createVendorCreditFailure: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<ZeniAPIStatus<Record<string, unknown>> | undefined, "vendorCreditView/createVendorCreditFailure">, fetchVendorCreditsForVendor: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[vendorId: string], {
10
+ vendorId: string;
11
+ }, "vendorCreditView/fetchVendorCreditsForVendor", never, never>, fetchVendorCreditsForVendorSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<VendorCreditSummary[], "vendorCreditView/fetchVendorCreditsForVendorSuccess">, fetchVendorCreditsForVendorFailure: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<ZeniAPIStatus<Record<string, unknown>> | undefined, "vendorCreditView/fetchVendorCreditsForVendorFailure">, updateVendorCreditLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<Partial<VendorCreditLocalData>, "vendorCreditView/updateVendorCreditLocalData">, clearVendorCreditView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"vendorCreditView/clearVendorCreditView">, clearVendorCreditsForVendor: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"vendorCreditView/clearVendorCreditsForVendor">;
12
+ declare const _default: import("redux").Reducer<import("./vendorCreditViewState").VendorCreditViewState>;
13
+ export default _default;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.clearVendorCreditsForVendor = exports.clearVendorCreditView = exports.updateVendorCreditLocalData = exports.fetchVendorCreditsForVendorFailure = exports.fetchVendorCreditsForVendorSuccess = exports.fetchVendorCreditsForVendor = exports.createVendorCreditFailure = exports.createVendorCreditSuccess = exports.createVendorCredit = void 0;
5
+ const toolkit_1 = require("@reduxjs/toolkit");
6
+ const vendorCreditViewState_1 = require("./vendorCreditViewState");
7
+ const vendorCreditView = (0, toolkit_1.createSlice)({
8
+ name: 'vendorCreditView',
9
+ initialState: vendorCreditViewState_1.initialVendorCreditViewState,
10
+ reducers: {
11
+ createVendorCredit: {
12
+ reducer(draft) {
13
+ draft.editVendorCreditDetail.saveStatus = {
14
+ fetchState: 'In-Progress',
15
+ error: undefined,
16
+ };
17
+ },
18
+ prepare(localData) {
19
+ return { payload: { localData } };
20
+ },
21
+ },
22
+ createVendorCreditSuccess(draft, action) {
23
+ draft.editVendorCreditDetail.saveStatus = {
24
+ fetchState: 'Completed',
25
+ error: undefined,
26
+ };
27
+ draft.editVendorCreditDetail.creditId = action.payload.creditId;
28
+ },
29
+ createVendorCreditFailure(draft, action) {
30
+ draft.editVendorCreditDetail.saveStatus = {
31
+ fetchState: 'Error',
32
+ error: action.payload,
33
+ };
34
+ },
35
+ fetchVendorCreditsForVendor: {
36
+ reducer(draft, action) {
37
+ draft.vendorCreditsForVendor.vendorId = action.payload.vendorId;
38
+ draft.vendorCreditsForVendor.fetchStatus = {
39
+ fetchState: 'In-Progress',
40
+ error: undefined,
41
+ };
42
+ },
43
+ prepare(vendorId) {
44
+ return { payload: { vendorId } };
45
+ },
46
+ },
47
+ fetchVendorCreditsForVendorSuccess(draft, action) {
48
+ draft.vendorCreditsForVendor.credits = action.payload;
49
+ draft.vendorCreditsForVendor.fetchStatus = {
50
+ fetchState: 'Completed',
51
+ error: undefined,
52
+ };
53
+ },
54
+ fetchVendorCreditsForVendorFailure(draft, action) {
55
+ draft.vendorCreditsForVendor.fetchStatus = {
56
+ fetchState: 'Error',
57
+ error: action.payload,
58
+ };
59
+ },
60
+ updateVendorCreditLocalData(draft, action) {
61
+ draft.editVendorCreditDetail.vendorCreditLocalData = {
62
+ ...draft.editVendorCreditDetail.vendorCreditLocalData,
63
+ ...action.payload,
64
+ };
65
+ },
66
+ clearVendorCreditView(draft) {
67
+ draft.editVendorCreditDetail = {
68
+ ...vendorCreditViewState_1.initialVendorCreditViewState.editVendorCreditDetail,
69
+ vendorCreditLocalData: { ...vendorCreditViewState_1.initialVendorCreditLocalData },
70
+ };
71
+ },
72
+ clearVendorCreditsForVendor(draft) {
73
+ draft.vendorCreditsForVendor = {
74
+ ...vendorCreditViewState_1.initialVendorCreditViewState.vendorCreditsForVendor,
75
+ };
76
+ },
77
+ },
78
+ });
79
+ _a = vendorCreditView.actions, exports.createVendorCredit = _a.createVendorCredit, exports.createVendorCreditSuccess = _a.createVendorCreditSuccess, exports.createVendorCreditFailure = _a.createVendorCreditFailure, exports.fetchVendorCreditsForVendor = _a.fetchVendorCreditsForVendor, exports.fetchVendorCreditsForVendorSuccess = _a.fetchVendorCreditsForVendorSuccess, exports.fetchVendorCreditsForVendorFailure = _a.fetchVendorCreditsForVendorFailure, exports.updateVendorCreditLocalData = _a.updateVendorCreditLocalData, exports.clearVendorCreditView = _a.clearVendorCreditView, exports.clearVendorCreditsForVendor = _a.clearVendorCreditsForVendor;
80
+ exports.default = vendorCreditView.reducer;
@@ -0,0 +1,16 @@
1
+ import { FetchStateAndError, ID } from '../../../../commonStateTypes/common';
2
+ import { RootState } from '../../../../reducer';
3
+ import { VendorCreditLocalData, VendorCreditSummary } from './vendorCreditViewState';
4
+ export interface VendorCreditEditSelectorView {
5
+ fetchStatus: FetchStateAndError;
6
+ saveStatus: FetchStateAndError;
7
+ vendorCreditLocalData: VendorCreditLocalData;
8
+ creditId?: ID;
9
+ }
10
+ export declare function getVendorCreditEditDetail(state: RootState): VendorCreditEditSelectorView;
11
+ export declare function getVendorCreditsForVendor(state: RootState): {
12
+ credits: VendorCreditSummary[];
13
+ fetchStatus: FetchStateAndError;
14
+ vendorId?: ID;
15
+ };
16
+ export declare function getAvailableVendorCreditsForVendor(state: RootState): VendorCreditSummary[];
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getVendorCreditEditDetail = getVendorCreditEditDetail;
4
+ exports.getVendorCreditsForVendor = getVendorCreditsForVendor;
5
+ exports.getAvailableVendorCreditsForVendor = getAvailableVendorCreditsForVendor;
6
+ function getVendorCreditEditDetail(state) {
7
+ const detail = state.vendorCreditViewState.editVendorCreditDetail;
8
+ return {
9
+ vendorCreditLocalData: detail.vendorCreditLocalData,
10
+ fetchStatus: detail.fetchStatus,
11
+ saveStatus: detail.saveStatus,
12
+ creditId: detail.creditId,
13
+ };
14
+ }
15
+ function getVendorCreditsForVendor(state) {
16
+ return state.vendorCreditViewState.vendorCreditsForVendor;
17
+ }
18
+ function getAvailableVendorCreditsForVendor(state) {
19
+ return state.vendorCreditViewState.vendorCreditsForVendor.credits.filter((c) => c.status === 'available');
20
+ }