@zeniai/client-epic-state 5.0.68 → 5.0.69-beta0RJ
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/scheduleActivityLog/scheduleActivityLogPayload.d.ts +36 -0
- package/lib/entity/scheduleActivityLog/scheduleActivityLogPayload.js +82 -0
- package/lib/entity/scheduleActivityLog/scheduleActivityLogReducer.d.ts +6 -0
- package/lib/entity/scheduleActivityLog/scheduleActivityLogReducer.js +27 -0
- package/lib/entity/scheduleActivityLog/scheduleActivityLogSelector.d.ts +4 -0
- package/lib/entity/scheduleActivityLog/scheduleActivityLogSelector.js +17 -0
- package/lib/entity/scheduleActivityLog/scheduleActivityLogState.d.ts +56 -0
- package/lib/entity/scheduleActivityLog/scheduleActivityLogState.js +23 -0
- package/lib/epic.d.ts +2 -1
- package/lib/epic.js +2 -1
- package/lib/esm/entity/scheduleActivityLog/scheduleActivityLogPayload.js +76 -0
- package/lib/esm/entity/scheduleActivityLog/scheduleActivityLogReducer.js +23 -0
- package/lib/esm/entity/scheduleActivityLog/scheduleActivityLogSelector.js +10 -0
- package/lib/esm/entity/scheduleActivityLog/scheduleActivityLogState.js +19 -0
- package/lib/esm/epic.js +2 -1
- package/lib/esm/index.js +2 -0
- package/lib/esm/reducer.js +6 -0
- package/lib/esm/view/scheduleActivityLogView/fetchScheduleActivityLogEpic.js +67 -0
- package/lib/esm/view/scheduleActivityLogView/scheduleActivityLogViewPayload.js +1 -0
- package/lib/esm/view/scheduleActivityLogView/scheduleActivityLogViewReducer.js +47 -0
- package/lib/esm/view/scheduleActivityLogView/scheduleActivityLogViewSelector.js +33 -0
- package/lib/esm/view/scheduleActivityLogView/scheduleActivityLogViewState.js +1 -0
- package/lib/esm/view/scheduleView/scheduleDetailView/epics/fetchScheduleDetailsPageEpic.js +4 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +6 -1
- package/lib/reducer.d.ts +6 -0
- package/lib/reducer.js +6 -0
- package/lib/view/scheduleActivityLogView/fetchScheduleActivityLogEpic.d.ts +11 -0
- package/lib/view/scheduleActivityLogView/fetchScheduleActivityLogEpic.js +72 -0
- package/lib/view/scheduleActivityLogView/scheduleActivityLogViewPayload.d.ts +8 -0
- package/lib/view/scheduleActivityLogView/scheduleActivityLogViewPayload.js +2 -0
- package/lib/view/scheduleActivityLogView/scheduleActivityLogViewReducer.d.ts +17 -0
- package/lib/view/scheduleActivityLogView/scheduleActivityLogViewReducer.js +51 -0
- package/lib/view/scheduleActivityLogView/scheduleActivityLogViewSelector.d.ts +8 -0
- package/lib/view/scheduleActivityLogView/scheduleActivityLogViewSelector.js +36 -0
- package/lib/view/scheduleActivityLogView/scheduleActivityLogViewState.d.ts +5 -0
- package/lib/view/scheduleActivityLogView/scheduleActivityLogViewState.js +2 -0
- package/lib/view/scheduleView/scheduleDetailView/epics/fetchScheduleDetailsPageEpic.d.ts +2 -1
- package/lib/view/scheduleView/scheduleDetailView/epics/fetchScheduleDetailsPageEpic.js +4 -0
- package/package.json +2 -2
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { date } from '../../zeniDayJS';
|
|
2
|
+
import { mapAccountBasePayloadToAccountBase, } from '../account/accountPayload';
|
|
3
|
+
import { mapClassBasePayloadToClassBase, } from '../class/classPayload';
|
|
4
|
+
import { toAISummary, } from '../transaction/payloadTypes/transactionLinePayload';
|
|
5
|
+
import { mapVendorBasePayloadToVendorBase, } from '../vendor/vendorPayload';
|
|
6
|
+
import { toScheduleActivityLogEventType, } from './scheduleActivityLogState';
|
|
7
|
+
export const toScheduleActivityLogId = (correlationId, eventType, lineId) => `${correlationId}-${eventType}-${lineId ?? '1'}`;
|
|
8
|
+
// Phase 2: deduped one-time warns so a single malformed backend payload does
|
|
9
|
+
// not spam the console on every render. Keys are intentionally specific (id +
|
|
10
|
+
// side) so distinct gaps still surface.
|
|
11
|
+
const warnedPayloadKeys = new Set();
|
|
12
|
+
const warnPayloadOnce = (key, message, payload) => {
|
|
13
|
+
if (warnedPayloadKeys.has(key)) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
warnedPayloadKeys.add(key);
|
|
17
|
+
console.warn(message, payload);
|
|
18
|
+
};
|
|
19
|
+
const toScheduleActivityLogLine = (line) => {
|
|
20
|
+
// Tolerate a null/undefined line; treat every field as missing rather than
|
|
21
|
+
// throwing on `undefined.schedule_memo`. Caller is responsible for emitting
|
|
22
|
+
// any contextual warn (we don't have id here).
|
|
23
|
+
const safe = line ?? {};
|
|
24
|
+
const memo = safe.schedule_memo ?? safe.transaction_memo;
|
|
25
|
+
return {
|
|
26
|
+
account: safe.account
|
|
27
|
+
? mapAccountBasePayloadToAccountBase(safe.account)
|
|
28
|
+
: undefined,
|
|
29
|
+
class: safe.accounting_class
|
|
30
|
+
? mapClassBasePayloadToClassBase(safe.accounting_class)
|
|
31
|
+
: undefined,
|
|
32
|
+
vendor: safe.vendor
|
|
33
|
+
? mapVendorBasePayloadToVendorBase(safe.vendor)
|
|
34
|
+
: undefined,
|
|
35
|
+
memo,
|
|
36
|
+
description: safe.line_description,
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
const toTransaction = (transaction, correlationId, userId) => {
|
|
40
|
+
if (transaction == null) {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
if (transaction.original_line == null) {
|
|
44
|
+
warnPayloadOnce(`missingLine:${correlationId}:original_line`, '[scheduleActivityLog] missing line payload', { correlationId, side: 'original_line' });
|
|
45
|
+
}
|
|
46
|
+
if (transaction.updated_line == null) {
|
|
47
|
+
warnPayloadOnce(`missingLine:${correlationId}:updated_line`, '[scheduleActivityLog] missing line payload', { correlationId, side: 'updated_line' });
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
lineId: transaction.line_id,
|
|
51
|
+
originalLine: toScheduleActivityLogLine(transaction.original_line),
|
|
52
|
+
updatedLine: toScheduleActivityLogLine(transaction.updated_line),
|
|
53
|
+
correlationId,
|
|
54
|
+
userId,
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
export const toScheduleActivityLogData = (data, correlationId, eventType) => {
|
|
58
|
+
if (data.transaction == null) {
|
|
59
|
+
warnPayloadOnce(`missingTransaction:${correlationId}`, '[scheduleActivityLog] data.transaction missing', { correlationId, eventType });
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
aiSummaries: (data.ai_summaries ?? []).map(toAISummary),
|
|
63
|
+
transaction: toTransaction(data.transaction, correlationId, data.user_id),
|
|
64
|
+
user: undefined,
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
export const toScheduleActivityLog = (payload) => {
|
|
68
|
+
return {
|
|
69
|
+
id: toScheduleActivityLogId(payload.correlation_id, payload.event_type, payload.data?.transaction?.line_id),
|
|
70
|
+
data: payload.data != null
|
|
71
|
+
? toScheduleActivityLogData(payload.data, payload.correlation_id, payload.event_type)
|
|
72
|
+
: null,
|
|
73
|
+
eventType: toScheduleActivityLogEventType(payload.event_type),
|
|
74
|
+
createTime: date(payload.create_time),
|
|
75
|
+
};
|
|
76
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createSlice } from '@reduxjs/toolkit';
|
|
2
|
+
import { toScheduleActivityLog, } from './scheduleActivityLogPayload';
|
|
3
|
+
export const initialState = {
|
|
4
|
+
scheduleActivityLogById: {},
|
|
5
|
+
};
|
|
6
|
+
const scheduleActivityLog = createSlice({
|
|
7
|
+
name: 'scheduleActivityLog',
|
|
8
|
+
initialState,
|
|
9
|
+
reducers: {
|
|
10
|
+
updateScheduleActivityLogs(draft, action) {
|
|
11
|
+
action.payload.forEach((scheduleActivityLogPayload) => {
|
|
12
|
+
const scheduleActivityLog = toScheduleActivityLog(scheduleActivityLogPayload);
|
|
13
|
+
draft.scheduleActivityLogById[scheduleActivityLog.id] =
|
|
14
|
+
scheduleActivityLog;
|
|
15
|
+
});
|
|
16
|
+
},
|
|
17
|
+
clearAllScheduleActivityLogs(draft) {
|
|
18
|
+
draft.scheduleActivityLogById = {};
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
export const { updateScheduleActivityLogs, clearAllScheduleActivityLogs } = scheduleActivityLog.actions;
|
|
23
|
+
export default scheduleActivityLog.reducer;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import recordGet from 'lodash/get';
|
|
2
|
+
export function getScheduleActivityLogsByIds(scheduleActivityLogState, scheduleActivityLogIds) {
|
|
3
|
+
const scheduleActivityLogs = scheduleActivityLogIds
|
|
4
|
+
.map((scheduleActivityLogId) => getScheduleActivityLogById(scheduleActivityLogState, scheduleActivityLogId))
|
|
5
|
+
.filter((value) => value != null);
|
|
6
|
+
return scheduleActivityLogs;
|
|
7
|
+
}
|
|
8
|
+
export function getScheduleActivityLogById(scheduleActivityLogState, scheduleActivityLogId) {
|
|
9
|
+
return recordGet(scheduleActivityLogState.scheduleActivityLogById, scheduleActivityLogId, undefined);
|
|
10
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { stringToUnion } from '../../commonStateTypes/stringToUnion';
|
|
2
|
+
/**
|
|
3
|
+
* Phase 1 retains a small placeholder union; Phase 2 will extend with real
|
|
4
|
+
* schedule event types (schedule.created, agent_je.detected, agent_je.drafted,
|
|
5
|
+
* je.posted, schedule.user_update.<field>, etc.) once the backend contract is
|
|
6
|
+
* finalised. Keeping the union narrow lets `toScheduleActivityLogEventType`
|
|
7
|
+
* fall back to the raw string for unknown events without throwing.
|
|
8
|
+
*/
|
|
9
|
+
export const ALL_SCHEDULE_ACTIVITY_LOG_EVENT_TYPE = [
|
|
10
|
+
'schedule.created',
|
|
11
|
+
'schedule.user_update',
|
|
12
|
+
'agent_je.detected',
|
|
13
|
+
'agent_je.eligible',
|
|
14
|
+
'agent_je.deleted',
|
|
15
|
+
'agent_je.drafted',
|
|
16
|
+
'je.posted',
|
|
17
|
+
'transaction.sync_database',
|
|
18
|
+
];
|
|
19
|
+
export const toScheduleActivityLogEventType = (v) => stringToUnion(v, ALL_SCHEDULE_ACTIVITY_LOG_EVENT_TYPE);
|
package/lib/esm/epic.js
CHANGED
|
@@ -286,6 +286,7 @@ import { fetchRevenueClassesViewEpic, } from './view/revenueClassesView/revenueC
|
|
|
286
286
|
import { fetchRevenueForTimeframeClassesViewEpic, } from './view/revenueClassesView/revenueForTimeframeClassesViewEpic';
|
|
287
287
|
import { fetchReviewCompanyViewEpic, } from './view/reviewCompanyView/fetchReviewCompanyViewEpic';
|
|
288
288
|
import { retryBankAccountConnectionEpic, } from './view/reviewCompanyView/retryBankAccountConnectionEpic';
|
|
289
|
+
import { fetchScheduleActivityLogEpic, } from './view/scheduleActivityLogView/fetchScheduleActivityLogEpic';
|
|
289
290
|
import { cancelScheduleAccruedJournalEntryEpic, } from './view/scheduleView/scheduleAccruedDetailView/epics/cancelScheduleAccruedJournalEntryEpic';
|
|
290
291
|
import { createNewSchedulesAccruedEpic, } from './view/scheduleView/scheduleAccruedDetailView/epics/createNewSchedulesAccruedEpic';
|
|
291
292
|
import { deleteScheduleAccruedDetailEpic, } from './view/scheduleView/scheduleAccruedDetailView/epics/deleteScheduleAccruedDetailEpic';
|
|
@@ -578,7 +579,7 @@ import { fetchZeniAccStatementPageEpic, } from './view/zeniAccStatementList/fetc
|
|
|
578
579
|
import { fetchZeniAccountsPromoCardEpic, } from './view/zeniAccountsPromoCard/zeniAccountsPromoCardEpic';
|
|
579
580
|
import { approveOAuthConsentEpic, } from './view/zeniOAuthView/epics/approveOAuthConsentEpic';
|
|
580
581
|
// Note: Please maintain strict alphabetical order
|
|
581
|
-
const combinedEpics = combineEpics(acceptBillPayTermsEpic, acceptBillPayUpdatedTermsEpic, acceptChargeCardTermsEpic, acceptEmployeeRemiTermsEpic, acceptMasterTOSEpic, acceptRemiTermsEpic, acceptTreasuryTermsEpic, acceptZeniAccountTermsEpic, addCardPaymentSourceEpic, approveOAuthConsentEpic, approveOrRejectBillEpic, approveOrRejectBillsBulkActionEpic, approveOrRejectRemiEpic, approveOrRejectRemisBulkActionEpic, approveVendorGlobalReviewEpic, archiveTaskEpic, backgroundRefetchReviewTabEpic, bulkUpdateTaskListEpic, cancelAiAccountantOnboardingEpic, cancelAndDeleteBillEpic, cancelAndDeleteRemiEpic, cancelOrDeleteBillsBulkActionEpic, cancelOrDeleteRemisBulkActionEpic, cancelScheduleAccruedJournalEntryEpic, changeZeniPersonRolesEpic, checkDepositEpic, clearAllEpic, closeChargeCardEpic, closeChargeCardsEpic, companyManagementSavePendingUpdatesEpic, companyManagementSaveUpdatesEpic, confirmCardSetupIntentEpic, convertAmountToHomeCurrencyEpic, createAddressEpic, createAutoTransferRuleEpic, createBankAccountEpic, createCardSetupIntentEpic, createCheckingAccountEpic, createCompanyAddressEpic, createCompanyOfficersEpic, createCompanyUserAddressEpic, createGlobalMerchantEpic, createInternationalBankAccountEpic, createNewSchedulesAccruedEpic, createNewSchedulesEpic, createNewTaskGroupEpic, createPaymentInstrumentEpic, createSessionAndSubmitEpic, createSessionEpic, createTagEpic, createTaskFromTaskGroupTemplateEpic, createUserBankAccountEpic, deleteAccountStatementEpic, deleteAutoTransferRuleEpic, excludeAccountFromReconciliationEpic, includeAccountInReconciliationEpic, deleteBankAccountEpic, deleteBillEpic, deleteChatSessionEpic, deleteConnectionEpic, deleteBillPayApprovalRuleEpic, deleteFileEpic, deleteFileListEpic, deleteInternationalBankAccountEpic, deletePaymentInstrumentEpic, deletePersonEpic, deleteRemiApprovalRuleEpic, deleteRemiEpic, deleteScheduleAccruedDetailEpic, deleteScheduleDetailEpic, deleteTagEpic, deleteTaskEpic, snoozeTaskEpic, unsnoozeTaskEpic, deleteTaskGroupEpic, deleteTransactionAttachmentEpic, deleteUserBankAccountEpic, doMagicLinkSignInEpic, doSignInEpic, doSignOutEpic, sendEmailMagicLinkToUserEpic, sessionHeartbeatEpic, verifyDeviceWithTwoFAEpic, downloadAccountingProviderAttachmentEpic, dragNDropTasksEpic, enableChargeCardAutoPayEpic, enableSetupEpic, establishOnboardingPlaidConnectionEpic, establishPlaidConnectionEpic, expressInterestChargeCardEpic, fetchAccountListEpic, fetchAccountListForAccountTypesEpic, fetchAccountSettingsListForAccountTypesEpic, fetchAccruedScheduleListEpic, fetchActiveTenantEpic, fetchAddressEpic, fetchAiAccountantCustomersEpic, fetchAiAccountantJobsEpic, fetchAllCockpitViewsEpic, fetchAllExpenseAutomationTabsEpic, fetchAllPeopleRequiredViewsEpic, fetchAllTagsEpic, fetchAllTaskGroupsEpic, fetchAllTenantsEpic, fetchAndUpdateVendorRecommendationsEpic, fetchAggregatedReportEpic, fetchApAgingDetailEpic, fetchApAgingEpic, fetchArAgingDetailEpic, fetchArAgingEpic, fetchAuditReportGroupViewEpic, fetchAuditRuleGroupViewEpic, fetchAutoTransferReviewDetailEpic, fetchAutoTransferRuleHistoryEpic, fetchAutoTransferRulesEpic, fetchBalanceSheetEpic, fetchBalanceSheetForTimeframeEpic, fetchBankAccountsListEpic, fetchBankConnectionsViewEpic, fetchBankCountryNameByIbanEpic, fetchBankNameByRoutingEpic, fetchBankNameBySwiftEpic, fetchBillAndInitializeLocalStoreEpic, fetchBillDetailEpic, fetchBillingAccountsListEpic, fetchBillListEpic, fetchBillListPerTabEpic, fetchBillPayApproversDetailsEpic, fetchBillPayApproversListEpic, fetchBillPayCardEpic, fetchBillPayConfigEpic, fetchBillPaySetupApproverViewEpic, fetchBillPaySetupViewEpic, fetchCardBalanceEpic, fetchCardProfilesEpic, fetchCashbackDetailEpic, fetchCashBalanceEpic, fetchCashFlowEpic, fetchCashFlowForTimeframeEpic, fetchCashInCashOutEpic, fetchCashPositionEpic, fetchChargeCardConfigEpic, fetchChargeCardDetailEpic, fetchChargeCardDetailPageEpic, fetchChargeCardListEpic, fetchChargeCardListPageEpic, fetchChargeCardPaymentPageEpic, fetchChargeCardRepaymentDetailEpic, fetchChargeCardPaymentHistoryEpic, fetchChargeCardSetupViewEpic, fetchChargeCardStatementListEpic, fetchChargeCardTransactionAttachmentsEpic, fetchChargeCardTransactionListEpic, fetchChargeCardTransactionStatisticsEpic, fetchChargeCardsRecurringExpensesEpic, fetchChatHistoryEpic, fetchChatSessionsForUserEpic, fetchClassListEpic, fetchCollaborationAuthTokenEpic, fetchCompanyBillingAddressEpic, fetchCompanyConfigEpic, fetchCompanyHealthMetricConfigEpic, fetchCompanyHealthMetricViewEpic, fetchCompanyManagementViewEpic, fetchCompanyMetaDataEpic, fetchCompanyMonthEndReportHistoricDataEpic, fetchCompanyMonthEndReportHistoricDatesEpic, fetchCompanyMonthEndReportTemplatesEpic, fetchCompanyMonthEndReportViewEpic, fetchCompanyOnboardingViewEpic, fetchCompanyPassportViewEpic, fetchCompanyPortfolioViewEpic, fetchCompanyTaskManagerViewEpic, fetchTaskManagerMetricsEpic, fetchCreditAccountEpic, fetchCreditAccountRepaymentEpic, fetchCreditAgentAccessEpic, fetchCreditAgentMacroEpic, fetchCurrencyConversionValueEpic, fetchDashboardEpic, fetchDashboardLayoutEpic, fetchDebitCardSummaryEpic, fetchDepositAccountDetailEpic, fetchDepositAccountEpic, fetchDepositAccountHistoryEpic, fetchDepositAccountLimitEpic, fetchDepositAccountListEpic, fetchDepositAccountListForCardsEpic, fetchDepositAccountTransactionListEpic, fetchDownloadSchedulesEpic, fetchDuplicateBillPayReviewEpic, fetchDuplicateReimbursementEpic, fetchEditBillDetailPageEpic, fetchEditRemiDetailPageEpic, fetchEligibleActionsForBillEpic, fetchEntityAutoCompleteEpic, fetchEntityHistoryEpic, fetchEntityRecommendationsByTransactionIdEpic, fetchExcludedResourcesEpic, fetchExpenseAutomationFluxAnalysisViewEpic, fetchExpenseAutomationInitializeTransactionCategorizationViewLocalDataEpic, fetchExpenseAutomationJeSchedulesEpic, fetchExpenseAutomationJESchedulesPageEpic, fetchExpenseAutomationMarkTransactionAsNotMiscategorizedEpic, fetchExpenseAutomationMissingReceiptsEpic, bulkUploadReceiptsEpic, confirmBulkUploadMatchEpic, fetchBulkUploadBatchDetailsEpic, fetchMultipleBatchDetailsEpic, fetchMoreBatchDetailsEpic, fetchBulkUploadBatchesEpic, fetchCompletedTransactionsEpic, refetchCompletedTransactionsOnBulkUploadSortEpic, bulkUploadAutomatchingTimeoutEpic, bulkUploadMatchResultToastEpic, pollBulkUploadBatchStatusEpic, pusherBatchStatusCompletionEpic, restoreBulkUploadAutomatchingOnMountEpic, searchTransactionsForManualMatchEpic, fetchExpenseAutomationReconciliationsViewEpic, fetchExpenseAutomationSaveTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationViewEpic, fetchExpenseAutomationUpdateTransactionCategorizationEpic, fetchExpenseTrendEpic, fetchExpressPayInitialDetailsEpic, fetchExternalConnectionsEpic, fetchFileEpic, fetchFileListEpic, fetchFinanceStatementEpic, fetchForecastListEpic, initiateReportsClassViewRefetchingEpic, reportsResyncEpic, fetchGlobalMerchantAutoCompleteViewEpic, fetchGlobalMerchantRecommendationEpic, fetchIncomeTrendEpic, fetchInsightsCardEpic, fetchInternationalWireDynamicFormEpic, fetchIntlVerificationFormEpic, fetchIssueCardPageEpic, fetchMagicLinkBankNameByRoutingEpic, fetchMagicLinkBankNameBySwiftEpic, fetchMagicLinkBillEpic, fetchMagicLinkTenantEpic, fetchManagementViewEpic, fetchMerchantListEpic, fetchMonthClosePerformanceTrendEpic, fetchMonthEndCloseChecksEpic, fetchMyProfileEpic, fetchMyProfileViewEpic, fetchNetBurnOrIncomeClassesViewEpic, fetchNetBurnOrIncomeEpic, fetchNetBurnOrIncomeForTimeframeClassesViewEpic, fetchNetBurnOrIncomeForTimeframeEpic, fetchNetBurnOrIncomeStoryCardEpic, fetchNetBurnOrIncomeWithForecastEpic, fetchNotificationSettingsEpic, fetchNotificationSettingsViewEpic, fetchNotificationUnreadCountEpic, fetchNotificationViewEpic, fetchRegisteredInterestsEpic, fetchOnboardingCompletedCompaniesEpic, fetchOnboardingCustomerSetupViewEpic, fetchOnboardingCustomerViewEpic, fetchOnboardingViewEpic, fetchOpExByVendorEpic, fetchOpExByVendorReportForTimeframeEpic, fetchOpExByVendorReportSummaryEpic, fetchOpExClassesViewEpic, fetchOpExEpic, fetchOpExForTimeframeClassesViewEpic, fetchOpExReportForTimeframeEpic, fetchOpExWithForecastEpic, fetchOwnerListEpic, fetchParentSubsidiaryManagementViewEpic, fetchPaymentAccountBalanceEpic, fetchPaymentAccountListEpic, fetchPaymentSourcesEpic, fetchPeopleEpic, fetchPeoplePageEpic, fetchPortfolioViewEpic, fetchPreviousBillsEpic, fetchProfitAndLossClassesViewEpic, fetchProfitAndLossEpic, fetchProfitAndLossForTimeframeClassesViewEpic, fetchProfitAndLossForTimeframeProjectViewEpic, fetchProfitAndLossForTimeframeEpic, fetchProfitAndLossProjectViewEpic, fetchProjectListEpic, fetchQBOConnectionPoolEpic, fetchRecommendationByEntityIdEpic, fetchRecommendationByEntityNameEpic, fetchRecommendationForAccountSettingsEpic, fetchRecommendationForAccountTypeEpic, fetchRecommendationsAndUpdateMerchantRecommendationsEpic, fetchRecommendedTransactionRowIndexEpic, fetchReferralsEpic, fetchReimbursementCardEpic, fetchReimbursementConfigEpic, fetchRemiAndInitializeLocalStoreEpic, fetchRemiApproversDetailsEpic, fetchRemiApproversListEpic, fetchRemiDetailEpic, fetchRemiListEpic, fetchRemiListPerTabEpic, fetchRemiSetupApproverViewEpic, fetchRemiSetupViewEpic, fetchRevenueClassesViewEpic, fetchRevenueEpic, fetchRevenueForTimeframeClassesViewEpic, fetchRevenueForTimeframeEpic, fetchRevenueWithForecastEpic, fetchReviewCompanyViewEpic, fetchReviewTransferDetailEpic, fetchRewardsPlanEpic, fetchScheduleAccruedDetailsEpic, fetchScheduleAccruedDetailsPageEpic, fetchScheduleDetailsEpic, fetchScheduleDetailsPageEpic, fetchScheduleListEpic, fetchSchedulesAccountEpic, fetchSubscriptionAddOnsEpic, fetchSubscriptionCouponsEpic, fetchSubscriptionCreateEstimateEpic, fetchSubscriptionDetailsEpic, fetchSubscriptionListEpic, fetchSubscriptionPlansEpic, fetchSubscriptionSummaryForTenantEpic, fetchSubscriptionUpdateEstimateEpic, fetchSubscriptionViewEpic, fetchSuggestedQuestionsEpic, fetchTaskDetailEpic, fetchTaskDetailPageEpic, fetchTaskGroupTemplatesEpic, fetchTaskHistoryEpic, fetchTaskListEpic, fetchTaskListPageEpic, fetchTasksCardEpic, fetchTopExEpic, fetchTransactionActivityLogEpic, fetchTransactionDetailEpic, fetchTransactionListByAccountEpic, fetchTransactionListByClassEpic, fetchTransactionListByProjectEpic, fetchTransactionListByEntityEpic, fetchTransactionsForEntityEpic, fetchTransactionsListByCategoryTypeEpic, fetchTreasuryDetailEpic, fetchTreasuryFundsEpic, fetchTreasuryHistoryEpic, fetchTreasurySetupViewEpic, fetchTreasuryStatementListEpic, fetchTreasuryTaxLetterListEpic, fetchTreasuryTransactionListEpic, updatePortfolioAllocationEpic, fetchPortfolioAllocationEpic, fetchTrendForEntityEpic, fetchUserDetailEpic, fetchUserFinancialAccountEpic, fetchUserListByTypeEpic, fetchUserRoleConfigEpic, fetchVendor1099TypeListEpic, fetchVendorAndUpdateBillLocalDataEpic, fetchVendorByNameAndParseInvoiceEpic, fetchVendorDetailsEpic, fetchVendorEpic, fetchVendorFirstReviewAttachmentsEpic, fetchVendorFirstReviewViewEpic, fetchVendorGlobalReviewViewEpic, fetchVendorsFiling1099AllEpic, fetchVendorsFiling1099DownloadEpic, fetchVendorsFiling1099ListEpic, fetchVendorsListEpic, fetchVendorsTabVendorDetailPageViewEpic, fetchVendorsTabVendorDetailsEpic, fetchVendorsTabVendorEpic, fetchVendorTabViewEpic, fetchVendorTypeListEpic, fetchZeniAccountListEpic, fetchZeniAccountsConfigEpic, fetchZeniAccountSetupViewEpic, fetchZeniAccountsPromoCardEpic, fetchZeniAccStatementListEpic, fetchZeniAccStatementPageEpic, fetchZeniUsersEpic, getOnboardingEmailGroupEpic, getOnboardingPlaidLinkTokenEpic, getPaymentAccountsEpic, getPlaidLinkTokenEpic, ignoreExpenseAutomationJEScheduleEpic, improveUsingZeniGPTEpic, initialiseExpenseAutomationReconciliationLocalDataForSelectedAccountIdEpic, initializeAccountMappingViewEpic, initializeAccountSettingsViewEpic, initializeBillPaySetupApproverViewUpdateDataEpic, initializeBillToLocalStoreEpic, initializeCardUserOnboardingLocalDataEpic, initializeCompanyHealthMetricViewLocalDataEpic, initializeDynamicFormEpic, initializeEditPersonEpic, initializeExpenseAutomationJeScheduleLocalDataEpic, initializeInternationalWireLocalDataEpic, initializeIntlVerificationFormEpic, initializeMyProfileLocalDataEpic, initializeOnboardingCustomerViewUpdateDataEpic, initializeRemiSetupApproverViewUpdateDataEpic, initializeRemiToLocalStoreEpic, initializeScheduleAccruedDetailLocalDataEpic, initializeScheduleDetailLocalDataEpic, initializeSubscriptionLocalDataEpic, initializeTaskToLocalStoreEpic, initializeTransactionDetailLocalDataEpic, initializeVendorAddressEpic, initiateChargeCardRepaymentEpic, invitePeopleEpic, inviteZeniPeopleEpic, issueChargeCardEpic, lockChargeCardEpic, lockChargeCardsEpic, markAsCompleteScheduleDetailEpic, markTransactionAsNotMiscategorizedEpic, notifyMeForFeatureEpic, parallelFetchAccountTransactionListEpic, parallelFetchClassTransactionListEpic, parallelFetchProjectTransactionListEpic, parallelFetchEntityTransactionListEpic, parallelFetchTransactionListByCategoryTypeEpic, parseInvoiceToBillEpic, parseReceiptsToRemiEpic, peopleSaveUpdatesEpic, pushToastNotificationEpic, refreshExpenseAutomationCurrentTabEpic, refreshIntegrationsDataEpic, rejectVendorGlobalReviewEpic, resendCardInviteEpic, resendInviteEpic, resendOtpEpic, resendVerifyDeviceOTPEpic, resendReferralInviteEpic, resetTransactionVendorLocalDataEpic, resetVendorDetailLocalDataEpic, resetVendorsTabVendorDetailLocalDataEpic, retryBankAccountConnectionEpic, retryBankAccountConnectionForOnboardingEpic, retryExpenseAutomationJEScheduleEpic, retryOrRefundBillEpic, validateBillsBulkActionEpic, reviewDraftRemisBulkActionEpic, reviewExpenseAutomationFluxAnalysisViewEpic, revokeCardInviteEpic, revokeChargeCardsInviteEpic, saveAccountMappingViewEpic, saveAccountSettingsViewEpic, saveAPIKeyConnectionEpic, saveBillDetailEpic, saveBillPaySetupApproverViewUpdatesEpic, saveCardOnboardingUserDetailsEpic, saveCompanyBillingAddressEpic, saveCompanyHealthMetricByIdEpic, saveCompanyMonthEndReportEpic, saveCompanyPassportDetailsEpic, saveConnectorCredentialsEpic, saveCreditAgentMacroEpic, saveExpenseAutomationReconciliationDetailsEpic, saveExpenseAutomationReconciliationReviewEpic, saveExternalConnectionEpic, saveMagicLinkBankAccountEpic, saveNewAddressEpic, saveNotificationSettingsEpic, saveOAuthConnectionEpic, saveOnboardingCustomerCompletedStatusEpic, saveOnboardingCustomerNotesEpic, saveOnboardingCustomerViewUpdatesEpic, saveRealTimeApprovalEpic, saveReasonForAuditRuleEpic, saveRemiDetailEpic, saveRemiSetupApproverViewUpdatesEpic, saveScheduleAccruedDetailsEpic, saveScheduleDetailsEpic, saveSubscriptionNotesUpdatesEpic, saveSubscriptionUpdatesEpic, saveTaskDetailEpic, saveTransactionDetailEpic, saveTransactionVendorEpic, saveVendorDetailsViewEpic, saveVendorEpic, saveVendorFirstReviewViewEpic, saveVendorsTabVendorEpic, scheduleTenantCreditScoreCronEpic, sendCompanyMonthEndReportEpic, sendOnboardingCustomerViewInviteEpic, sendOtpEpic, sendReferralInviteEpic, statementCloseDayEpic, stopSubmitEpic, stopSubmitQuestionEpic, submitDraftBillsBulkActionEpic, submitDraftRemisBulkActionEpic, submitExpressPayEpic, submitIntlVerificationEpic, submitQuestionEpic, toggleReportUIOptionForecastModeEpic, transferMoneyEpic, treasuryTransferMoneyEpic, triggerAiAccountantJobEpic, triggerReviewTabRefetchEpic, unlinkPaymentAccountEpic, unlockChargeCardEpic, unlockChargeCardsEpic, updateAccruedJESchedulesEpic, updateAddressEpic, updateAmountsInScheduleAccruedDetailEpic, updateAmountsInScheduleDetailEpic, updateAutoTransferRuleEpic, updateBusinessVerificationDetailsEpic, updateCardProfileEpic, updateChargeCardDetailEpic, updateChargeCardLimitEpic, updateChargeCardNameEpic, updateChargeCardsLimitEpic, updateAccountingClassesEnabledEpic, updateCompanyDetailsEpic, updateCompanyOfficerEpic, updateCompanyPassportLocalStoreDataEpic, updateDashboardLayoutEpic, updateDebitCardPinAttemptEpic, updateDepositAccountEpic, updateExpenseAutomationReconciliationBalanceLocalDataEpic, updateFileNameEpic, updateFilesMetadataEpic, updateJESchedulesEpic, updateMappedCashAccountEpic, updateMileageDetailsEpic, updateMyProfileEpic, updateNetBurnOrIncomeStoryCardSettingsEpic, updateNotificationViewAllNotificationsStatusEpic, updateNotificationViewNotificationStatusEpic, updateOnboardingCustomerViewCompleteStatusEpic, updateOnboardingCustomerViewDashboardLoadedEpic, updateOnboardingCustomerViewEpic, updateOnboardingCustomerViewLocalStoreDataEpic, updateOnboardingPaymentAccountLoginStatusEpic, updateOnboardingPaymentAccountStatusEpic, updatePaymentAccountEpic, updatePaymentAccountLoginStatusEpic, updatePaymentAccountStatusEpic, updatePhysicalChargeCardAttemptEpic, updatePrimaryContactEpic, updatePrimaryFundingAccountEpic, updateQBOConnectionPoolExternalConnectionEpic, updateReferViewedEpic, updateRemiSetupViewLocalStoreDataEpic, updateReportUIOptionCOABalancesRangeEpic, updateReportUIOptionIsCompareModeEpic, updateReportUIOptionIsCompareModeOnEpic, updateReportUIOptionThisPeriodEpic, updateReportUIOptionTimeFrameEpic, updateSectionAccountsViewEpic, updateSectionClassesViewEpicV2, updateSectionProjectViewEpic, updateSelectedVendorForCreateFlowEpic, updateSetupViewLocalStoreDataEpic, updateTaskFromListViewEpic, updateTaskGroupNameEpic, fetchCannedResponsesEpic, saveCannedResponseEpic, deleteCannedResponseEpic, updateTransactionDetailEpic, updateTreasuryVideoViewedEpic, updateVendorContactEpic, uploadAccountStatementEpic, uploadMissingAttachmentSuccessEpic, uploadMissingReceiptSuccessEpic, uploadTransactionReceiptSuccessEpic, vendorFiling1099UploadDetailsSaveEpic, verifyOtpEpic, verifyUserEpic, waitForBillDetailThenInitializeLocalStoreEpic, waitForForecastListThenFetchNetBurnOrIncomeWithForecastEpic, waitForForecastListThenFetchOpExWithForecastEpic, waitForForecastListThenFetchRevenueWithForecastEpic, waitForMerchantRecommendationFetchThenUpdateRecommendationInMerchantEpic, waitForVendorByIdThenSaveBillUpdatetoLocalStoreEpic, waitForVendorByNameThenParsetoLocalStoreEpic, waitForVendorByNameThenUpdateBillDetailEpic, waitForVendorRecommendationFetchThenUpdateRecommendationInBillEpic, wiseRedirectEpic);
|
|
582
|
+
const combinedEpics = combineEpics(acceptBillPayTermsEpic, acceptBillPayUpdatedTermsEpic, acceptChargeCardTermsEpic, acceptEmployeeRemiTermsEpic, acceptMasterTOSEpic, acceptRemiTermsEpic, acceptTreasuryTermsEpic, acceptZeniAccountTermsEpic, addCardPaymentSourceEpic, approveOAuthConsentEpic, approveOrRejectBillEpic, approveOrRejectBillsBulkActionEpic, approveOrRejectRemiEpic, approveOrRejectRemisBulkActionEpic, approveVendorGlobalReviewEpic, archiveTaskEpic, backgroundRefetchReviewTabEpic, bulkUpdateTaskListEpic, cancelAiAccountantOnboardingEpic, cancelAndDeleteBillEpic, cancelAndDeleteRemiEpic, cancelOrDeleteBillsBulkActionEpic, cancelOrDeleteRemisBulkActionEpic, cancelScheduleAccruedJournalEntryEpic, changeZeniPersonRolesEpic, checkDepositEpic, clearAllEpic, closeChargeCardEpic, closeChargeCardsEpic, companyManagementSavePendingUpdatesEpic, companyManagementSaveUpdatesEpic, confirmCardSetupIntentEpic, convertAmountToHomeCurrencyEpic, createAddressEpic, createAutoTransferRuleEpic, createBankAccountEpic, createCardSetupIntentEpic, createCheckingAccountEpic, createCompanyAddressEpic, createCompanyOfficersEpic, createCompanyUserAddressEpic, createGlobalMerchantEpic, createInternationalBankAccountEpic, createNewSchedulesAccruedEpic, createNewSchedulesEpic, createNewTaskGroupEpic, createPaymentInstrumentEpic, createSessionAndSubmitEpic, createSessionEpic, createTagEpic, createTaskFromTaskGroupTemplateEpic, createUserBankAccountEpic, deleteAccountStatementEpic, deleteAutoTransferRuleEpic, excludeAccountFromReconciliationEpic, includeAccountInReconciliationEpic, deleteBankAccountEpic, deleteBillEpic, deleteChatSessionEpic, deleteConnectionEpic, deleteBillPayApprovalRuleEpic, deleteFileEpic, deleteFileListEpic, deleteInternationalBankAccountEpic, deletePaymentInstrumentEpic, deletePersonEpic, deleteRemiApprovalRuleEpic, deleteRemiEpic, deleteScheduleAccruedDetailEpic, deleteScheduleDetailEpic, deleteTagEpic, deleteTaskEpic, snoozeTaskEpic, unsnoozeTaskEpic, deleteTaskGroupEpic, deleteTransactionAttachmentEpic, deleteUserBankAccountEpic, doMagicLinkSignInEpic, doSignInEpic, doSignOutEpic, sendEmailMagicLinkToUserEpic, sessionHeartbeatEpic, verifyDeviceWithTwoFAEpic, downloadAccountingProviderAttachmentEpic, dragNDropTasksEpic, enableChargeCardAutoPayEpic, enableSetupEpic, establishOnboardingPlaidConnectionEpic, establishPlaidConnectionEpic, expressInterestChargeCardEpic, fetchAccountListEpic, fetchAccountListForAccountTypesEpic, fetchAccountSettingsListForAccountTypesEpic, fetchAccruedScheduleListEpic, fetchActiveTenantEpic, fetchAddressEpic, fetchAiAccountantCustomersEpic, fetchAiAccountantJobsEpic, fetchAllCockpitViewsEpic, fetchAllExpenseAutomationTabsEpic, fetchAllPeopleRequiredViewsEpic, fetchAllTagsEpic, fetchAllTaskGroupsEpic, fetchAllTenantsEpic, fetchAndUpdateVendorRecommendationsEpic, fetchAggregatedReportEpic, fetchApAgingDetailEpic, fetchApAgingEpic, fetchArAgingDetailEpic, fetchArAgingEpic, fetchAuditReportGroupViewEpic, fetchAuditRuleGroupViewEpic, fetchAutoTransferReviewDetailEpic, fetchAutoTransferRuleHistoryEpic, fetchAutoTransferRulesEpic, fetchBalanceSheetEpic, fetchBalanceSheetForTimeframeEpic, fetchBankAccountsListEpic, fetchBankConnectionsViewEpic, fetchBankCountryNameByIbanEpic, fetchBankNameByRoutingEpic, fetchBankNameBySwiftEpic, fetchBillAndInitializeLocalStoreEpic, fetchBillDetailEpic, fetchBillingAccountsListEpic, fetchBillListEpic, fetchBillListPerTabEpic, fetchBillPayApproversDetailsEpic, fetchBillPayApproversListEpic, fetchBillPayCardEpic, fetchBillPayConfigEpic, fetchBillPaySetupApproverViewEpic, fetchBillPaySetupViewEpic, fetchCardBalanceEpic, fetchCardProfilesEpic, fetchCashbackDetailEpic, fetchCashBalanceEpic, fetchCashFlowEpic, fetchCashFlowForTimeframeEpic, fetchCashInCashOutEpic, fetchCashPositionEpic, fetchChargeCardConfigEpic, fetchChargeCardDetailEpic, fetchChargeCardDetailPageEpic, fetchChargeCardListEpic, fetchChargeCardListPageEpic, fetchChargeCardPaymentPageEpic, fetchChargeCardRepaymentDetailEpic, fetchChargeCardPaymentHistoryEpic, fetchChargeCardSetupViewEpic, fetchChargeCardStatementListEpic, fetchChargeCardTransactionAttachmentsEpic, fetchChargeCardTransactionListEpic, fetchChargeCardTransactionStatisticsEpic, fetchChargeCardsRecurringExpensesEpic, fetchChatHistoryEpic, fetchChatSessionsForUserEpic, fetchClassListEpic, fetchCollaborationAuthTokenEpic, fetchCompanyBillingAddressEpic, fetchCompanyConfigEpic, fetchCompanyHealthMetricConfigEpic, fetchCompanyHealthMetricViewEpic, fetchCompanyManagementViewEpic, fetchCompanyMetaDataEpic, fetchCompanyMonthEndReportHistoricDataEpic, fetchCompanyMonthEndReportHistoricDatesEpic, fetchCompanyMonthEndReportTemplatesEpic, fetchCompanyMonthEndReportViewEpic, fetchCompanyOnboardingViewEpic, fetchCompanyPassportViewEpic, fetchCompanyPortfolioViewEpic, fetchCompanyTaskManagerViewEpic, fetchTaskManagerMetricsEpic, fetchCreditAccountEpic, fetchCreditAccountRepaymentEpic, fetchCreditAgentAccessEpic, fetchCreditAgentMacroEpic, fetchCurrencyConversionValueEpic, fetchDashboardEpic, fetchDashboardLayoutEpic, fetchDebitCardSummaryEpic, fetchDepositAccountDetailEpic, fetchDepositAccountEpic, fetchDepositAccountHistoryEpic, fetchDepositAccountLimitEpic, fetchDepositAccountListEpic, fetchDepositAccountListForCardsEpic, fetchDepositAccountTransactionListEpic, fetchDownloadSchedulesEpic, fetchDuplicateBillPayReviewEpic, fetchDuplicateReimbursementEpic, fetchEditBillDetailPageEpic, fetchEditRemiDetailPageEpic, fetchEligibleActionsForBillEpic, fetchEntityAutoCompleteEpic, fetchEntityHistoryEpic, fetchEntityRecommendationsByTransactionIdEpic, fetchExcludedResourcesEpic, fetchExpenseAutomationFluxAnalysisViewEpic, fetchExpenseAutomationInitializeTransactionCategorizationViewLocalDataEpic, fetchExpenseAutomationJeSchedulesEpic, fetchExpenseAutomationJESchedulesPageEpic, fetchExpenseAutomationMarkTransactionAsNotMiscategorizedEpic, fetchExpenseAutomationMissingReceiptsEpic, bulkUploadReceiptsEpic, confirmBulkUploadMatchEpic, fetchBulkUploadBatchDetailsEpic, fetchMultipleBatchDetailsEpic, fetchMoreBatchDetailsEpic, fetchBulkUploadBatchesEpic, fetchCompletedTransactionsEpic, refetchCompletedTransactionsOnBulkUploadSortEpic, bulkUploadAutomatchingTimeoutEpic, bulkUploadMatchResultToastEpic, pollBulkUploadBatchStatusEpic, pusherBatchStatusCompletionEpic, restoreBulkUploadAutomatchingOnMountEpic, searchTransactionsForManualMatchEpic, fetchExpenseAutomationReconciliationsViewEpic, fetchExpenseAutomationSaveTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationViewEpic, fetchExpenseAutomationUpdateTransactionCategorizationEpic, fetchExpenseTrendEpic, fetchExpressPayInitialDetailsEpic, fetchExternalConnectionsEpic, fetchFileEpic, fetchFileListEpic, fetchFinanceStatementEpic, fetchForecastListEpic, initiateReportsClassViewRefetchingEpic, reportsResyncEpic, fetchGlobalMerchantAutoCompleteViewEpic, fetchGlobalMerchantRecommendationEpic, fetchIncomeTrendEpic, fetchInsightsCardEpic, fetchInternationalWireDynamicFormEpic, fetchIntlVerificationFormEpic, fetchIssueCardPageEpic, fetchMagicLinkBankNameByRoutingEpic, fetchMagicLinkBankNameBySwiftEpic, fetchMagicLinkBillEpic, fetchMagicLinkTenantEpic, fetchManagementViewEpic, fetchMerchantListEpic, fetchMonthClosePerformanceTrendEpic, fetchMonthEndCloseChecksEpic, fetchMyProfileEpic, fetchMyProfileViewEpic, fetchNetBurnOrIncomeClassesViewEpic, fetchNetBurnOrIncomeEpic, fetchNetBurnOrIncomeForTimeframeClassesViewEpic, fetchNetBurnOrIncomeForTimeframeEpic, fetchNetBurnOrIncomeStoryCardEpic, fetchNetBurnOrIncomeWithForecastEpic, fetchNotificationSettingsEpic, fetchNotificationSettingsViewEpic, fetchNotificationUnreadCountEpic, fetchNotificationViewEpic, fetchRegisteredInterestsEpic, fetchOnboardingCompletedCompaniesEpic, fetchOnboardingCustomerSetupViewEpic, fetchOnboardingCustomerViewEpic, fetchOnboardingViewEpic, fetchOpExByVendorEpic, fetchOpExByVendorReportForTimeframeEpic, fetchOpExByVendorReportSummaryEpic, fetchOpExClassesViewEpic, fetchOpExEpic, fetchOpExForTimeframeClassesViewEpic, fetchOpExReportForTimeframeEpic, fetchOpExWithForecastEpic, fetchOwnerListEpic, fetchParentSubsidiaryManagementViewEpic, fetchPaymentAccountBalanceEpic, fetchPaymentAccountListEpic, fetchPaymentSourcesEpic, fetchPeopleEpic, fetchPeoplePageEpic, fetchPortfolioViewEpic, fetchPreviousBillsEpic, fetchProfitAndLossClassesViewEpic, fetchProfitAndLossEpic, fetchProfitAndLossForTimeframeClassesViewEpic, fetchProfitAndLossForTimeframeProjectViewEpic, fetchProfitAndLossForTimeframeEpic, fetchProfitAndLossProjectViewEpic, fetchProjectListEpic, fetchQBOConnectionPoolEpic, fetchRecommendationByEntityIdEpic, fetchRecommendationByEntityNameEpic, fetchRecommendationForAccountSettingsEpic, fetchRecommendationForAccountTypeEpic, fetchRecommendationsAndUpdateMerchantRecommendationsEpic, fetchRecommendedTransactionRowIndexEpic, fetchReferralsEpic, fetchReimbursementCardEpic, fetchReimbursementConfigEpic, fetchRemiAndInitializeLocalStoreEpic, fetchRemiApproversDetailsEpic, fetchRemiApproversListEpic, fetchRemiDetailEpic, fetchRemiListEpic, fetchRemiListPerTabEpic, fetchRemiSetupApproverViewEpic, fetchRemiSetupViewEpic, fetchRevenueClassesViewEpic, fetchRevenueEpic, fetchRevenueForTimeframeClassesViewEpic, fetchRevenueForTimeframeEpic, fetchRevenueWithForecastEpic, fetchReviewCompanyViewEpic, fetchReviewTransferDetailEpic, fetchRewardsPlanEpic, fetchScheduleAccruedDetailsEpic, fetchScheduleAccruedDetailsPageEpic, fetchScheduleActivityLogEpic, fetchScheduleDetailsEpic, fetchScheduleDetailsPageEpic, fetchScheduleListEpic, fetchSchedulesAccountEpic, fetchSubscriptionAddOnsEpic, fetchSubscriptionCouponsEpic, fetchSubscriptionCreateEstimateEpic, fetchSubscriptionDetailsEpic, fetchSubscriptionListEpic, fetchSubscriptionPlansEpic, fetchSubscriptionSummaryForTenantEpic, fetchSubscriptionUpdateEstimateEpic, fetchSubscriptionViewEpic, fetchSuggestedQuestionsEpic, fetchTaskDetailEpic, fetchTaskDetailPageEpic, fetchTaskGroupTemplatesEpic, fetchTaskHistoryEpic, fetchTaskListEpic, fetchTaskListPageEpic, fetchTasksCardEpic, fetchTopExEpic, fetchTransactionActivityLogEpic, fetchTransactionDetailEpic, fetchTransactionListByAccountEpic, fetchTransactionListByClassEpic, fetchTransactionListByProjectEpic, fetchTransactionListByEntityEpic, fetchTransactionsForEntityEpic, fetchTransactionsListByCategoryTypeEpic, fetchTreasuryDetailEpic, fetchTreasuryFundsEpic, fetchTreasuryHistoryEpic, fetchTreasurySetupViewEpic, fetchTreasuryStatementListEpic, fetchTreasuryTaxLetterListEpic, fetchTreasuryTransactionListEpic, updatePortfolioAllocationEpic, fetchPortfolioAllocationEpic, fetchTrendForEntityEpic, fetchUserDetailEpic, fetchUserFinancialAccountEpic, fetchUserListByTypeEpic, fetchUserRoleConfigEpic, fetchVendor1099TypeListEpic, fetchVendorAndUpdateBillLocalDataEpic, fetchVendorByNameAndParseInvoiceEpic, fetchVendorDetailsEpic, fetchVendorEpic, fetchVendorFirstReviewAttachmentsEpic, fetchVendorFirstReviewViewEpic, fetchVendorGlobalReviewViewEpic, fetchVendorsFiling1099AllEpic, fetchVendorsFiling1099DownloadEpic, fetchVendorsFiling1099ListEpic, fetchVendorsListEpic, fetchVendorsTabVendorDetailPageViewEpic, fetchVendorsTabVendorDetailsEpic, fetchVendorsTabVendorEpic, fetchVendorTabViewEpic, fetchVendorTypeListEpic, fetchZeniAccountListEpic, fetchZeniAccountsConfigEpic, fetchZeniAccountSetupViewEpic, fetchZeniAccountsPromoCardEpic, fetchZeniAccStatementListEpic, fetchZeniAccStatementPageEpic, fetchZeniUsersEpic, getOnboardingEmailGroupEpic, getOnboardingPlaidLinkTokenEpic, getPaymentAccountsEpic, getPlaidLinkTokenEpic, ignoreExpenseAutomationJEScheduleEpic, improveUsingZeniGPTEpic, initialiseExpenseAutomationReconciliationLocalDataForSelectedAccountIdEpic, initializeAccountMappingViewEpic, initializeAccountSettingsViewEpic, initializeBillPaySetupApproverViewUpdateDataEpic, initializeBillToLocalStoreEpic, initializeCardUserOnboardingLocalDataEpic, initializeCompanyHealthMetricViewLocalDataEpic, initializeDynamicFormEpic, initializeEditPersonEpic, initializeExpenseAutomationJeScheduleLocalDataEpic, initializeInternationalWireLocalDataEpic, initializeIntlVerificationFormEpic, initializeMyProfileLocalDataEpic, initializeOnboardingCustomerViewUpdateDataEpic, initializeRemiSetupApproverViewUpdateDataEpic, initializeRemiToLocalStoreEpic, initializeScheduleAccruedDetailLocalDataEpic, initializeScheduleDetailLocalDataEpic, initializeSubscriptionLocalDataEpic, initializeTaskToLocalStoreEpic, initializeTransactionDetailLocalDataEpic, initializeVendorAddressEpic, initiateChargeCardRepaymentEpic, invitePeopleEpic, inviteZeniPeopleEpic, issueChargeCardEpic, lockChargeCardEpic, lockChargeCardsEpic, markAsCompleteScheduleDetailEpic, markTransactionAsNotMiscategorizedEpic, notifyMeForFeatureEpic, parallelFetchAccountTransactionListEpic, parallelFetchClassTransactionListEpic, parallelFetchProjectTransactionListEpic, parallelFetchEntityTransactionListEpic, parallelFetchTransactionListByCategoryTypeEpic, parseInvoiceToBillEpic, parseReceiptsToRemiEpic, peopleSaveUpdatesEpic, pushToastNotificationEpic, refreshExpenseAutomationCurrentTabEpic, refreshIntegrationsDataEpic, rejectVendorGlobalReviewEpic, resendCardInviteEpic, resendInviteEpic, resendOtpEpic, resendVerifyDeviceOTPEpic, resendReferralInviteEpic, resetTransactionVendorLocalDataEpic, resetVendorDetailLocalDataEpic, resetVendorsTabVendorDetailLocalDataEpic, retryBankAccountConnectionEpic, retryBankAccountConnectionForOnboardingEpic, retryExpenseAutomationJEScheduleEpic, retryOrRefundBillEpic, validateBillsBulkActionEpic, reviewDraftRemisBulkActionEpic, reviewExpenseAutomationFluxAnalysisViewEpic, revokeCardInviteEpic, revokeChargeCardsInviteEpic, saveAccountMappingViewEpic, saveAccountSettingsViewEpic, saveAPIKeyConnectionEpic, saveBillDetailEpic, saveBillPaySetupApproverViewUpdatesEpic, saveCardOnboardingUserDetailsEpic, saveCompanyBillingAddressEpic, saveCompanyHealthMetricByIdEpic, saveCompanyMonthEndReportEpic, saveCompanyPassportDetailsEpic, saveConnectorCredentialsEpic, saveCreditAgentMacroEpic, saveExpenseAutomationReconciliationDetailsEpic, saveExpenseAutomationReconciliationReviewEpic, saveExternalConnectionEpic, saveMagicLinkBankAccountEpic, saveNewAddressEpic, saveNotificationSettingsEpic, saveOAuthConnectionEpic, saveOnboardingCustomerCompletedStatusEpic, saveOnboardingCustomerNotesEpic, saveOnboardingCustomerViewUpdatesEpic, saveRealTimeApprovalEpic, saveReasonForAuditRuleEpic, saveRemiDetailEpic, saveRemiSetupApproverViewUpdatesEpic, saveScheduleAccruedDetailsEpic, saveScheduleDetailsEpic, saveSubscriptionNotesUpdatesEpic, saveSubscriptionUpdatesEpic, saveTaskDetailEpic, saveTransactionDetailEpic, saveTransactionVendorEpic, saveVendorDetailsViewEpic, saveVendorEpic, saveVendorFirstReviewViewEpic, saveVendorsTabVendorEpic, scheduleTenantCreditScoreCronEpic, sendCompanyMonthEndReportEpic, sendOnboardingCustomerViewInviteEpic, sendOtpEpic, sendReferralInviteEpic, statementCloseDayEpic, stopSubmitEpic, stopSubmitQuestionEpic, submitDraftBillsBulkActionEpic, submitDraftRemisBulkActionEpic, submitExpressPayEpic, submitIntlVerificationEpic, submitQuestionEpic, toggleReportUIOptionForecastModeEpic, transferMoneyEpic, treasuryTransferMoneyEpic, triggerAiAccountantJobEpic, triggerReviewTabRefetchEpic, unlinkPaymentAccountEpic, unlockChargeCardEpic, unlockChargeCardsEpic, updateAccruedJESchedulesEpic, updateAddressEpic, updateAmountsInScheduleAccruedDetailEpic, updateAmountsInScheduleDetailEpic, updateAutoTransferRuleEpic, updateBusinessVerificationDetailsEpic, updateCardProfileEpic, updateChargeCardDetailEpic, updateChargeCardLimitEpic, updateChargeCardNameEpic, updateChargeCardsLimitEpic, updateAccountingClassesEnabledEpic, updateCompanyDetailsEpic, updateCompanyOfficerEpic, updateCompanyPassportLocalStoreDataEpic, updateDashboardLayoutEpic, updateDebitCardPinAttemptEpic, updateDepositAccountEpic, updateExpenseAutomationReconciliationBalanceLocalDataEpic, updateFileNameEpic, updateFilesMetadataEpic, updateJESchedulesEpic, updateMappedCashAccountEpic, updateMileageDetailsEpic, updateMyProfileEpic, updateNetBurnOrIncomeStoryCardSettingsEpic, updateNotificationViewAllNotificationsStatusEpic, updateNotificationViewNotificationStatusEpic, updateOnboardingCustomerViewCompleteStatusEpic, updateOnboardingCustomerViewDashboardLoadedEpic, updateOnboardingCustomerViewEpic, updateOnboardingCustomerViewLocalStoreDataEpic, updateOnboardingPaymentAccountLoginStatusEpic, updateOnboardingPaymentAccountStatusEpic, updatePaymentAccountEpic, updatePaymentAccountLoginStatusEpic, updatePaymentAccountStatusEpic, updatePhysicalChargeCardAttemptEpic, updatePrimaryContactEpic, updatePrimaryFundingAccountEpic, updateQBOConnectionPoolExternalConnectionEpic, updateReferViewedEpic, updateRemiSetupViewLocalStoreDataEpic, updateReportUIOptionCOABalancesRangeEpic, updateReportUIOptionIsCompareModeEpic, updateReportUIOptionIsCompareModeOnEpic, updateReportUIOptionThisPeriodEpic, updateReportUIOptionTimeFrameEpic, updateSectionAccountsViewEpic, updateSectionClassesViewEpicV2, updateSectionProjectViewEpic, updateSelectedVendorForCreateFlowEpic, updateSetupViewLocalStoreDataEpic, updateTaskFromListViewEpic, updateTaskGroupNameEpic, fetchCannedResponsesEpic, saveCannedResponseEpic, deleteCannedResponseEpic, updateTransactionDetailEpic, updateTreasuryVideoViewedEpic, updateVendorContactEpic, uploadAccountStatementEpic, uploadMissingAttachmentSuccessEpic, uploadMissingReceiptSuccessEpic, uploadTransactionReceiptSuccessEpic, vendorFiling1099UploadDetailsSaveEpic, verifyOtpEpic, verifyUserEpic, waitForBillDetailThenInitializeLocalStoreEpic, waitForForecastListThenFetchNetBurnOrIncomeWithForecastEpic, waitForForecastListThenFetchOpExWithForecastEpic, waitForForecastListThenFetchRevenueWithForecastEpic, waitForMerchantRecommendationFetchThenUpdateRecommendationInMerchantEpic, waitForVendorByIdThenSaveBillUpdatetoLocalStoreEpic, waitForVendorByNameThenParsetoLocalStoreEpic, waitForVendorByNameThenUpdateBillDetailEpic, waitForVendorRecommendationFetchThenUpdateRecommendationInBillEpic, wiseRedirectEpic);
|
|
582
583
|
const rootEpic = (action$, store$, dependencies) => combinedEpics(action$, store$, dependencies).pipe(map(identity), catchError((error, source) => {
|
|
583
584
|
console.error(error);
|
|
584
585
|
return source;
|
package/lib/esm/index.js
CHANGED
|
@@ -654,6 +654,8 @@ export { getAutoTransferRules, getAutoTransferRuleById, getAutoTransferRuleHisto
|
|
|
654
654
|
export { BULK_UPLOAD_AUTOMATCHING_TIMEOUT_MS, BULK_UPLOAD_BAR_COMPLETE_HOLD_MS, } from './view/expenseAutomationView/helpers/bulkUploadTiming';
|
|
655
655
|
export { fetchTransactionActivityLog } from './view/transactionActivityLogView/transactionActivityLogViewReducer';
|
|
656
656
|
export { getTransactionActivityLogView, } from './view/transactionActivityLogView/transactionActivityLogViewSelector';
|
|
657
|
+
export { fetchScheduleActivityLog, clearScheduleActivityLogView, } from './view/scheduleActivityLogView/scheduleActivityLogViewReducer';
|
|
658
|
+
export { getScheduleActivityLogView, } from './view/scheduleActivityLogView/scheduleActivityLogViewSelector';
|
|
657
659
|
// ── Session Management ──────────────────────────────────────────────
|
|
658
660
|
export { SessionManager } from './entity/tenant/SessionManager';
|
|
659
661
|
export { DEFAULT_SESSION_CONFIG } from './entity/tenant/sessionTypes';
|
package/lib/esm/reducer.js
CHANGED
|
@@ -42,6 +42,7 @@ import paymentInstrument, { initialState as initialPaymentInstrumentState, } fro
|
|
|
42
42
|
import accountingSummary, { initialState as initialAccountingSummaryState, } from './entity/portfolio/accountingSummary/accountingSummaryReducer';
|
|
43
43
|
import project, { initialState as initialProjectState, } from './entity/project/projectReducer';
|
|
44
44
|
import reimbursement, { initialState as initialReimbursementState, } from './entity/reimbursement/reimbursementReducer';
|
|
45
|
+
import scheduleActivityLog, { initialState as initialScheduleActivityLogState, } from './entity/scheduleActivityLog/scheduleActivityLogReducer';
|
|
45
46
|
import sectionAccountsView, { initialState as initialSectionAccountsViewState, } from './entity/sectionAccountsView/sectionAccountsViewReducer';
|
|
46
47
|
import sectionClassesViewV2, { initialState as initialSectionClassesViewStateV2, } from './entity/sectionClassesViewV2/sectionClassesViewReducer';
|
|
47
48
|
import sectionProjectView, { initialState as initialSectionProjectViewState, } from './entity/sectionProjectView/sectionProjectViewReducer';
|
|
@@ -139,6 +140,7 @@ import reportsResync, { initialReportsResyncState, } from './view/reportsResync/
|
|
|
139
140
|
import revenue, { initialState as initialRevenueWithForecastState, } from './view/revenue/revenueReducer';
|
|
140
141
|
import revenueClassesView, { initialState as initialRevenueClassesViewState, } from './view/revenueClassesView/revenueClassesViewReducer';
|
|
141
142
|
import reviewCompanyView, { initialState as initialReviewCompanyViewState, } from './view/reviewCompanyView/reviewCompanyViewReducer';
|
|
143
|
+
import scheduleActivityLogView, { initialState as initialScheduleActivityLogViewState, } from './view/scheduleActivityLogView/scheduleActivityLogViewReducer';
|
|
142
144
|
import scheduleAccruedDetailView, { initialState as initialScheduleAccruedDetailViewState, } from './view/scheduleView/scheduleAccruedDetailView/scheduleAccruedDetailReducer';
|
|
143
145
|
import scheduleDetailView, { initialState as initialScheduleDetailViewState, } from './view/scheduleView/scheduleDetailView/scheduleDetailReducer';
|
|
144
146
|
import scheduleListView, { initialState as initialScheduleListViewState, } from './view/scheduleView/scheduleListView/scheduleListReducer';
|
|
@@ -268,6 +270,7 @@ const initialEntitiesState = {
|
|
|
268
270
|
recurringBillState: initialRecurringBillState,
|
|
269
271
|
reimbursementConfigState: initialReimbursementConfigState,
|
|
270
272
|
reimbursementState: initialReimbursementState,
|
|
273
|
+
scheduleActivityLogState: initialScheduleActivityLogState,
|
|
271
274
|
sectionAccountsViewState: initialSectionAccountsViewState,
|
|
272
275
|
sectionClassesViewStateV2: initialSectionClassesViewStateV2,
|
|
273
276
|
sectionProjectViewState: initialSectionProjectViewState,
|
|
@@ -406,6 +409,7 @@ const initialViewsState = {
|
|
|
406
409
|
revenueClassesViewState: initialRevenueClassesViewState,
|
|
407
410
|
revenueState: initialRevenueWithForecastState,
|
|
408
411
|
reviewCompanyViewState: initialReviewCompanyViewState,
|
|
412
|
+
scheduleActivityLogViewState: initialScheduleActivityLogViewState,
|
|
409
413
|
scheduleAccruedDetailState: initialScheduleAccruedDetailViewState,
|
|
410
414
|
scheduleDetailState: initialScheduleDetailViewState,
|
|
411
415
|
scheduleListState: initialScheduleListViewState,
|
|
@@ -504,6 +508,7 @@ const entityReducers = {
|
|
|
504
508
|
recurringBillState: recurringBill,
|
|
505
509
|
reimbursementConfigState: reimbursementConfig,
|
|
506
510
|
reimbursementState: reimbursement,
|
|
511
|
+
scheduleActivityLogState: scheduleActivityLog,
|
|
507
512
|
sectionAccountsViewState: sectionAccountsView,
|
|
508
513
|
sectionClassesViewStateV2: sectionClassesViewV2,
|
|
509
514
|
sectionProjectViewState: sectionProjectView,
|
|
@@ -642,6 +647,7 @@ const viewReducers = {
|
|
|
642
647
|
revenueClassesViewState: revenueClassesView,
|
|
643
648
|
revenueState: revenue,
|
|
644
649
|
reviewCompanyViewState: reviewCompanyView,
|
|
650
|
+
scheduleActivityLogViewState: scheduleActivityLogView,
|
|
645
651
|
scheduleAccruedDetailState: scheduleAccruedDetailView,
|
|
646
652
|
scheduleDetailState: scheduleDetailView,
|
|
647
653
|
scheduleListState: scheduleListView,
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { from, of } from 'rxjs';
|
|
2
|
+
import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
|
|
3
|
+
import { updateScheduleActivityLogs } from '../../entity/scheduleActivityLog/scheduleActivityLogReducer';
|
|
4
|
+
import { updateAllUsers } from '../../entity/user/userReducer';
|
|
5
|
+
import { createZeniAPIStatus, isSuccessResponse } from '../../responsePayload';
|
|
6
|
+
import { fetchScheduleActivityLog, updateScheduleActivityLogViewFetchStatus, updateScheduleActivityLogViewOnSuccess, } from './scheduleActivityLogViewReducer';
|
|
7
|
+
// Drop any payload that lacks the three top-level fields the entity pipeline
|
|
8
|
+
// strictly needs (`event_type`, `correlation_id`, `create_time`). Surfaces each
|
|
9
|
+
// drop as a console.warn so the next backend iteration has a list of gaps to
|
|
10
|
+
// tighten. Returns the kept items so the rest of the timeline still renders.
|
|
11
|
+
export const filterValidScheduleActivityPayloads = (rawActivity) => {
|
|
12
|
+
const safe = [];
|
|
13
|
+
for (const item of rawActivity) {
|
|
14
|
+
if (typeof item?.event_type !== 'string') {
|
|
15
|
+
console.warn('[scheduleActivityLog] dropping payload: missing event_type', item);
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
if (typeof item?.correlation_id !== 'string') {
|
|
19
|
+
console.warn('[scheduleActivityLog] dropping payload: missing correlation_id', item);
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
if (typeof item?.create_time !== 'string') {
|
|
23
|
+
console.warn('[scheduleActivityLog] dropping payload: missing create_time', item);
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
safe.push(item);
|
|
27
|
+
}
|
|
28
|
+
return safe;
|
|
29
|
+
};
|
|
30
|
+
export const fetchScheduleActivityLogEpic = (actions$, _, zeniAPI) => actions$.pipe(filter(fetchScheduleActivityLog.match), switchMap((action) => {
|
|
31
|
+
const { scheduleId } = action.payload;
|
|
32
|
+
return zeniAPI
|
|
33
|
+
.getJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/schedules/${scheduleId}/activity`)
|
|
34
|
+
.pipe(mergeMap((response) => {
|
|
35
|
+
if (isSuccessResponse(response) &&
|
|
36
|
+
response.data != null &&
|
|
37
|
+
response.data.activity != null) {
|
|
38
|
+
const safeActivity = filterValidScheduleActivityPayloads(response.data.activity);
|
|
39
|
+
const updateActions = [];
|
|
40
|
+
if (response.data.users != null &&
|
|
41
|
+
response.data.users.length > 0) {
|
|
42
|
+
updateActions.push(updateAllUsers({
|
|
43
|
+
users: response.data.users,
|
|
44
|
+
updateType: 'merge',
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
updateActions.push(updateScheduleActivityLogs(safeActivity));
|
|
48
|
+
updateActions.push(updateScheduleActivityLogViewOnSuccess({
|
|
49
|
+
data: safeActivity,
|
|
50
|
+
scheduleId,
|
|
51
|
+
}));
|
|
52
|
+
return from(updateActions);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
return of(updateScheduleActivityLogViewFetchStatus({
|
|
56
|
+
fetchState: 'Error',
|
|
57
|
+
error: response.status,
|
|
58
|
+
scheduleId,
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
}), catchError((error) => of(updateScheduleActivityLogViewFetchStatus({
|
|
62
|
+
scheduleId,
|
|
63
|
+
fetchState: 'Error',
|
|
64
|
+
error: createZeniAPIStatus('Unexpected Error', 'fetch schedule activity log REST API call errored out' +
|
|
65
|
+
JSON.stringify(error)),
|
|
66
|
+
}))));
|
|
67
|
+
}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { createSlice } from '@reduxjs/toolkit';
|
|
2
|
+
import { toScheduleActivityLogId, } from '../../entity/scheduleActivityLog/scheduleActivityLogPayload';
|
|
3
|
+
export const initialState = {
|
|
4
|
+
scheduleActivityLogIdsByScheduleId: {},
|
|
5
|
+
scheduleActivityLogFetchStateByScheduleId: {},
|
|
6
|
+
};
|
|
7
|
+
const scheduleActivityLogView = createSlice({
|
|
8
|
+
name: 'scheduleActivityLogView',
|
|
9
|
+
initialState,
|
|
10
|
+
reducers: {
|
|
11
|
+
fetchScheduleActivityLog: {
|
|
12
|
+
prepare(scheduleId) {
|
|
13
|
+
return {
|
|
14
|
+
payload: { scheduleId },
|
|
15
|
+
};
|
|
16
|
+
},
|
|
17
|
+
reducer(draft, action) {
|
|
18
|
+
const { scheduleId } = action.payload;
|
|
19
|
+
draft.scheduleActivityLogFetchStateByScheduleId[scheduleId] = {
|
|
20
|
+
fetchState: 'In-Progress',
|
|
21
|
+
error: undefined,
|
|
22
|
+
};
|
|
23
|
+
draft.scheduleActivityLogIdsByScheduleId[scheduleId] = [];
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
updateScheduleActivityLogViewOnSuccess(draft, action) {
|
|
27
|
+
const { data, scheduleId } = action.payload;
|
|
28
|
+
draft.scheduleActivityLogFetchStateByScheduleId[scheduleId] = {
|
|
29
|
+
fetchState: 'Completed',
|
|
30
|
+
error: undefined,
|
|
31
|
+
};
|
|
32
|
+
draft.scheduleActivityLogIdsByScheduleId[scheduleId] = data.map((scheduleActivityLog) => toScheduleActivityLogId(scheduleActivityLog.correlation_id, scheduleActivityLog.event_type, scheduleActivityLog.data?.transaction?.line_id));
|
|
33
|
+
},
|
|
34
|
+
updateScheduleActivityLogViewFetchStatus(draft, action) {
|
|
35
|
+
const { fetchState, scheduleId, error } = action.payload;
|
|
36
|
+
draft.scheduleActivityLogFetchStateByScheduleId[scheduleId] = {
|
|
37
|
+
fetchState,
|
|
38
|
+
error,
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
clearScheduleActivityLogView(draft) {
|
|
42
|
+
Object.assign(draft, initialState);
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
export const { fetchScheduleActivityLog, updateScheduleActivityLogViewOnSuccess, clearScheduleActivityLogView, updateScheduleActivityLogViewFetchStatus, } = scheduleActivityLogView.actions;
|
|
47
|
+
export default scheduleActivityLogView.reducer;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { createSelector } from '@reduxjs/toolkit';
|
|
2
|
+
import { reduceFetchState } from '../../commonStateTypes/reduceFetchState';
|
|
3
|
+
import { getScheduleActivityLogsByIds } from '../../entity/scheduleActivityLog/scheduleActivityLogSelector';
|
|
4
|
+
export const getScheduleActivityLogView = createSelector((state) => state.scheduleActivityLogViewState, (state) => state.scheduleActivityLogState, (state) => state.userState, (_state, scheduleId) => scheduleId, (scheduleActivityLogViewState, scheduleActivityLogState, userState, scheduleId) => {
|
|
5
|
+
const fetchStateAndError = scheduleActivityLogViewState
|
|
6
|
+
.scheduleActivityLogFetchStateByScheduleId[scheduleId] ?? {
|
|
7
|
+
fetchState: 'Not-Started',
|
|
8
|
+
error: undefined,
|
|
9
|
+
};
|
|
10
|
+
const scheduleActivityLogIds = scheduleActivityLogViewState.scheduleActivityLogIdsByScheduleId[scheduleId] ?? [];
|
|
11
|
+
const rawLogs = getScheduleActivityLogsByIds(scheduleActivityLogState, scheduleActivityLogIds);
|
|
12
|
+
const scheduleActivityLogs = rawLogs.map((log) => {
|
|
13
|
+
const userId = log.data?.transaction?.userId;
|
|
14
|
+
if (userId == null || log.data == null) {
|
|
15
|
+
return log;
|
|
16
|
+
}
|
|
17
|
+
const user = userState.userByUserId[userId];
|
|
18
|
+
if (user == null) {
|
|
19
|
+
return log;
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
...log,
|
|
23
|
+
data: {
|
|
24
|
+
...log.data,
|
|
25
|
+
user,
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
...reduceFetchState([fetchStateAndError]),
|
|
31
|
+
scheduleActivityLogs,
|
|
32
|
+
};
|
|
33
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -2,6 +2,7 @@ import { concat, from } from 'rxjs';
|
|
|
2
2
|
import { filter, mergeMap } from 'rxjs/operators';
|
|
3
3
|
import { fetchAccountList } from '../../../accountList/accountListReducer';
|
|
4
4
|
import { fetchClassList } from '../../../classList/classListReducer';
|
|
5
|
+
import { fetchScheduleActivityLog } from '../../../scheduleActivityLogView/scheduleActivityLogViewReducer';
|
|
5
6
|
import { getAccountsTypesForScheduleEpics } from '../../scheduleListView/scheduleListHelper';
|
|
6
7
|
import { fetchScheduleDetails, fetchScheduleDetailsPage, } from '../scheduleDetailReducer';
|
|
7
8
|
export const fetchScheduleDetailsPageEpic = (actions$, state$) => actions$.pipe(filter(fetchScheduleDetailsPage.match), mergeMap((action) => {
|
|
@@ -19,6 +20,9 @@ export const fetchScheduleDetailsPageEpic = (actions$, state$) => actions$.pipe(
|
|
|
19
20
|
}
|
|
20
21
|
if (action.payload.selectedJeScheduleDetailId != null) {
|
|
21
22
|
scheduleDetailsActions.push(fetchScheduleDetails(action.payload.scheduleType, action.payload.selectedJeScheduleDetailId, action.payload.cacheOverride));
|
|
23
|
+
// Prefetch the schedule activity log alongside the detail page so the
|
|
24
|
+
// side panel renders instantly when the user taps the navbar icon.
|
|
25
|
+
scheduleDetailsActions.push(fetchScheduleActivityLog(action.payload.selectedJeScheduleDetailId));
|
|
22
26
|
}
|
|
23
27
|
return concat(from(scheduleDetailsActions));
|
|
24
28
|
}));
|
package/lib/index.d.ts
CHANGED
|
@@ -929,6 +929,9 @@ export type { TransactionActivityLog } from './entity/transactionActivityLog/tra
|
|
|
929
929
|
export { BULK_UPLOAD_AUTOMATCHING_TIMEOUT_MS, BULK_UPLOAD_BAR_COMPLETE_HOLD_MS, } from './view/expenseAutomationView/helpers/bulkUploadTiming';
|
|
930
930
|
export { fetchTransactionActivityLog } from './view/transactionActivityLogView/transactionActivityLogViewReducer';
|
|
931
931
|
export { TransactionActivityLogViewSelectorView, getTransactionActivityLogView, } from './view/transactionActivityLogView/transactionActivityLogViewSelector';
|
|
932
|
+
export type { ScheduleActivityLog } from './entity/scheduleActivityLog/scheduleActivityLogState';
|
|
933
|
+
export { fetchScheduleActivityLog, clearScheduleActivityLogView, } from './view/scheduleActivityLogView/scheduleActivityLogViewReducer';
|
|
934
|
+
export { ScheduleActivityLogViewSelectorView, getScheduleActivityLogView, } from './view/scheduleActivityLogView/scheduleActivityLogViewSelector';
|
|
932
935
|
export { UserGroup } from './entity/userGroups/userGroupsState';
|
|
933
936
|
export { SessionManager } from './entity/tenant/SessionManager';
|
|
934
937
|
export type { SessionCallbacks, SessionConfig, } from './entity/tenant/sessionTypes';
|
package/lib/index.js
CHANGED
|
@@ -71,7 +71,7 @@ exports.fetchNotificationUnreadCountSuccess = exports.fetchNotificationUnreadCou
|
|
|
71
71
|
exports.submitExpressPay = exports.updateExpressPayFormLocalData = exports.fetchExpressPayInitialDetails = exports.getIntlWireVerificationView = exports.updateVerificationFormLocalData = exports.submitInternationalVerificationForm = exports.fetchInternationalVerificationForm = exports.createTaskFromTaskGroupTemplate = exports.getCompanyTaskManagerView = exports.fetchTaskManagerMetrics = exports.fetchCompanyTaskManagerView = exports.toRecurringFrequency = exports.toDayOfWeek = exports.getRecurringEndDateFromCount = exports.getMinAllowedEndDate = exports.SEMI_WEEKLY_REQUIRED_DAYS_COUNT = exports.ALL_WEEK_DAYS = exports.updateReferViewed = exports.getRewardsPlanCard = exports.fetchRewardsPlan = exports.resendReferralInvite = exports.updateReferralListSortUiState = exports.saveReferralFormDataInLocalStore = exports.clearReferrals = exports.sendReferralInvite = exports.fetchReferrals = exports.AmountStatusTypes = exports.StatusTypes = exports.toReferralListViewSortKeyType = exports.getInviteFormView = exports.getReferralListView = exports.getNotifications = exports.getLastNotificationTime = exports.pushToastNotification = exports.isFeatureInterestRegistered = exports.getRegisteredInterestsByFeature = exports.getRegisteredInterests = exports.getFeatureNotificationView = exports.notifyMeForFeature = exports.fetchRegisteredInterests = exports.clearFeatureNotificationView = exports.getNotificationsForSelectedSubTab = exports.getExternalNotificationsForSelectedSubTab = exports.getNotificationView = exports.updateNotificationViewUIState = exports.updateNotificationViewSubTab = exports.updateNotificationViewCurrentTabAndSubTab = exports.updateNotificationViewTabState = exports.updateNotificationViewNotificationStatus = exports.updateNotificationViewAllNotificationsStatus = void 0;
|
|
72
72
|
exports.acceptMasterTOS = exports.fetchChatHistory = exports.stopSubmitQuestion = exports.stopSubmit = exports.createSessionAndSubmit = exports.clearLastContextMessage = exports.clearDeleteChatSessionStatus = exports.clearCurrentSessionId = exports.clearAiCfoView = exports.setSession = exports.clearInput = exports.updateCotCollapsedState = exports.updateCurrentInput = exports.updateAiCfoViewScrollPosition = exports.submitQuestion = exports.createSession = exports.fetchChatSessionsForUser = exports.getAiAccountantCockpitView = exports.updateAiAccountantUIState = exports.triggerAiAccountantJob = exports.setSelectedTenantIdsForJobTrigger = exports.fetchAiAccountantJobs = exports.fetchAiAccountantCustomers = exports.clearAiAccountantView = exports.cancelAiAccountantOnboarding = exports.getAiAccountantJobsByTenantId = exports.getAiAccountantCustomers = exports.updateAiAccountantJobs = exports.updateAiAccountantCustomer = exports.updateAiAccountantCustomers = exports.clearAllAiAccountantCustomers = exports.toAiAccountantJob = exports.toAiAccountantEnrollment = exports.toAiAccountantCustomer = exports.toAiAccountantOperationType = exports.toAiAccountantJobStatus = exports.toAiAccountantEnrollmentStatus = exports.getAllowedOperationsForStatus = exports.getTreasuryFundsMaximumYield = exports.getTreasurySetupViewDetails = exports.updateTreasuryVideoViewed = exports.updateFundAllocationLocalData = exports.fetchPortfolioAllocation = exports.updatePortfolioAllocation = exports.fetchTreasuryFunds = exports.clearTreasurySetupView = exports.fetchTreasurySetupView = exports.acceptTreasuryTerms = exports.getExpressPayView = exports.resetExpressPayLocalData = void 0;
|
|
73
73
|
exports.updateAutoTransferRule = exports.createAutoTransferRule = exports.fetchAutoTransferRules = exports.getTreasuryTaxLetters = exports.fetchTreasuryTaxLetterList = exports.getTreasuryStatements = exports.fetchTreasuryStatementList = exports.getTreasuryTransferMoney = exports.clearTreasuryTransferMoney = exports.updateTreasuryTransferMoneyLocalData = exports.executeTreasuryTransferMoney = exports.getTreasuryDetail = exports.updateTreasuryTransactionListUIState = exports.fetchTreasuryTransactionList = exports.fetchTreasuryOverviewDetail = exports.toMessageType = exports.toMessageSender = exports.toAiCfoAnswerResponseTypeStrict = exports.toAiCfoAnswerResponseType = exports.toAiCfoAnswerStateTypeStrict = exports.toAiCfoAnswerStateType = exports.toAiCfoChartTypeStrict = exports.toAiCfoChartType = exports.toAiCfoVisualizationTypeStrict = exports.toAiCfoVisualizationType = exports.ALL_AI_CFO_ANSWER_RESPONSE_TYPES = exports.ALL_AI_CFO_ANSWER_STATE_TYPES = exports.ALL_AI_CFO_VISUALIZATION_TYPES = exports.ALL_AI_CFO_CHARTS_TYPES = exports.getAiCfoSelectorView = exports.getAllQuestionsForChatSession = exports.getQuestionAnswerByIdForChatSession = exports.getAllQuestionAnswersForChatSession = exports.toAiCfoVisualization = exports.clearAiCfo = exports.clearSession = exports.addQuestionPayload = exports.upsertOrAddQuestionAnswerPayload = exports.upsertAnswerPayload = exports.setSessions = exports.setNewSession = exports.getSuggestedQuestionsForPageContext = exports.getAiCfoView = exports.clearAiCfoSidePanelHostPageContext = exports.applyAiCfoSidePanelHostPageTransition = exports.fetchSuggestedQuestionsFailure = exports.fetchSuggestedQuestionsSuccess = exports.fetchSuggestedQuestions = exports.updateResponseState = exports.deleteChatSession = void 0;
|
|
74
|
-
exports.DEFAULT_SESSION_CONFIG = exports.SessionManager = exports.getTransactionActivityLogView = exports.fetchTransactionActivityLog = exports.BULK_UPLOAD_BAR_COMPLETE_HOLD_MS = exports.BULK_UPLOAD_AUTOMATCHING_TIMEOUT_MS = exports.getAutoTransferRuleHistory = exports.getAutoTransferRuleById = exports.getAutoTransferRules = exports.clearRuleUpdateLocalData = exports.updateRuleLocalData = exports.fetchAutoTransferReviewDetail = exports.fetchAutoTransferRuleHistory = exports.deleteAutoTransferRule = void 0;
|
|
74
|
+
exports.DEFAULT_SESSION_CONFIG = exports.SessionManager = exports.getScheduleActivityLogView = exports.clearScheduleActivityLogView = exports.fetchScheduleActivityLog = exports.getTransactionActivityLogView = exports.fetchTransactionActivityLog = exports.BULK_UPLOAD_BAR_COMPLETE_HOLD_MS = exports.BULK_UPLOAD_AUTOMATCHING_TIMEOUT_MS = exports.getAutoTransferRuleHistory = exports.getAutoTransferRuleById = exports.getAutoTransferRules = exports.clearRuleUpdateLocalData = exports.updateRuleLocalData = exports.fetchAutoTransferReviewDetail = exports.fetchAutoTransferRuleHistory = exports.deleteAutoTransferRule = void 0;
|
|
75
75
|
const allowedValue_1 = require("./commonStateTypes/allowedValue");
|
|
76
76
|
Object.defineProperty(exports, "isAllowedValueWithCode", { enumerable: true, get: function () { return allowedValue_1.isAllowedValueWithCode; } });
|
|
77
77
|
Object.defineProperty(exports, "isAllowedValueWithID", { enumerable: true, get: function () { return allowedValue_1.isAllowedValueWithID; } });
|
|
@@ -2303,6 +2303,11 @@ var transactionActivityLogViewReducer_1 = require("./view/transactionActivityLog
|
|
|
2303
2303
|
Object.defineProperty(exports, "fetchTransactionActivityLog", { enumerable: true, get: function () { return transactionActivityLogViewReducer_1.fetchTransactionActivityLog; } });
|
|
2304
2304
|
var transactionActivityLogViewSelector_1 = require("./view/transactionActivityLogView/transactionActivityLogViewSelector");
|
|
2305
2305
|
Object.defineProperty(exports, "getTransactionActivityLogView", { enumerable: true, get: function () { return transactionActivityLogViewSelector_1.getTransactionActivityLogView; } });
|
|
2306
|
+
var scheduleActivityLogViewReducer_1 = require("./view/scheduleActivityLogView/scheduleActivityLogViewReducer");
|
|
2307
|
+
Object.defineProperty(exports, "fetchScheduleActivityLog", { enumerable: true, get: function () { return scheduleActivityLogViewReducer_1.fetchScheduleActivityLog; } });
|
|
2308
|
+
Object.defineProperty(exports, "clearScheduleActivityLogView", { enumerable: true, get: function () { return scheduleActivityLogViewReducer_1.clearScheduleActivityLogView; } });
|
|
2309
|
+
var scheduleActivityLogViewSelector_1 = require("./view/scheduleActivityLogView/scheduleActivityLogViewSelector");
|
|
2310
|
+
Object.defineProperty(exports, "getScheduleActivityLogView", { enumerable: true, get: function () { return scheduleActivityLogViewSelector_1.getScheduleActivityLogView; } });
|
|
2306
2311
|
// ── Session Management ──────────────────────────────────────────────
|
|
2307
2312
|
var SessionManager_1 = require("./entity/tenant/SessionManager");
|
|
2308
2313
|
Object.defineProperty(exports, "SessionManager", { enumerable: true, get: function () { return SessionManager_1.SessionManager; } });
|
package/lib/reducer.d.ts
CHANGED
|
@@ -41,6 +41,7 @@ import { PaymentInstrumentState } from './entity/paymentInstrument/paymentInstru
|
|
|
41
41
|
import { AccountingSummaryState } from './entity/portfolio/accountingSummary/accountingSummaryState';
|
|
42
42
|
import { ProjectState } from './entity/project/projectReducer';
|
|
43
43
|
import { ReimbursementState } from './entity/reimbursement/reimbursementState';
|
|
44
|
+
import { ScheduleActivityLogState } from './entity/scheduleActivityLog/scheduleActivityLogState';
|
|
44
45
|
import { SectionAccountsViewState } from './entity/sectionAccountsView/sectionAccountsViewState';
|
|
45
46
|
import { SectionClassesViewStateV2 } from './entity/sectionClassesViewV2/sectionClassesViewState';
|
|
46
47
|
import { SectionProjectViewState } from './entity/sectionProjectView/sectionProjectViewState';
|
|
@@ -137,6 +138,7 @@ import { ReportsResyncState } from './view/reportsResync/reportsResyncState';
|
|
|
137
138
|
import { RevenueWithForecastState } from './view/revenue/revenueState';
|
|
138
139
|
import { RevenueClassesViewState } from './view/revenueClassesView/revenueClassesViewState';
|
|
139
140
|
import { ReviewCompanyViewState } from './view/reviewCompanyView/reviewCompanyViewState';
|
|
141
|
+
import { ScheduleActivityLogViewState } from './view/scheduleActivityLogView/scheduleActivityLogViewState';
|
|
140
142
|
import { ScheduleAccruedDetailViewState } from './view/scheduleView/scheduleAccruedDetailView/scheduleAccruedDetailState';
|
|
141
143
|
import { ScheduleDetailViewState } from './view/scheduleView/scheduleDetailView/scheduleDetailState';
|
|
142
144
|
import { ScheduleListViewState } from './view/scheduleView/scheduleListView/scheduleListState';
|
|
@@ -265,6 +267,7 @@ type EntitiesState = {
|
|
|
265
267
|
recurringBillState: RecurringBillState;
|
|
266
268
|
reimbursementConfigState: ReimbursementConfigState;
|
|
267
269
|
reimbursementState: ReimbursementState;
|
|
270
|
+
scheduleActivityLogState: ScheduleActivityLogState;
|
|
268
271
|
sectionAccountsViewState: SectionAccountsViewState;
|
|
269
272
|
sectionClassesViewStateV2: SectionClassesViewStateV2;
|
|
270
273
|
sectionProjectViewState: SectionProjectViewState;
|
|
@@ -404,6 +407,7 @@ type ViewsState = {
|
|
|
404
407
|
revenueState: RevenueWithForecastState;
|
|
405
408
|
reviewCompanyViewState: ReviewCompanyViewState;
|
|
406
409
|
scheduleAccruedDetailState: ScheduleAccruedDetailViewState;
|
|
410
|
+
scheduleActivityLogViewState: ScheduleActivityLogViewState;
|
|
407
411
|
scheduleDetailState: ScheduleDetailViewState;
|
|
408
412
|
scheduleListState: ScheduleListViewState;
|
|
409
413
|
settingsViewState: SettingsViewState;
|
|
@@ -564,6 +568,7 @@ declare const reducers: import("redux").Reducer<import("redux").CombinedState<{
|
|
|
564
568
|
revenueClassesViewState: RevenueClassesViewState;
|
|
565
569
|
revenueState: RevenueWithForecastState;
|
|
566
570
|
reviewCompanyViewState: ReviewCompanyViewState;
|
|
571
|
+
scheduleActivityLogViewState: ScheduleActivityLogViewState;
|
|
567
572
|
scheduleAccruedDetailState: ScheduleAccruedDetailViewState;
|
|
568
573
|
scheduleDetailState: ScheduleDetailViewState;
|
|
569
574
|
scheduleListState: ScheduleListViewState;
|
|
@@ -653,6 +658,7 @@ declare const reducers: import("redux").Reducer<import("redux").CombinedState<{
|
|
|
653
658
|
paymentInstrumentState: PaymentInstrumentState;
|
|
654
659
|
recurringBillState: RecurringBillState;
|
|
655
660
|
reimbursementState: ReimbursementState;
|
|
661
|
+
scheduleActivityLogState: ScheduleActivityLogState;
|
|
656
662
|
sectionAccountsViewState: SectionAccountsViewState;
|
|
657
663
|
sectionClassesViewStateV2: SectionClassesViewStateV2;
|
|
658
664
|
sectionProjectViewState: SectionProjectViewState;
|
package/lib/reducer.js
CHANGED
|
@@ -81,6 +81,7 @@ const paymentInstrumentReducer_1 = __importStar(require("./entity/paymentInstrum
|
|
|
81
81
|
const accountingSummaryReducer_1 = __importStar(require("./entity/portfolio/accountingSummary/accountingSummaryReducer"));
|
|
82
82
|
const projectReducer_1 = __importStar(require("./entity/project/projectReducer"));
|
|
83
83
|
const reimbursementReducer_1 = __importStar(require("./entity/reimbursement/reimbursementReducer"));
|
|
84
|
+
const scheduleActivityLogReducer_1 = __importStar(require("./entity/scheduleActivityLog/scheduleActivityLogReducer"));
|
|
84
85
|
const sectionAccountsViewReducer_1 = __importStar(require("./entity/sectionAccountsView/sectionAccountsViewReducer"));
|
|
85
86
|
const sectionClassesViewReducer_1 = __importStar(require("./entity/sectionClassesViewV2/sectionClassesViewReducer"));
|
|
86
87
|
const sectionProjectViewReducer_1 = __importStar(require("./entity/sectionProjectView/sectionProjectViewReducer"));
|
|
@@ -178,6 +179,7 @@ const reportsResyncReducer_1 = __importStar(require("./view/reportsResync/report
|
|
|
178
179
|
const revenueReducer_1 = __importStar(require("./view/revenue/revenueReducer"));
|
|
179
180
|
const revenueClassesViewReducer_1 = __importStar(require("./view/revenueClassesView/revenueClassesViewReducer"));
|
|
180
181
|
const reviewCompanyViewReducer_1 = __importStar(require("./view/reviewCompanyView/reviewCompanyViewReducer"));
|
|
182
|
+
const scheduleActivityLogViewReducer_1 = __importStar(require("./view/scheduleActivityLogView/scheduleActivityLogViewReducer"));
|
|
181
183
|
const scheduleAccruedDetailReducer_1 = __importStar(require("./view/scheduleView/scheduleAccruedDetailView/scheduleAccruedDetailReducer"));
|
|
182
184
|
const scheduleDetailReducer_1 = __importStar(require("./view/scheduleView/scheduleDetailView/scheduleDetailReducer"));
|
|
183
185
|
const scheduleListReducer_1 = __importStar(require("./view/scheduleView/scheduleListView/scheduleListReducer"));
|
|
@@ -307,6 +309,7 @@ const initialEntitiesState = {
|
|
|
307
309
|
recurringBillState: recurringBillsReducer_1.initialState,
|
|
308
310
|
reimbursementConfigState: reimbursementConfigReducer_1.initialState,
|
|
309
311
|
reimbursementState: reimbursementReducer_1.initialState,
|
|
312
|
+
scheduleActivityLogState: scheduleActivityLogReducer_1.initialState,
|
|
310
313
|
sectionAccountsViewState: sectionAccountsViewReducer_1.initialState,
|
|
311
314
|
sectionClassesViewStateV2: sectionClassesViewReducer_1.initialState,
|
|
312
315
|
sectionProjectViewState: sectionProjectViewReducer_1.initialState,
|
|
@@ -445,6 +448,7 @@ const initialViewsState = {
|
|
|
445
448
|
revenueClassesViewState: revenueClassesViewReducer_1.initialState,
|
|
446
449
|
revenueState: revenueReducer_1.initialState,
|
|
447
450
|
reviewCompanyViewState: reviewCompanyViewReducer_1.initialState,
|
|
451
|
+
scheduleActivityLogViewState: scheduleActivityLogViewReducer_1.initialState,
|
|
448
452
|
scheduleAccruedDetailState: scheduleAccruedDetailReducer_1.initialState,
|
|
449
453
|
scheduleDetailState: scheduleDetailReducer_1.initialState,
|
|
450
454
|
scheduleListState: scheduleListReducer_1.initialState,
|
|
@@ -543,6 +547,7 @@ const entityReducers = {
|
|
|
543
547
|
recurringBillState: recurringBillsReducer_1.default,
|
|
544
548
|
reimbursementConfigState: reimbursementConfigReducer_1.default,
|
|
545
549
|
reimbursementState: reimbursementReducer_1.default,
|
|
550
|
+
scheduleActivityLogState: scheduleActivityLogReducer_1.default,
|
|
546
551
|
sectionAccountsViewState: sectionAccountsViewReducer_1.default,
|
|
547
552
|
sectionClassesViewStateV2: sectionClassesViewReducer_1.default,
|
|
548
553
|
sectionProjectViewState: sectionProjectViewReducer_1.default,
|
|
@@ -681,6 +686,7 @@ const viewReducers = {
|
|
|
681
686
|
revenueClassesViewState: revenueClassesViewReducer_1.default,
|
|
682
687
|
revenueState: revenueReducer_1.default,
|
|
683
688
|
reviewCompanyViewState: reviewCompanyViewReducer_1.default,
|
|
689
|
+
scheduleActivityLogViewState: scheduleActivityLogViewReducer_1.default,
|
|
684
690
|
scheduleAccruedDetailState: scheduleAccruedDetailReducer_1.default,
|
|
685
691
|
scheduleDetailState: scheduleDetailReducer_1.default,
|
|
686
692
|
scheduleListState: scheduleListReducer_1.default,
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ActionsObservable, StateObservable } from 'redux-observable';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { ScheduleActivityLogPayload } from '../../entity/scheduleActivityLog/scheduleActivityLogPayload';
|
|
4
|
+
import { updateScheduleActivityLogs } from '../../entity/scheduleActivityLog/scheduleActivityLogReducer';
|
|
5
|
+
import { updateAllUsers } from '../../entity/user/userReducer';
|
|
6
|
+
import { RootState } from '../../reducer';
|
|
7
|
+
import { ZeniAPI } from '../../zeniAPI';
|
|
8
|
+
import { fetchScheduleActivityLog, updateScheduleActivityLogViewFetchStatus, updateScheduleActivityLogViewOnSuccess } from './scheduleActivityLogViewReducer';
|
|
9
|
+
export declare const filterValidScheduleActivityPayloads: (rawActivity: ReadonlyArray<ScheduleActivityLogPayload>) => ScheduleActivityLogPayload[];
|
|
10
|
+
export type ActionType = ReturnType<typeof fetchScheduleActivityLog> | ReturnType<typeof updateScheduleActivityLogs> | ReturnType<typeof updateAllUsers> | ReturnType<typeof updateScheduleActivityLogViewOnSuccess> | ReturnType<typeof updateScheduleActivityLogViewFetchStatus>;
|
|
11
|
+
export declare const fetchScheduleActivityLogEpic: (actions$: ActionsObservable<ActionType>, _: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|