@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.
- package/lib/entity/accountRecon/accountReconState.d.ts +1 -1
- package/lib/entity/accountRecon/accountReconState.js +0 -1
- package/lib/epic.js +3 -1
- package/lib/esm/entity/accountRecon/accountReconState.js +0 -1
- package/lib/esm/epic.js +3 -1
- package/lib/esm/index.js +7 -2
- package/lib/esm/reducer.js +4 -0
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +0 -2
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic.js +0 -1
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.js +5 -37
- package/lib/esm/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementDocumentAIHelper.js +1 -2
- package/lib/esm/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +6 -0
- package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewReducer.js +13 -1
- package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +1 -0
- package/lib/esm/view/spendManagement/billPay/editBillView/epics/saveBillDetailEpic.js +1 -0
- package/lib/esm/view/spendManagement/billPay/vendorCreditView/epics/createVendorCreditEpic.js +44 -0
- package/lib/esm/view/spendManagement/billPay/vendorCreditView/epics/fetchVendorCreditsForVendorEpic.js +17 -0
- package/lib/esm/view/spendManagement/billPay/vendorCreditView/epics/vendorCreditPayloadMapper.js +19 -0
- package/lib/esm/view/spendManagement/billPay/vendorCreditView/vendorCreditViewPayload.js +1 -0
- package/lib/esm/view/spendManagement/billPay/vendorCreditView/vendorCreditViewReducer.js +76 -0
- package/lib/esm/view/spendManagement/billPay/vendorCreditView/vendorCreditViewSelector.js +15 -0
- package/lib/esm/view/spendManagement/billPay/vendorCreditView/vendorCreditViewState.js +33 -0
- package/lib/index.d.ts +9 -2
- package/lib/index.js +42 -22
- package/lib/reducer.d.ts +3 -0
- package/lib/reducer.js +4 -0
- package/lib/tsconfig.typecheck.tsbuildinfo +1 -0
- package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +0 -2
- package/lib/view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic.js +0 -1
- package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.js +5 -37
- package/lib/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementDocumentAIHelper.d.ts +1 -1
- package/lib/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementDocumentAIHelper.js +1 -2
- package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +1 -4
- package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.d.ts +2 -0
- package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +6 -0
- package/lib/view/spendManagement/billPay/editBillView/editBillViewReducer.d.ts +6 -1
- package/lib/view/spendManagement/billPay/editBillView/editBillViewReducer.js +14 -2
- package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.d.ts +1 -0
- package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +1 -0
- package/lib/view/spendManagement/billPay/editBillView/editBillViewState.d.ts +1 -0
- package/lib/view/spendManagement/billPay/editBillView/epics/saveBillDetailEpic.d.ts +1 -0
- package/lib/view/spendManagement/billPay/editBillView/epics/saveBillDetailEpic.js +1 -0
- package/lib/view/spendManagement/billPay/vendorCreditView/epics/createVendorCreditEpic.d.ts +28 -0
- package/lib/view/spendManagement/billPay/vendorCreditView/epics/createVendorCreditEpic.js +48 -0
- package/lib/view/spendManagement/billPay/vendorCreditView/epics/fetchVendorCreditsForVendorEpic.d.ts +12 -0
- package/lib/view/spendManagement/billPay/vendorCreditView/epics/fetchVendorCreditsForVendorEpic.js +21 -0
- package/lib/view/spendManagement/billPay/vendorCreditView/epics/vendorCreditPayloadMapper.d.ts +3 -0
- package/lib/view/spendManagement/billPay/vendorCreditView/epics/vendorCreditPayloadMapper.js +25 -0
- package/lib/view/spendManagement/billPay/vendorCreditView/vendorCreditViewPayload.d.ts +22 -0
- package/lib/view/spendManagement/billPay/vendorCreditView/vendorCreditViewPayload.js +2 -0
- package/lib/view/spendManagement/billPay/vendorCreditView/vendorCreditViewReducer.d.ts +13 -0
- package/lib/view/spendManagement/billPay/vendorCreditView/vendorCreditViewReducer.js +80 -0
- package/lib/view/spendManagement/billPay/vendorCreditView/vendorCreditViewSelector.d.ts +16 -0
- package/lib/view/spendManagement/billPay/vendorCreditView/vendorCreditViewSelector.js +20 -0
- package/lib/view/spendManagement/billPay/vendorCreditView/vendorCreditViewState.d.ts +45 -0
- package/lib/view/spendManagement/billPay/vendorCreditView/vendorCreditViewState.js +36 -0
- 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,
|
|
@@ -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:
|
|
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 (
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
13
|
+
export default function uploadAccountStatementIntoDocumentAI(accountType: AccountType, fileBlob: Blob, authParams: AuthParams): Promise<UploadStatementDocumentAIPayload | undefined>;
|
package/lib/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementDocumentAIHelper.js
CHANGED
|
@@ -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
|
|
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
|
|
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;
|
|
@@ -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;
|
package/lib/view/spendManagement/billPay/vendorCreditView/epics/fetchVendorCreditsForVendorEpic.d.ts
ADDED
|
@@ -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 {};
|
package/lib/view/spendManagement/billPay/vendorCreditView/epics/fetchVendorCreditsForVendorEpic.js
ADDED
|
@@ -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,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,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
|
+
}
|