@zeniai/client-epic-state 4.19.96-betaSS2 → 4.19.96
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/commonStateTypes/animations.d.ts +1 -1
- package/lib/entity/aiCfo/aiCfoSelector.d.ts +2 -1
- package/lib/entity/billPay/billTransaction/billTransactionState.d.ts +2 -2
- package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +0 -38
- package/lib/entity/jeSchedules/jeSchedulesPayload.js +0 -78
- package/lib/entity/jeSchedules/jeSchedulesSelector.d.ts +1 -4
- package/lib/entity/jeSchedules/jeSchedulesSelector.js +1 -5
- package/lib/entity/jeSchedules/jeSchedulesState.d.ts +0 -37
- package/lib/entity/tenant/tenantPayload.d.ts +0 -1
- package/lib/entity/tenant/tenantReducer.js +0 -1
- package/lib/entity/tenant/tenantSelector.d.ts +0 -1
- package/lib/entity/tenant/tenantSelector.js +1 -9
- package/lib/entity/tenant/tenantState.d.ts +0 -1
- package/lib/entity/transaction/payloadTypes/scheduleTransactionPayload.d.ts +1 -4
- package/lib/entity/transaction/payloadTypes/scheduleTransactionPayload.js +0 -1
- package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +0 -3
- package/lib/entity/transaction/payloadTypes/transactionPayload.js +0 -11
- package/lib/entity/transaction/stateTypes/scheduleTransaction.d.ts +0 -1
- package/lib/entity/transaction/stateTypes/transaction.d.ts +0 -3
- package/lib/entity/transaction/stateTypes/transactionLine.d.ts +1 -1
- package/lib/epic.d.ts +1 -2
- package/lib/epic.js +1 -2
- package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +0 -78
- package/lib/esm/entity/jeSchedules/jeSchedulesSelector.js +1 -5
- package/lib/esm/entity/tenant/tenantReducer.js +0 -1
- package/lib/esm/entity/tenant/tenantSelector.js +0 -7
- package/lib/esm/entity/transaction/payloadTypes/scheduleTransactionPayload.js +0 -1
- package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +0 -11
- package/lib/esm/epic.js +1 -2
- package/lib/esm/index.js +7 -8
- package/lib/esm/view/aiCfoView/aiCfoViewReducer.js +1 -82
- package/lib/esm/view/aiCfoView/aiCfoViewSelector.js +2 -8
- package/lib/esm/view/classList/fetchClassListEpic.js +2 -9
- package/lib/esm/view/commonVendorView/vendorView/vendorViewSelector.js +5 -15
- package/lib/esm/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewSelector.js +2 -6
- package/lib/esm/view/expenseAutomationView/expenseAutomationViewSelector.js +1 -0
- package/lib/esm/view/expenseAutomationView/helpers/saveTransactionHelper.js +2 -2
- package/lib/esm/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -2
- package/lib/esm/view/expenseAutomationView/reducers/jeSchedulesViewReducer.js +1 -17
- package/lib/esm/view/expenseAutomationView/selectors/fluxAnalysisViewSelector.js +2 -10
- package/lib/esm/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +6 -61
- package/lib/esm/view/expenseAutomationView/selectors/missingReceiptsSelector.js +4 -12
- package/lib/esm/view/expenseAutomationView/selectors/reconciliationViewSelector.js +9 -22
- package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +6 -12
- package/lib/esm/view/expenseAutomationView/types/jeSchedulesViewState.js +1 -17
- package/lib/esm/view/spendManagement/billPay/billList/billListSelector.js +0 -10
- package/lib/esm/view/spendManagement/billPay/billList/billListState.js +0 -1
- package/lib/esm/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +3 -7
- package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewSelector.js +5 -5
- package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPayApproversDetailsEpic.js +2 -7
- package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +6 -13
- package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardList.js +0 -1
- package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +0 -2
- package/lib/esm/view/spendManagement/reimbursement/editRemiView/editRemiViewSelector.js +4 -7
- package/lib/esm/view/spendManagement/reimbursement/remiListView/remiListSelector.js +0 -12
- package/lib/esm/view/spendManagement/reimbursement/remiListView/remiListState.js +0 -1
- package/lib/esm/view/taskManager/taskDetailView/taskDetailSelector.js +2 -2
- package/lib/esm/view/transactionDetail/epics/saveTransactionHelper.js +2 -2
- package/lib/esm/view/transactionDetail/transactionDetailLocalDataHelper.js +14 -16
- package/lib/index.d.ts +10 -13
- package/lib/index.js +32 -42
- package/lib/tsconfig.typecheck.tsbuildinfo +1 -0
- package/lib/view/aiCfoView/aiCfoViewPayload.d.ts +0 -7
- package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +1 -15
- package/lib/view/aiCfoView/aiCfoViewReducer.js +2 -83
- package/lib/view/aiCfoView/aiCfoViewSelector.d.ts +1 -4
- package/lib/view/aiCfoView/aiCfoViewSelector.js +2 -9
- package/lib/view/aiCfoView/aiCfoViewState.d.ts +1 -18
- package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
- package/lib/view/classList/fetchClassListEpic.d.ts +1 -1
- package/lib/view/classList/fetchClassListEpic.js +1 -8
- package/lib/view/commonVendorView/vendorView/vendorViewSelector.d.ts +0 -1
- package/lib/view/commonVendorView/vendorView/vendorViewSelector.js +5 -15
- package/lib/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewSelector.d.ts +0 -1
- package/lib/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewSelector.js +2 -6
- package/lib/view/expenseAutomationView/expenseAutomationViewSelector.js +1 -0
- package/lib/view/expenseAutomationView/helpers/saveTransactionHelper.js +2 -2
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -2
- package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.d.ts +2 -2
- package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.js +2 -18
- package/lib/view/expenseAutomationView/selectorTypes/jeSchedulesSelectorTypes.d.ts +0 -2
- package/lib/view/expenseAutomationView/selectors/fluxAnalysisViewSelector.js +2 -10
- package/lib/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +6 -61
- package/lib/view/expenseAutomationView/selectors/missingReceiptsSelector.js +4 -12
- package/lib/view/expenseAutomationView/selectors/reconciliationViewSelector.js +9 -22
- package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +5 -11
- package/lib/view/expenseAutomationView/types/jeSchedulesViewState.d.ts +0 -5
- package/lib/view/expenseAutomationView/types/jeSchedulesViewState.js +0 -19
- package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
- package/lib/view/spendManagement/billPay/billList/billListSelector.js +0 -10
- package/lib/view/spendManagement/billPay/billList/billListState.d.ts +1 -1
- package/lib/view/spendManagement/billPay/billList/billListState.js +0 -1
- package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +3 -7
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewSelector.js +5 -5
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPayApproversDetailsEpic.js +2 -7
- package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +6 -13
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.js +0 -1
- package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +0 -2
- package/lib/view/spendManagement/reimbursement/editRemiView/editRemiViewSelector.js +3 -6
- package/lib/view/spendManagement/reimbursement/remiListView/remiListSelector.d.ts +0 -1
- package/lib/view/spendManagement/reimbursement/remiListView/remiListSelector.js +0 -12
- package/lib/view/spendManagement/reimbursement/remiListView/remiListState.d.ts +1 -1
- package/lib/view/spendManagement/reimbursement/remiListView/remiListState.js +0 -1
- package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +2 -2
- package/lib/view/transactionDetail/epics/saveTransactionHelper.js +2 -2
- package/lib/view/transactionDetail/transactionDetailLocalDataHelper.js +14 -16
- package/package.json +1 -1
- package/lib/esm/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +0 -29
- package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.d.ts +0 -8
- package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +0 -33
|
@@ -38,7 +38,7 @@ export declare const toRemiSubTabTypeStrict: (v: string) => "rejected" | "failed
|
|
|
38
38
|
export type RemiSubTabType = ReturnType<typeof toRemiSubTabType>;
|
|
39
39
|
export declare const toRemiSubTabUnderScoreType: (v: string) => "rejected" | "failed" | "ach" | "wire" | "cancelled" | "deleted" | "overdue" | "all" | "awaiting_approval" | "awaiting_my_approval" | "my_drafts" | "awaiting_all_approval";
|
|
40
40
|
export type RemiSubTabUnderScoreType = ReturnType<typeof toRemiSubTabUnderScoreType>;
|
|
41
|
-
declare const toReimbursementSortKeyType: (v: string) => "amount" | "status" | "type" | "
|
|
41
|
+
declare const toReimbursementSortKeyType: (v: string) => "amount" | "status" | "type" | "submittedOn" | "reportName";
|
|
42
42
|
export type ReimbursementViewSortKey = ReturnType<typeof toReimbursementSortKeyType>;
|
|
43
43
|
export interface ReimbursementFilters {
|
|
44
44
|
categories: ReimbursementFilterCategory[];
|
|
@@ -78,8 +78,8 @@ const toTransactionUpdatesFromTransactionDetailLocalData = (transactionDetailLoc
|
|
|
78
78
|
lineItem.account?.qboId !== accountLine.account.qboId &&
|
|
79
79
|
Boolean(lineItem.account?.qboId);
|
|
80
80
|
hasClassChanged =
|
|
81
|
-
(lineItem.class?.qboId
|
|
82
|
-
lineItem.class?.qboId !== accountLine.class
|
|
81
|
+
Boolean(lineItem.class?.qboId) &&
|
|
82
|
+
lineItem.class?.qboId !== accountLine.class.qboId;
|
|
83
83
|
const recommendedAccountBase = (0, exports.toRecommendedAccountBase)(lineItem.amount.amount, lineItem.account);
|
|
84
84
|
const recommendedClassBase = (0, exports.toRecommendedClassBase)(lineItem.amount.amount, lineItem.class);
|
|
85
85
|
const latestRecommendedCategory = lineItem.recommendedAccount;
|
|
@@ -144,13 +144,13 @@ const buildLineItemById = (transaction, uncategorizedIncomeExpense, recommendati
|
|
|
144
144
|
record.isRetainedCategorySelected = false;
|
|
145
145
|
}
|
|
146
146
|
if (Boolean(recommendedClass?.qboId) &&
|
|
147
|
-
recommendedClass?.qboId !== accountLine.class
|
|
147
|
+
recommendedClass?.qboId !== accountLine.class.qboId) {
|
|
148
148
|
record.isRecommendedClassSelected = false;
|
|
149
149
|
record.recommendedClass = recommendedClass;
|
|
150
150
|
record.isClassUpdateSelected = false;
|
|
151
151
|
}
|
|
152
152
|
if (accountLine.isClassMiscategorized &&
|
|
153
|
-
Boolean(accountLine.class
|
|
153
|
+
Boolean(accountLine.class.qboId) &&
|
|
154
154
|
Boolean(isVendorOrCustomerPresent)) {
|
|
155
155
|
record.retainedClass = accountLine.class;
|
|
156
156
|
record.isRetainedClassSelected = false;
|
|
@@ -342,14 +342,14 @@ const toUpdateLineItemsOriginalCategoryClass = (transaction, transactionDetailLo
|
|
|
342
342
|
}
|
|
343
343
|
};
|
|
344
344
|
const updateClass = () => {
|
|
345
|
-
if (recommendedClass?.qboId !== accountLine.class
|
|
345
|
+
if (recommendedClass?.qboId !== accountLine.class.qboId &&
|
|
346
346
|
Boolean(recommendedClass?.qboId)) {
|
|
347
347
|
record.class = accountLine.class;
|
|
348
348
|
record.isRecommendedClassSelected = false;
|
|
349
349
|
record.recommendedClass = recommendedClass;
|
|
350
350
|
record.isClassUpdateSelected = false;
|
|
351
351
|
if (accountLine.isClassMiscategorized &&
|
|
352
|
-
Boolean(accountLine.class
|
|
352
|
+
Boolean(accountLine.class.qboId) &&
|
|
353
353
|
Boolean(isVendorOrCustomerPresent)) {
|
|
354
354
|
record.retainedClass = accountLine.class;
|
|
355
355
|
record.isRetainedClassSelected = false;
|
|
@@ -362,7 +362,7 @@ const toUpdateLineItemsOriginalCategoryClass = (transaction, transactionDetailLo
|
|
|
362
362
|
record.recommendedClass = recommendedClass;
|
|
363
363
|
record.isClassUpdateSelected = false;
|
|
364
364
|
if (accountLine.isClassMiscategorized &&
|
|
365
|
-
Boolean(accountLine.class
|
|
365
|
+
Boolean(accountLine.class.qboId) &&
|
|
366
366
|
Boolean(isVendorOrCustomerPresent)) {
|
|
367
367
|
record.retainedClass = recommendedClass;
|
|
368
368
|
record.isRetainedClassSelected = false;
|
|
@@ -659,13 +659,13 @@ const setEntityRecommendationForLineIdInLocalData = (transaction, transactionDet
|
|
|
659
659
|
record.isRetainedCategorySelected = false;
|
|
660
660
|
}
|
|
661
661
|
}
|
|
662
|
-
if (recommendedClass?.qboId !== accountLine.class
|
|
662
|
+
if (recommendedClass?.qboId !== accountLine.class.qboId &&
|
|
663
663
|
Boolean(recommendedClass?.qboId)) {
|
|
664
664
|
record.isRecommendedClassSelected = false;
|
|
665
665
|
record.recommendedClass = recommendedClass;
|
|
666
666
|
record.isClassUpdateSelected = false;
|
|
667
667
|
if (accountLine.isClassMiscategorized &&
|
|
668
|
-
Boolean(accountLine.class
|
|
668
|
+
Boolean(accountLine.class.qboId)) {
|
|
669
669
|
record.retainedClass = accountLine.class;
|
|
670
670
|
record.isRetainedClassSelected = false;
|
|
671
671
|
}
|
|
@@ -673,12 +673,12 @@ const setEntityRecommendationForLineIdInLocalData = (transaction, transactionDet
|
|
|
673
673
|
else {
|
|
674
674
|
record.isRecommendedClassSelected = false;
|
|
675
675
|
record.recommendedClass = recommendedClass;
|
|
676
|
-
if (recommendedClass?.qboId === accountLine.class
|
|
676
|
+
if (recommendedClass?.qboId === accountLine.class.qboId) {
|
|
677
677
|
record.recommendedClass = undefined;
|
|
678
678
|
}
|
|
679
679
|
record.isClassUpdateSelected = false;
|
|
680
680
|
if (accountLine.isClassMiscategorized &&
|
|
681
|
-
Boolean(accountLine.class
|
|
681
|
+
Boolean(accountLine.class.qboId)) {
|
|
682
682
|
record.retainedClass = recommendedClass;
|
|
683
683
|
record.isRetainedClassSelected = false;
|
|
684
684
|
}
|
|
@@ -694,7 +694,7 @@ const setEntityRecommendationForLineIdInLocalData = (transaction, transactionDet
|
|
|
694
694
|
Boolean(recommendedAccount?.qboId) !== false) {
|
|
695
695
|
record.account = recommendedAccount;
|
|
696
696
|
}
|
|
697
|
-
if (Boolean(record.class
|
|
697
|
+
if (Boolean(record.class.qboId) === false &&
|
|
698
698
|
Boolean(recommendedClass?.qboId) !== false) {
|
|
699
699
|
record.class = recommendedClass;
|
|
700
700
|
}
|
|
@@ -817,9 +817,7 @@ const getChangedLineItemCountFromLocalData = (transaction, transactionLocalData)
|
|
|
817
817
|
accountLineLocal.account?.qboId !== accountLine.account.qboId &&
|
|
818
818
|
accountLineLocal.account?.accountId !== accountLine.account.accountId;
|
|
819
819
|
hasClassChanged =
|
|
820
|
-
|
|
821
|
-
accountLine.class?.qboId != null) &&
|
|
822
|
-
accountLineLocal.class?.qboId !== accountLine.class?.qboId;
|
|
820
|
+
accountLineLocal.class?.qboId !== accountLine.class.qboId;
|
|
823
821
|
}
|
|
824
822
|
hasDescriptionChanged =
|
|
825
823
|
transactionLocalData.lineItemById[lineId] != null
|
|
@@ -959,10 +957,10 @@ const toUpdateLineItemsToOriginalVendor = (transaction, transactionDetailLocalDa
|
|
|
959
957
|
record.isRecommendedClassSelected = false;
|
|
960
958
|
record.recommendedClass = recommendedClass;
|
|
961
959
|
record.isClassUpdateSelected = false;
|
|
962
|
-
if (recommendedClass?.qboId !== accountLine.class
|
|
960
|
+
if (recommendedClass?.qboId !== accountLine.class.qboId &&
|
|
963
961
|
Boolean(recommendedClass?.qboId)) {
|
|
964
962
|
if (accountLine.isClassMiscategorized &&
|
|
965
|
-
Boolean(accountLine.class
|
|
963
|
+
Boolean(accountLine.class.qboId) &&
|
|
966
964
|
Boolean(isVendorOrCustomerPresent)) {
|
|
967
965
|
record.retainedClass = accountLine.class;
|
|
968
966
|
record.isRetainedClassSelected = false;
|
|
@@ -975,7 +973,7 @@ const toUpdateLineItemsToOriginalVendor = (transaction, transactionDetailLocalDa
|
|
|
975
973
|
record.recommendedClass = recommendedClass;
|
|
976
974
|
record.isClassUpdateSelected = false;
|
|
977
975
|
if (accountLine.isClassMiscategorized &&
|
|
978
|
-
Boolean(accountLine.class
|
|
976
|
+
Boolean(accountLine.class.qboId) &&
|
|
979
977
|
Boolean(isVendorOrCustomerPresent)) {
|
|
980
978
|
record.retainedClass = recommendedClass;
|
|
981
979
|
record.isRetainedClassSelected = false;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "4.19.96
|
|
3
|
+
"version": "4.19.96",
|
|
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
|
"module": "lib/esm/index.js",
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { of } from 'rxjs';
|
|
2
|
-
import { catchError, filter, mergeMap } from 'rxjs/operators';
|
|
3
|
-
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
4
|
-
import { fetchSuggestedQuestions, fetchSuggestedQuestionsFailure, fetchSuggestedQuestionsSuccess, } from '../aiCfoViewReducer';
|
|
5
|
-
/** GET {aiCfoMicroServiceBaseUrl}/1.0/suggested-questions?page_context=... */
|
|
6
|
-
export const fetchSuggestedQuestionsEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchSuggestedQuestions.match),
|
|
7
|
-
// mergeMap (not switchMap): each page_context is keyed separately in Redux; switchMap
|
|
8
|
-
// would cancel in-flight HTTP for context A when B is requested, leaving A stuck In-Progress.
|
|
9
|
-
mergeMap((action) => {
|
|
10
|
-
const { pageContext } = action.payload;
|
|
11
|
-
const query = new URLSearchParams({ page_context: pageContext });
|
|
12
|
-
const url = `${zeniAPI.apiEndPoints.aiCfoMicroServiceBaseUrl}/1.0/suggested-questions?${query.toString()}`;
|
|
13
|
-
return zeniAPI.getJSON(url).pipe(mergeMap((response) => {
|
|
14
|
-
if (isSuccessResponse(response) && response.data != null) {
|
|
15
|
-
return of(fetchSuggestedQuestionsSuccess({
|
|
16
|
-
pageContext: response.data.page_context,
|
|
17
|
-
generatedAt: response.data.generated_at,
|
|
18
|
-
suggestedQuestions: response.data.suggested_questions,
|
|
19
|
-
}));
|
|
20
|
-
}
|
|
21
|
-
return of(fetchSuggestedQuestionsFailure({
|
|
22
|
-
pageContext,
|
|
23
|
-
error: response.status,
|
|
24
|
-
}));
|
|
25
|
-
}), catchError((error) => of(fetchSuggestedQuestionsFailure({
|
|
26
|
-
pageContext,
|
|
27
|
-
error: createZeniAPIStatus('Unexpected Error', 'Fetch suggested questions REST API call failed', error instanceof Error ? { message: error.message } : undefined),
|
|
28
|
-
}))));
|
|
29
|
-
}));
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ActionsObservable, StateObservable } from 'redux-observable';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { RootState } from '../../../reducer';
|
|
4
|
-
import { ZeniAPI } from '../../../zeniAPI';
|
|
5
|
-
import { fetchSuggestedQuestions, fetchSuggestedQuestionsFailure, fetchSuggestedQuestionsSuccess } from '../aiCfoViewReducer';
|
|
6
|
-
export type ActionType = ReturnType<typeof fetchSuggestedQuestions> | ReturnType<typeof fetchSuggestedQuestionsSuccess> | ReturnType<typeof fetchSuggestedQuestionsFailure>;
|
|
7
|
-
/** GET {aiCfoMicroServiceBaseUrl}/1.0/suggested-questions?page_context=... */
|
|
8
|
-
export declare const fetchSuggestedQuestionsEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fetchSuggestedQuestionsEpic = void 0;
|
|
4
|
-
const rxjs_1 = require("rxjs");
|
|
5
|
-
const operators_1 = require("rxjs/operators");
|
|
6
|
-
const responsePayload_1 = require("../../../responsePayload");
|
|
7
|
-
const aiCfoViewReducer_1 = require("../aiCfoViewReducer");
|
|
8
|
-
/** GET {aiCfoMicroServiceBaseUrl}/1.0/suggested-questions?page_context=... */
|
|
9
|
-
const fetchSuggestedQuestionsEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(aiCfoViewReducer_1.fetchSuggestedQuestions.match),
|
|
10
|
-
// mergeMap (not switchMap): each page_context is keyed separately in Redux; switchMap
|
|
11
|
-
// would cancel in-flight HTTP for context A when B is requested, leaving A stuck In-Progress.
|
|
12
|
-
(0, operators_1.mergeMap)((action) => {
|
|
13
|
-
const { pageContext } = action.payload;
|
|
14
|
-
const query = new URLSearchParams({ page_context: pageContext });
|
|
15
|
-
const url = `${zeniAPI.apiEndPoints.aiCfoMicroServiceBaseUrl}/1.0/suggested-questions?${query.toString()}`;
|
|
16
|
-
return zeniAPI.getJSON(url).pipe((0, operators_1.mergeMap)((response) => {
|
|
17
|
-
if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
|
|
18
|
-
return (0, rxjs_1.of)((0, aiCfoViewReducer_1.fetchSuggestedQuestionsSuccess)({
|
|
19
|
-
pageContext: response.data.page_context,
|
|
20
|
-
generatedAt: response.data.generated_at,
|
|
21
|
-
suggestedQuestions: response.data.suggested_questions,
|
|
22
|
-
}));
|
|
23
|
-
}
|
|
24
|
-
return (0, rxjs_1.of)((0, aiCfoViewReducer_1.fetchSuggestedQuestionsFailure)({
|
|
25
|
-
pageContext,
|
|
26
|
-
error: response.status,
|
|
27
|
-
}));
|
|
28
|
-
}), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, aiCfoViewReducer_1.fetchSuggestedQuestionsFailure)({
|
|
29
|
-
pageContext,
|
|
30
|
-
error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Fetch suggested questions REST API call failed', error instanceof Error ? { message: error.message } : undefined),
|
|
31
|
-
}))));
|
|
32
|
-
}));
|
|
33
|
-
exports.fetchSuggestedQuestionsEpic = fetchSuggestedQuestionsEpic;
|