@zeniai/client-epic-state 4.13.95 → 4.13.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.
Files changed (40) hide show
  1. package/lib/entity/billPay/recurringBills/recurringBillsState.d.ts +2 -2
  2. package/lib/entity/chargeCard/chargeCard.d.ts +1 -1
  3. package/lib/entity/vendorExpense/vendorExpenseSelector.d.ts +2 -2
  4. package/lib/view/addressView/epic/fetchAddressEpic.d.ts +3 -3
  5. package/lib/view/addressView/epic/updateAddressEpic.d.ts +3 -3
  6. package/lib/view/common/recurringViewHelper.d.ts +2 -2
  7. package/lib/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewReducer.d.ts +2 -2
  8. package/lib/view/companyView/types/cockpitTabsID.d.ts +1 -1
  9. package/lib/view/companyView/types/cockpitTypes.d.ts +2 -2
  10. package/lib/view/dashboard/dashboardEpic.js +2 -16
  11. package/lib/view/expenseAutomationView/epics/fluxAnalysis/reviewFluxAnalysisEpic.d.ts +3 -2
  12. package/lib/view/expenseAutomationView/epics/fluxAnalysis/reviewFluxAnalysisEpic.js +13 -1
  13. package/lib/view/expenseAutomationView/epics/jeSchedule/ignoreRecommendedJeScheduleEpic.d.ts +2 -1
  14. package/lib/view/expenseAutomationView/epics/jeSchedule/ignoreRecommendedJeScheduleEpic.js +7 -0
  15. package/lib/view/expenseAutomationView/epics/jeSchedule/retryJeSchedulesEpic.d.ts +2 -1
  16. package/lib/view/expenseAutomationView/epics/jeSchedule/retryJeSchedulesEpic.js +7 -0
  17. package/lib/view/expenseAutomationView/epics/missingReceipts/uploadMissingReceiptSuccessEpic.d.ts +5 -8
  18. package/lib/view/expenseAutomationView/epics/missingReceipts/uploadMissingReceiptSuccessEpic.js +16 -2
  19. package/lib/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.d.ts +2 -1
  20. package/lib/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +13 -0
  21. package/lib/view/expenseAutomationView/helpers/helpers.d.ts +3 -0
  22. package/lib/view/expenseAutomationView/helpers/helpers.js +18 -1
  23. package/lib/view/expenseAutomationView/selectors/fluxAnalysisViewSelector.js +1 -14
  24. package/lib/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +9 -8
  25. package/lib/view/expenseAutomationView/selectors/missingReceiptsSelector.js +11 -6
  26. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +11 -17
  27. package/lib/view/people/changeZeniPersonRolesEpic.d.ts +3 -3
  28. package/lib/view/people/invitePeopleEpic.d.ts +12 -12
  29. package/lib/view/people/inviteZeniPeopleEpic.d.ts +12 -12
  30. package/lib/view/people/resendInviteEpic.d.ts +3 -3
  31. package/lib/view/reportUIOptions/updateReportUIOptionCOABalancesRangeEpic.d.ts +3 -3
  32. package/lib/view/reviewCompanyView/reviewCompanyViewState.d.ts +1 -1
  33. package/lib/view/settingsView/epic/fetchMyProfileEpic.d.ts +6 -6
  34. package/lib/view/settingsView/settingsViewState.d.ts +1 -1
  35. package/lib/view/subscriptionView/types/subscriptionTypes.d.ts +1 -1
  36. package/lib/view/topEx/topExReducer.d.ts +1 -1
  37. package/lib/view/topEx/topExSelector.d.ts +2 -2
  38. package/lib/view/topEx/topExState.d.ts +1 -1
  39. package/lib/view/vendorReviewView/common/state/commonTypes.d.ts +1 -1
  40. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
1
  import { ID } from '../../../commonStateTypes/common';
2
2
  import { ZeniDate } from '../../../zeniDayJS';
3
3
  import { BillPaymentStatusCodeType, BillStage, BillStatusCodeType } from '../billTransaction/billTransactionState';
4
- export declare const toRecurringBillFrequency: (v: string) => "weekly" | "monthly" | "biweekly" | "quarterly";
5
- export declare const toRecurringBillFrequencyStrict: (v?: string | undefined) => "weekly" | "monthly" | "biweekly" | "quarterly" | undefined;
4
+ export declare const toRecurringBillFrequency: (v: string) => "weekly" | "biweekly" | "monthly" | "quarterly";
5
+ export declare const toRecurringBillFrequencyStrict: (v?: string | undefined) => "weekly" | "biweekly" | "monthly" | "quarterly" | undefined;
6
6
  export declare type RecurringBillFrequency = NonNullable<ReturnType<typeof toRecurringBillFrequency>>;
7
7
  export interface RecurringBillPaymentStatus {
8
8
  code?: BillPaymentStatusCodeType;
@@ -43,7 +43,7 @@ export interface CreditLimitFrequency {
43
43
  code: CreditLimitFrequencyCodeType;
44
44
  name: string;
45
45
  }
46
- export declare const toCreditLimitFrequencyCodeType: (v: string) => "daily" | "weekly" | "monthly" | "quarterly" | "yearly";
46
+ export declare const toCreditLimitFrequencyCodeType: (v: string) => "weekly" | "monthly" | "quarterly" | "daily" | "yearly";
47
47
  export declare type CreditLimitFrequencyCodeType = ReturnType<typeof toCreditLimitFrequencyCodeType>;
48
48
  interface CardStatus {
49
49
  code: CardStatusCodeType;
@@ -4,7 +4,7 @@ import { VendorExpenseTrend } from './vendorExpenseTrend';
4
4
  import { TimeframeTick } from '../../commonStateTypes/timeframeTick';
5
5
  import { Month } from '../../commonStateTypes/timePeriod';
6
6
  export declare function getVendor(vendorExpenseState: VendorExpenseState, vendorId: ID, timePeriod: TimeframeTick | undefined, firstMonthOfFY?: Month, filter?: VendorSpendTrendFilterTabType): VendorExpenseTrend | undefined;
7
- declare const toVendorSpendTrendFilterTabsType: (v: string) => "last_month" | "last_30_days" | "variance" | "last_90_days" | "YTD_spend" | "last_3_months" | "last_6_months" | "last_12_months" | "last_year";
8
- export declare const toVendorSpendTrendFilterTabsTypeStrict: (v: string) => "last_month" | "last_30_days" | "variance" | "last_90_days" | "YTD_spend" | "last_3_months" | "last_6_months" | "last_12_months" | "last_year" | undefined;
7
+ declare const toVendorSpendTrendFilterTabsType: (v: string) => "last_month" | "last_3_months" | "last_6_months" | "last_12_months" | "last_year" | "last_30_days" | "variance" | "last_90_days" | "YTD_spend";
8
+ export declare const toVendorSpendTrendFilterTabsTypeStrict: (v: string) => "last_month" | "last_3_months" | "last_6_months" | "last_12_months" | "last_year" | "last_30_days" | "variance" | "last_90_days" | "YTD_spend" | undefined;
9
9
  export declare type VendorSpendTrendFilterTabType = ReturnType<typeof toVendorSpendTrendFilterTabsType>;
10
10
  export {};
@@ -7,13 +7,13 @@ export declare type ActionType = ReturnType<typeof fetchAddress> | ReturnType<ty
7
7
  export declare const fetchAddressEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => import("rxjs").Observable<{
8
8
  payload: string;
9
9
  type: string;
10
- } | {
11
- payload: import("../../../entity/address/addressPayload").AddressPayload[];
12
- type: string;
13
10
  } | {
14
11
  payload: {
15
12
  addressId: string;
16
13
  status: import("../../../responsePayload").ZeniAPIStatus<Record<string, unknown>>;
17
14
  };
18
15
  type: string;
16
+ } | {
17
+ payload: import("../../../entity/address/addressPayload").AddressPayload[];
18
+ type: string;
19
19
  }>;
@@ -7,13 +7,13 @@ export declare type ActionType = ReturnType<typeof updateAddress> | ReturnType<t
7
7
  export declare const updateAddressEpic: (actions$: ActionsObservable<ActionType>, _: StateObservable<RootState>, zeniAPI: ZeniAPI) => import("rxjs").Observable<{
8
8
  payload: string;
9
9
  type: string;
10
- } | {
11
- payload: import("../../../entity/address/addressPayload").AddressPayload[];
12
- type: string;
13
10
  } | {
14
11
  payload: {
15
12
  addressId: string;
16
13
  status: import("../../../responsePayload").ZeniAPIStatus<Record<string, unknown>>;
17
14
  };
18
15
  type: string;
16
+ } | {
17
+ payload: import("../../../entity/address/addressPayload").AddressPayload[];
18
+ type: string;
19
19
  }>;
@@ -1,6 +1,6 @@
1
1
  import { ZeniDate } from '../../zeniDayJS';
2
- export declare const toRecurringFrequency: (v: string) => "daily" | "weekly" | "monthly" | "biweekly" | "quarterly";
3
- export declare const toRecurringFrequencyStrict: (v?: string | undefined) => "daily" | "weekly" | "monthly" | "biweekly" | "quarterly" | undefined;
2
+ export declare const toRecurringFrequency: (v: string) => "weekly" | "biweekly" | "monthly" | "quarterly" | "daily";
3
+ export declare const toRecurringFrequencyStrict: (v?: string | undefined) => "weekly" | "biweekly" | "monthly" | "quarterly" | "daily" | undefined;
4
4
  export declare type RecurringFrequencyType = NonNullable<ReturnType<typeof toRecurringFrequency>>;
5
5
  declare const toRecurringDatePickerOptions: (v: string) => "date" | "recurringCount";
6
6
  export declare type RecurringDatePickerOptions = NonNullable<ReturnType<typeof toRecurringDatePickerOptions>>;
@@ -36,8 +36,8 @@ export declare const fetchVendorsTabVendorDetails: import("@reduxjs/toolkit").Ac
36
36
  }, string, never, never>, updateVendorsTabVendorAllTransactionsTabData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
37
37
  timePeriod: TimePeriod;
38
38
  numberOfQuartersFetched: number;
39
- }, string>, resetSelectedTabType: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, updateSelectedTabType: import("@reduxjs/toolkit").ActionCreatorWithPayload<"spend_transactions" | "all_transactions", string>, updateVendorSpendTrendFilterTabValue: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[vendorSpendTrendfilterTabValue: "last_month" | "last_30_days" | "variance" | "last_90_days" | "YTD_spend" | "last_3_months" | "last_6_months" | "last_12_months" | "last_year"], {
40
- vendorSpendTrendfilterTabValue: "last_month" | "last_30_days" | "variance" | "last_90_days" | "YTD_spend" | "last_3_months" | "last_6_months" | "last_12_months" | "last_year";
39
+ }, string>, resetSelectedTabType: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, updateSelectedTabType: import("@reduxjs/toolkit").ActionCreatorWithPayload<"spend_transactions" | "all_transactions", string>, updateVendorSpendTrendFilterTabValue: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[vendorSpendTrendfilterTabValue: "last_month" | "last_3_months" | "last_6_months" | "last_12_months" | "last_year" | "last_30_days" | "variance" | "last_90_days" | "YTD_spend"], {
40
+ vendorSpendTrendfilterTabValue: "last_month" | "last_3_months" | "last_6_months" | "last_12_months" | "last_year" | "last_30_days" | "variance" | "last_90_days" | "YTD_spend";
41
41
  }, string, never, never>, resetVendorsTabVendorAllTransactionsTabData: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, updateContactsInVendorTabDetailLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
42
42
  vendorId: ID;
43
43
  localData?: Partial<VendorsTabVendorDetailLocalData> | undefined;
@@ -1,5 +1,5 @@
1
1
  export declare const ALL_COCKPIT_TABS_IDS: readonly ["management", "subscription", "portfolio", "onboarding", "audit", "healthMonitor"];
2
- export declare const toCockpitTabsIDStrict: (v: string) => "onboarding" | "subscription" | "management" | "portfolio" | "audit" | "healthMonitor" | undefined;
2
+ export declare const toCockpitTabsIDStrict: (v: string) => "onboarding" | "management" | "subscription" | "portfolio" | "audit" | "healthMonitor" | undefined;
3
3
  export declare type CockpitTabsID = NonNullable<ReturnType<typeof toCockpitTabsIDStrict>>;
4
4
  export declare type CockpitDownloadTabsID = Exclude<CockpitTabsID, 'audit'>;
5
5
  export declare const ALL_COCKPIT_TABS_FILE_TYPES: readonly ["excel"];
@@ -3,8 +3,8 @@ import { ZeniDate } from '../../../zeniDayJS';
3
3
  import { SubscriptionViewSortKey } from '../../subscriptionView/types/subscriptionTypes';
4
4
  import { FilterCategoryValueType } from '../helpers/cockpitHelpers';
5
5
  import { CockpitDownloadTabsID, CockpitTabsFileType } from './cockpitTabsID';
6
- export declare const toPortfolioSortKeyType: (v: string) => "expenses" | "runway" | "cashBalance" | "netIncome" | "companyName" | "revenues";
7
- export declare const toManagementSortKeyType: (v: string) => "status" | "group" | "bookCloseDate" | "controller" | "preparer" | "reviewer" | "companyName" | "monthlyRecurringRevenue" | "annualRecurringRevenue" | "taxStatus" | "notes" | "plans" | "customerSuccessManager" | "task" | "apAnalyst" | "reportSent" | "taxLead" | "satisfaction";
6
+ export declare const toPortfolioSortKeyType: (v: string) => "expenses" | "runway" | "companyName" | "cashBalance" | "revenues" | "netIncome";
7
+ export declare const toManagementSortKeyType: (v: string) => "status" | "group" | "bookCloseDate" | "taxStatus" | "controller" | "preparer" | "reviewer" | "companyName" | "notes" | "plans" | "monthlyRecurringRevenue" | "annualRecurringRevenue" | "customerSuccessManager" | "task" | "apAnalyst" | "reportSent" | "taxLead" | "satisfaction";
8
8
  export declare const toOnboardingSortKeyType: (v: string) => "companyName" | "notes" | "bankAccountLinked" | "qboLinked" | "identityVerified" | "businessVerified" | "groupCreated" | "customerCreated" | "enroller" | "invite";
9
9
  export declare const toHealthSortKeyType: (v: string) => "group" | "runway" | "controller" | "companyName" | "monthlyRecurringRevenue" | "customerSatisfactionScore" | "netPromoterScore" | "customerSuccessManager" | "lastReportSent" | "externalProductServiceExposure" | "finOpsEngagementFrequency" | "companyEngagementMetricsUpdatedAt" | "issues" | "productVerticals" | "churnProbability" | "subscriptionDate" | "renewalDate";
10
10
  export declare const toTaskManagerSortKeyType: (v: string) => "priority" | "name" | "status" | "dueDate" | "taskName" | "assignee" | "tags" | "createdBy";
@@ -30,21 +30,7 @@ const zeniAccountsPromoCardReducer_1 = require("../zeniAccountsPromoCard/zeniAcc
30
30
  const referralReducer_1 = require("../referralView/referralReducer");
31
31
  const monthEndCloseChecksViewReducer_1 = require("../monthEndCloseChecksView/monthEndCloseChecksViewReducer");
32
32
  const timePeriod_1 = require("../../commonStateTypes/timePeriod");
33
- const fetchAllTenantsEpic_1 = require("../../entity/tenant/epic/fetchAllTenantsEpic");
34
- const zeniDayJS_1 = require("../../zeniDayJS");
35
- const getDefaultSelectedMonthAndYearForTenant = (currentTenant) => {
36
- const { zeniBookCloseMonthAndYear } = currentTenant;
37
- if (zeniBookCloseMonthAndYear != null) {
38
- const currentDate = (0, zeniDayJS_1.date)(`${zeniBookCloseMonthAndYear.year}-${zeniBookCloseMonthAndYear.month}-01`);
39
- const nextMonthDate = currentDate.add(1, 'month');
40
- const nextMonthPeriod = {
41
- month: (0, timePeriod_1.toMonth)(nextMonthDate.month() + 1),
42
- year: nextMonthDate.year(),
43
- };
44
- return nextMonthPeriod;
45
- }
46
- return fetchAllTenantsEpic_1.defaultMonthYearPeriod;
47
- };
33
+ const helpers_1 = require("../expenseAutomationView/helpers/helpers");
48
34
  const fetchDashboardEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(dashboardReducer_1.fetchDashboard.match), (0, operators_1.switchMap)((action) => {
49
35
  var _a, _b, _c, _d, _e, _f, _g, _h;
50
36
  const { userId, companyId, fetchFullReport, cacheOverride, excludeResources, tenantId, } = action.payload;
@@ -56,7 +42,7 @@ const fetchDashboardEpic = (actions$, state$) => actions$.pipe((0, operators_1.f
56
42
  const isInvestorBanker = (0, userRoleType_1.hasInvestorBankerLevelAccess)(currentTenant.userRole);
57
43
  const arAgingDate = state$.value.arAgingState.uiState.selectedDate;
58
44
  const apAgingDate = state$.value.apAgingState.uiState.selectedDate;
59
- const monthEndChecksPeriod = getDefaultSelectedMonthAndYearForTenant(currentTenant);
45
+ const monthEndChecksPeriod = (0, helpers_1.getDefaultSelectedMonthAndYearForTenant)(currentTenant);
60
46
  if (cacheOverride === true) {
61
47
  const actions = [
62
48
  (0, tenantReducer_1.fetchAllTenants)(userId),
@@ -8,5 +8,6 @@ import { updateClasses } from '../../../../entity/class/classReducer';
8
8
  import { updateVendors } from '../../../../entity/vendor/vendorReducer';
9
9
  import { updateAllUsers } from '../../../../entity/user/userReducer';
10
10
  import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
11
- export declare type ActionType = ReturnType<typeof reviewFluxAnalysisView> | ReturnType<typeof reviewFluxAnalysisViewSuccess> | ReturnType<typeof reviewFluxAnalysisViewFailure> | ReturnType<typeof openSnackbar> | ReturnType<typeof updateAccounts> | ReturnType<typeof updateClasses> | ReturnType<typeof updateVendors> | ReturnType<typeof updateAllUsers>;
12
- export declare const reviewFluxAnalysisViewEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
11
+ import { fetchMonthEndCloseChecks } from '../../../monthEndCloseChecksView/monthEndCloseChecksViewReducer';
12
+ export declare type ActionType = ReturnType<typeof reviewFluxAnalysisView> | ReturnType<typeof reviewFluxAnalysisViewSuccess> | ReturnType<typeof reviewFluxAnalysisViewFailure> | ReturnType<typeof openSnackbar> | ReturnType<typeof updateAccounts> | ReturnType<typeof updateClasses> | ReturnType<typeof updateVendors> | ReturnType<typeof updateAllUsers> | ReturnType<typeof fetchMonthEndCloseChecks>;
13
+ export declare const reviewFluxAnalysisViewEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -11,9 +11,12 @@ const vendorReducer_1 = require("../../../../entity/vendor/vendorReducer");
11
11
  const userReducer_1 = require("../../../../entity/user/userReducer");
12
12
  const helpers_1 = require("../../helpers/helpers");
13
13
  const snackbarReducer_1 = require("../../../../entity/snackbar/snackbarReducer");
14
- const reviewFluxAnalysisViewEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(fluxAnalysisViewReducer_1.reviewFluxAnalysisView.match), (0, operators_1.mergeMap)((action) => {
14
+ const tenantSelector_1 = require("../../../../entity/tenant/tenantSelector");
15
+ const monthEndCloseChecksViewReducer_1 = require("../../../monthEndCloseChecksView/monthEndCloseChecksViewReducer");
16
+ const reviewFluxAnalysisViewEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(fluxAnalysisViewReducer_1.reviewFluxAnalysisView.match), (0, operators_1.mergeMap)((action) => {
15
17
  const { actionType, operatingExpenseIds, selectedPeriod, isBulk } = action.payload;
16
18
  const payload = Object.assign({}, getReviewFluxPayload(actionType, operatingExpenseIds));
19
+ const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state$.value);
17
20
  return zeniAPI
18
21
  .putAndGetJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/month-close/flux-analysis
19
22
  `, payload)
@@ -21,6 +24,7 @@ const reviewFluxAnalysisViewEpic = (actions$, _state$, zeniAPI) => actions$.pipe
21
24
  var _a, _b;
22
25
  if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
23
26
  const updateActions = [];
27
+ // TODO - Anjali - Update the actions array (no multiple push calls)
24
28
  updateActions.push((0, accountReducer_1.updateAccounts)(response.data.accounts, 'account_list'));
25
29
  updateActions.push((0, classReducer_1.updateClasses)('class_list', response.data.accounting_class));
26
30
  updateActions.push((0, vendorReducer_1.updateVendors)(response.data.vendors, 'merge'));
@@ -36,6 +40,14 @@ const reviewFluxAnalysisViewEpic = (actions$, _state$, zeniAPI) => actions$.pipe
36
40
  isBulk,
37
41
  }));
38
42
  }
43
+ if (currentTenant != null) {
44
+ const monthEndChecksPeriod = (0, helpers_1.getDefaultSelectedMonthAndYearForTenant)(currentTenant);
45
+ updateActions.push((0, monthEndCloseChecksViewReducer_1.fetchMonthEndCloseChecks)({
46
+ tenantId: currentTenant.tenantId,
47
+ period: monthEndChecksPeriod,
48
+ refreshViewInBackground: true,
49
+ }));
50
+ }
39
51
  updateActions.push((0, snackbarReducer_1.openSnackbar)({
40
52
  messageSection: actionType === 'review'
41
53
  ? 'flux_analysis_reviewed'
@@ -4,5 +4,6 @@ import { RootState } from '../../../../reducer';
4
4
  import { updateJESchedulesDetails, updateJESchedules } from '../../../../entity/jeSchedules/jeSchedulesReducer';
5
5
  import { ignoreRecommendedJeSchedule, ignoreRecommendedJeScheduleSuccess, ignoreRecommendedJeScheduleFailure, removeJeScheduleTransactionKey } from '../../reducers/jeSchedulesViewReducer';
6
6
  import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
7
- export declare type ActionType = ReturnType<typeof ignoreRecommendedJeSchedule> | ReturnType<typeof ignoreRecommendedJeScheduleFailure> | ReturnType<typeof ignoreRecommendedJeScheduleSuccess> | ReturnType<typeof openSnackbar> | ReturnType<typeof removeJeScheduleTransactionKey> | ReturnType<typeof updateJESchedules> | ReturnType<typeof updateJESchedulesDetails>;
7
+ import { fetchMonthEndCloseChecks } from '../../../monthEndCloseChecksView/monthEndCloseChecksViewReducer';
8
+ export declare type ActionType = ReturnType<typeof ignoreRecommendedJeSchedule> | ReturnType<typeof ignoreRecommendedJeScheduleFailure> | ReturnType<typeof ignoreRecommendedJeScheduleSuccess> | ReturnType<typeof openSnackbar> | ReturnType<typeof removeJeScheduleTransactionKey> | ReturnType<typeof updateJESchedules> | ReturnType<typeof fetchMonthEndCloseChecks> | ReturnType<typeof updateJESchedulesDetails>;
8
9
  export declare const ignoreRecommendedJeScheduleEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => import("rxjs").Observable<ActionType>;
@@ -10,6 +10,7 @@ const jeSchedulesSelector_1 = require("../../../../entity/jeSchedules/jeSchedule
10
10
  const jeSchedulesPayload_1 = require("../../payload/jeSchedulesPayload");
11
11
  const tenantSelector_1 = require("../../../../entity/tenant/tenantSelector");
12
12
  const snackbarReducer_1 = require("../../../../entity/snackbar/snackbarReducer");
13
+ const monthEndCloseChecksViewReducer_1 = require("../../../monthEndCloseChecksView/monthEndCloseChecksViewReducer");
13
14
  const ignoreRecommendedJeScheduleEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(jeSchedulesViewReducer_1.ignoreRecommendedJeSchedule.match), (0, operators_1.mergeMap)((action) => {
14
15
  const state = state$.value;
15
16
  const { expenseAutomationViewState: { selectedPeriodByTenantId }, } = state;
@@ -25,9 +26,15 @@ const ignoreRecommendedJeScheduleEpic = (actions$, state$, zeniAPI) => actions$.
25
26
  const ignoreScheduleApi = zeniAPI.putAndGetJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/schedules/ignore/${jeScheduleTransactionState.jeScheduleId}?query=${encodeURIComponent(JSON.stringify(queryParam))}`, payload);
26
27
  return ignoreScheduleApi.pipe((0, operators_1.mergeMap)((response) => {
27
28
  if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
29
+ // TODO - Mohit - Update the actions array (no multiple push calls)
28
30
  actions.push((0, jeSchedulesReducer_1.updateJESchedules)(response.data.je_schedules), (0, jeSchedulesReducer_1.updateJESchedulesDetails)(response.data.je_schedules, response.data.scheduled_journal_entries));
29
31
  actions.push((0, jeSchedulesViewReducer_1.ignoreRecommendedJeScheduleSuccess)(jeScheduleTransactionKey));
30
32
  actions.push((0, jeSchedulesViewReducer_1.removeJeScheduleTransactionKey)(jeScheduleTransactionKey, selectedPeriod));
33
+ actions.push((0, monthEndCloseChecksViewReducer_1.fetchMonthEndCloseChecks)({
34
+ tenantId: currentTenant.tenantId,
35
+ period: selectedPeriod,
36
+ refreshViewInBackground: true,
37
+ }));
31
38
  actions.push((0, snackbarReducer_1.openSnackbar)({
32
39
  messageSection: 'ignore_schedule',
33
40
  messageText: 'success',
@@ -5,5 +5,6 @@ import { RootState } from '../../../../reducer';
5
5
  import { updateJeScheduleTransactionKeys, removeFailedJeScheduleTransactionKey, retryJeSchedule, retryJeScheduleFailure, retryJeScheduleSuccess } from '../../reducers/jeSchedulesViewReducer';
6
6
  import { updateJESchedules, updateJESchedulesDetails } from '../../../../entity/jeSchedules/jeSchedulesReducer';
7
7
  import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
8
- export declare type ActionType = ReturnType<typeof openSnackbar> | ReturnType<typeof removeFailedJeScheduleTransactionKey> | ReturnType<typeof retryJeSchedule> | ReturnType<typeof retryJeScheduleFailure> | ReturnType<typeof retryJeScheduleSuccess> | ReturnType<typeof updateJESchedules> | ReturnType<typeof updateJESchedulesDetails> | ReturnType<typeof updateJeScheduleTransactionKeys>;
8
+ import { fetchMonthEndCloseChecks } from '../../../monthEndCloseChecksView/monthEndCloseChecksViewReducer';
9
+ export declare type ActionType = ReturnType<typeof openSnackbar> | ReturnType<typeof removeFailedJeScheduleTransactionKey> | ReturnType<typeof retryJeSchedule> | ReturnType<typeof retryJeScheduleFailure> | ReturnType<typeof retryJeScheduleSuccess> | ReturnType<typeof updateJESchedules> | ReturnType<typeof updateJESchedulesDetails> | ReturnType<typeof fetchMonthEndCloseChecks> | ReturnType<typeof updateJeScheduleTransactionKeys>;
9
10
  export declare const retryJeScheduleEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -8,6 +8,7 @@ const jeSchedulesViewReducer_1 = require("../../reducers/jeSchedulesViewReducer"
8
8
  const jeSchedulesPayload_1 = require("../../payload/jeSchedulesPayload");
9
9
  const tenantSelector_1 = require("../../../../entity/tenant/tenantSelector");
10
10
  const snackbarReducer_1 = require("../../../../entity/snackbar/snackbarReducer");
11
+ const monthEndCloseChecksViewReducer_1 = require("../../../monthEndCloseChecksView/monthEndCloseChecksViewReducer");
11
12
  const retryJeScheduleEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(jeSchedulesViewReducer_1.retryJeSchedule.match), (0, operators_1.switchMap)((action) => {
12
13
  const state = state$.value;
13
14
  const { expenseAutomationJESchedulesViewState: { jeScheduleLocalDataById }, expenseAutomationViewState: { selectedPeriodByTenantId }, } = state;
@@ -24,10 +25,16 @@ const retryJeScheduleEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, ope
24
25
  .pipe((0, operators_1.mergeMap)((response) => {
25
26
  if ((0, responsePayload_1.isSuccessStatus)(response)) {
26
27
  const updateActions = [];
28
+ // TODO - Mohit - Update the actions array (no multiple push calls)
27
29
  updateActions.push((0, jeSchedulesViewReducer_1.retryJeScheduleSuccess)({
28
30
  scheduledJournalEntryID,
29
31
  }));
30
32
  updateActions.push((0, jeSchedulesViewReducer_1.removeFailedJeScheduleTransactionKey)(jeScheduleTransactionKey, selectedPeriod));
33
+ updateActions.push((0, monthEndCloseChecksViewReducer_1.fetchMonthEndCloseChecks)({
34
+ tenantId: currentTenant.tenantId,
35
+ period: selectedPeriod,
36
+ refreshViewInBackground: true,
37
+ }));
31
38
  updateActions.push((0, snackbarReducer_1.openSnackbar)({
32
39
  messageSection: 'je_posted',
33
40
  messageText: 'success',
@@ -1,10 +1,7 @@
1
- import { ActionsObservable } from 'redux-observable';
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
2
  import { updateTransaction } from '../../../../entity/transaction/transactionReducer';
3
3
  import { uploadMissingReceiptSuccess } from '../../reducers/missingReceiptsViewReducer';
4
- export declare type ActionType = ReturnType<typeof uploadMissingReceiptSuccess> | ReturnType<typeof updateTransaction>;
5
- export declare const uploadMissingReceiptSuccessEpic: (actions$: ActionsObservable<ActionType>) => import("rxjs").Observable<import("@reduxjs/toolkit").PayloadAction<{
6
- id: string;
7
- payload: import("../../../..").SupportedTransactionPayload;
8
- }, string, {
9
- updateType: import("../../../..").UpdateType;
10
- }, never>>;
4
+ import { RootState } from '../../../../reducer';
5
+ import { fetchMonthEndCloseChecks } from '../../../monthEndCloseChecksView/monthEndCloseChecksViewReducer';
6
+ export declare type ActionType = ReturnType<typeof uploadMissingReceiptSuccess> | ReturnType<typeof fetchMonthEndCloseChecks> | ReturnType<typeof updateTransaction>;
7
+ export declare const uploadMissingReceiptSuccessEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>) => import("rxjs").Observable<ActionType>;
@@ -5,8 +5,22 @@ const rxjs_1 = require("rxjs");
5
5
  const operators_1 = require("rxjs/operators");
6
6
  const transactionReducer_1 = require("../../../../entity/transaction/transactionReducer");
7
7
  const missingReceiptsViewReducer_1 = require("../../reducers/missingReceiptsViewReducer");
8
- const uploadMissingReceiptSuccessEpic = (actions$) => actions$.pipe((0, operators_1.filter)(missingReceiptsViewReducer_1.uploadMissingReceiptSuccess.match), (0, operators_1.mergeMap)((action) => {
8
+ const monthEndCloseChecksViewReducer_1 = require("../../../monthEndCloseChecksView/monthEndCloseChecksViewReducer");
9
+ const helpers_1 = require("../../helpers/helpers");
10
+ const tenantSelector_1 = require("../../../../entity/tenant/tenantSelector");
11
+ const uploadMissingReceiptSuccessEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(missingReceiptsViewReducer_1.uploadMissingReceiptSuccess.match), (0, operators_1.mergeMap)((action) => {
9
12
  const { transactionPayload, updateType } = action.payload;
10
- return (0, rxjs_1.of)((0, transactionReducer_1.updateTransaction)(transactionPayload.transaction_id, transactionPayload, updateType));
13
+ const updateActions = [];
14
+ const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state$.value);
15
+ updateActions.push((0, transactionReducer_1.updateTransaction)(transactionPayload.transaction_id, transactionPayload, updateType));
16
+ if (currentTenant != null) {
17
+ const monthEndChecksPeriod = (0, helpers_1.getDefaultSelectedMonthAndYearForTenant)(currentTenant);
18
+ updateActions.push((0, monthEndCloseChecksViewReducer_1.fetchMonthEndCloseChecks)({
19
+ tenantId: currentTenant.tenantId,
20
+ period: monthEndChecksPeriod,
21
+ refreshViewInBackground: true,
22
+ }));
23
+ }
24
+ return (0, rxjs_1.from)(updateActions);
11
25
  }));
12
26
  exports.uploadMissingReceiptSuccessEpic = uploadMissingReceiptSuccessEpic;
@@ -2,5 +2,6 @@ import { ActionsObservable, StateObservable } from 'redux-observable';
2
2
  import { RootState } from '../../../../reducer';
3
3
  import { ZeniAPI } from '../../../../zeniAPI';
4
4
  import { updateTransactionCategorization, updateTransactionCategorizationSaveStatus, markTransactionAsNotMiscategorized } from '../../reducers/transactionsViewReducer';
5
- export declare type ActionType = ReturnType<typeof updateTransactionCategorization> | ReturnType<typeof updateTransactionCategorizationSaveStatus> | ReturnType<typeof markTransactionAsNotMiscategorized>;
5
+ import { fetchMonthEndCloseChecks } from '../../../monthEndCloseChecksView/monthEndCloseChecksViewReducer';
6
+ export declare type ActionType = ReturnType<typeof updateTransactionCategorization> | ReturnType<typeof updateTransactionCategorizationSaveStatus> | ReturnType<typeof markTransactionAsNotMiscategorized> | ReturnType<typeof fetchMonthEndCloseChecks>;
6
7
  export declare const updateTransactionCategorizationEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => import("rxjs").Observable<ActionType>;
@@ -20,8 +20,12 @@ const transactionSelector_1 = require("../../../../entity/transaction/transactio
20
20
  const vendorSelector_1 = require("../../../../entity/vendor/vendorSelector");
21
21
  const responsePayload_1 = require("../../../../responsePayload");
22
22
  const transactionsViewReducer_1 = require("../../reducers/transactionsViewReducer");
23
+ const tenantSelector_1 = require("../../../../entity/tenant/tenantSelector");
24
+ const helpers_1 = require("../../helpers/helpers");
25
+ const monthEndCloseChecksViewReducer_1 = require("../../../monthEndCloseChecksView/monthEndCloseChecksViewReducer");
23
26
  const updateTransactionCategorizationEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(transactionsViewReducer_1.updateTransactionCategorization.match), (0, operators_1.mergeMap)((action) => {
24
27
  const { selectedTab } = action.payload;
28
+ const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state$.value);
25
29
  const { transactionState, vendorState, expenseAutomationTransactionsViewState, } = state$.value;
26
30
  const payloadArray = preparePayload(selectedTab, transactionState, vendorState, expenseAutomationTransactionsViewState, action.payload.transactionIds, action.payload.transactionSaveUpdates).filter((payload) => payload != null);
27
31
  return zeniAPI
@@ -29,9 +33,18 @@ const updateTransactionCategorizationEpic = (actions$, state$, zeniAPI) => actio
29
33
  .pipe((0, operators_1.mergeMap)((response) => {
30
34
  if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
31
35
  const transactionsInReview = response.data.transactions_update_success;
36
+ // TODO - Vivek - Update the actions array (no multiple push calls)
32
37
  const actions = [];
33
38
  actions.push((0, transactionsViewReducer_1.markTransactionAsNotMiscategorized)(selectedTab, transactionsInReview));
34
39
  actions.push((0, transactionsViewReducer_1.updateTransactionCategorizationSaveStatus)(selectedTab, 'Completed', (0, responsePayload_1.createZeniAPIStatus)('Completed', 'Transaction categorization updated successfully')));
40
+ if (currentTenant != null) {
41
+ const monthEndChecksPeriod = (0, helpers_1.getDefaultSelectedMonthAndYearForTenant)(currentTenant);
42
+ actions.push((0, monthEndCloseChecksViewReducer_1.fetchMonthEndCloseChecks)({
43
+ tenantId: currentTenant.tenantId,
44
+ period: monthEndChecksPeriod,
45
+ refreshViewInBackground: true,
46
+ }));
47
+ }
35
48
  return (0, rxjs_1.from)(actions);
36
49
  }
37
50
  else {
@@ -1,7 +1,10 @@
1
1
  import { FluxAnalysisActionQueryType, FluxAnalysisQuerySortKey, MonthBalancePayload } from '../payload/fluxAnalysisPayload';
2
2
  import { FluxAnalysisActionType, FluxAnalysisReviewStatus, FluxAnalysisSortKey, FluxBalancesByMonth } from '../types/fluxAnalysisViewState';
3
3
  import { CurrencyPayload } from '../../../commonPayloadTypes/v2/viewAndReportPayloadv2';
4
+ import { MonthYearPeriod } from '../../../commonStateTypes/timePeriod';
5
+ import { TenantView } from '../../../entity/tenant/tenantSelector';
4
6
  export declare const toBalancesByMonthFromPayload: (month1: MonthBalancePayload, month2: MonthBalancePayload, currency: CurrencyPayload) => FluxBalancesByMonth;
5
7
  export declare const toVendorFluxAnalysisSortKeyPayload: (sortKey: FluxAnalysisSortKey) => FluxAnalysisQuerySortKey;
6
8
  export declare const toVendorFluxAnalysisReviewActionPayload: (actionType: FluxAnalysisActionType) => FluxAnalysisActionQueryType;
7
9
  export declare const toVendorFluxAnalysisStatusFromPayload: (status: string) => FluxAnalysisReviewStatus;
10
+ export declare const getDefaultSelectedMonthAndYearForTenant: (currentTenant: TenantView) => MonthYearPeriod;
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toVendorFluxAnalysisStatusFromPayload = exports.toVendorFluxAnalysisReviewActionPayload = exports.toVendorFluxAnalysisSortKeyPayload = exports.toBalancesByMonthFromPayload = void 0;
3
+ exports.getDefaultSelectedMonthAndYearForTenant = exports.toVendorFluxAnalysisStatusFromPayload = exports.toVendorFluxAnalysisReviewActionPayload = exports.toVendorFluxAnalysisSortKeyPayload = exports.toBalancesByMonthFromPayload = void 0;
4
4
  const zeniDayJS_1 = require("../../../zeniDayJS");
5
+ const fetchAllTenantsEpic_1 = require("../../../entity/tenant/epic/fetchAllTenantsEpic");
6
+ const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
5
7
  const toBalancesByMonthFromPayload = (month1, month2, currency) => {
6
8
  var _a, _b, _c, _d;
7
9
  return {
@@ -65,3 +67,18 @@ const toVendorFluxAnalysisStatusFromPayload = (status) => {
65
67
  }
66
68
  };
67
69
  exports.toVendorFluxAnalysisStatusFromPayload = toVendorFluxAnalysisStatusFromPayload;
70
+ // TODO - JK - Move it better place
71
+ const getDefaultSelectedMonthAndYearForTenant = (currentTenant) => {
72
+ const { zeniBookCloseMonthAndYear } = currentTenant;
73
+ if (zeniBookCloseMonthAndYear != null) {
74
+ const currentDate = (0, zeniDayJS_1.date)(`${zeniBookCloseMonthAndYear.year}-${zeniBookCloseMonthAndYear.month}-01`);
75
+ const nextMonthDate = currentDate.add(1, 'month');
76
+ const nextMonthPeriod = {
77
+ month: (0, timePeriod_1.toMonth)(nextMonthDate.month() + 1),
78
+ year: nextMonthDate.year(),
79
+ };
80
+ return nextMonthPeriod;
81
+ }
82
+ return fetchAllTenantsEpic_1.defaultMonthYearPeriod;
83
+ };
84
+ exports.getDefaultSelectedMonthAndYearForTenant = getDefaultSelectedMonthAndYearForTenant;
@@ -63,20 +63,7 @@ function getExpenseAutomationFluxAnalysisView(state) {
63
63
  });
64
64
  }
65
65
  });
66
- const allOperatingExpensesReviewed = operatingExpensesView.filter((operatingExpense) => operatingExpense.status === 'Pending Review').length === 0;
67
- const isFetchStateCompleted = fetchStateAndError.fetchState === 'Completed';
68
- // If all operating expenses are fetched and reviewed, then the bulk review status should be 'complete'
69
- // If there are no operating expenses (after fetch state is completed), then the bulk review status should be 'complete'
70
- // If the flux analysis is complete and all operating expenses are reviewed (in our state), then the bulk review status should be 'complete'
71
- const completionStatus = (isFetchStateCompleted &&
72
- allOperatingExpensesReviewed &&
73
- uiState.hasMore === false) ||
74
- (isFetchStateCompleted &&
75
- operatingExpensesView.length === 0 &&
76
- uiState.hasMore === false) ||
77
- (fluxCompletionStatus === 'complete' && allOperatingExpensesReviewed)
78
- ? 'complete'
79
- : 'incomplete';
66
+ const completionStatus = fluxCompletionStatus != null ? fluxCompletionStatus : 'incomplete';
80
67
  return {
81
68
  fetchStatus: fetchStateAndError,
82
69
  operatingExpensesView,
@@ -11,10 +11,12 @@ const lodash_1 = require("lodash");
11
11
  const scheduleDetailSelector_1 = require("../../scheduleView/scheduleDetailView/scheduleDetailSelector");
12
12
  const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
13
13
  const tenantSelector_1 = require("../../../entity/tenant/tenantSelector");
14
+ const expenseAutomationViewSelectorTypes_1 = require("../selectorTypes/expenseAutomationViewSelectorTypes");
14
15
  function getExpenseAutomationJESchedulesView(state) {
16
+ var _a;
15
17
  const jeScheduledTransaction = [];
16
18
  const failedJeScheduledTransaction = [];
17
- const { accountState, accountListState, classState, classListState, expenseAutomationJESchedulesViewState, expenseAutomationViewState, } = state;
19
+ const { accountState, accountListState, classState, classListState, expenseAutomationJESchedulesViewState, expenseAutomationViewState, monthEndCloseChecksState, } = state;
18
20
  const { jeScheduleTransactionKeysByPeriod, failedJeScheduleTransactionKeysByPeriod, jeScheduleLocalDataById, postStatusById, ignoreStatusById, uiState, error, fetchState, refreshStatus, } = expenseAutomationJESchedulesViewState;
19
21
  const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state);
20
22
  const { selectedPeriodByTenantId } = expenseAutomationViewState;
@@ -66,6 +68,11 @@ function getExpenseAutomationJESchedulesView(state) {
66
68
  resolveSchedules.push(Object.assign(Object.assign({}, schedule), { scheduledJournalEntry: journalEntry }));
67
69
  });
68
70
  });
71
+ const allSteps = monthYearPeriodId != null
72
+ ? (0, expenseAutomationViewSelectorTypes_1.getAllSteps)(monthEndCloseChecksState, monthYearPeriodId, currentTenant.tenantId)
73
+ : [];
74
+ const jeCompletionStatus = (_a = allSteps.find((step) => step.step === 'je_schedules')) === null || _a === void 0 ? void 0 : _a.completionStatus;
75
+ const completionStatus = jeCompletionStatus != null ? jeCompletionStatus : 'incomplete';
69
76
  return {
70
77
  uncategorizedAccounts,
71
78
  allDepreciationAccountList: filteredDepAccounts,
@@ -83,13 +90,7 @@ function getExpenseAutomationJESchedulesView(state) {
83
90
  uiState: uiState,
84
91
  error: error,
85
92
  refreshStatus,
86
- completionStatus: fetchState === 'Completed' &&
87
- draftSchedules.length === 0 &&
88
- resolveSchedules.length === 0 &&
89
- jeScheduleTransactionKeysForSelectedPeriod != null &&
90
- failedJeScheduleTransactionKeysForSelectedPeriod != null
91
- ? 'complete'
92
- : 'incomplete',
93
+ completionStatus,
93
94
  };
94
95
  }
95
96
  exports.getExpenseAutomationJESchedulesView = getExpenseAutomationJESchedulesView;
@@ -8,8 +8,10 @@ const orderBy_1 = __importDefault(require("lodash/orderBy"));
8
8
  const transactionSelector_1 = require("../../../entity/transaction/transactionSelector");
9
9
  const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
10
10
  const tenantSelector_1 = require("../../../entity/tenant/tenantSelector");
11
+ const expenseAutomationViewSelectorTypes_1 = require("../selectorTypes/expenseAutomationViewSelectorTypes");
11
12
  function getExpenseAutomationMissingReceiptsView(state) {
12
- const { expenseAutomationMissingReceiptsViewState, expenseAutomationViewState, transactionState, } = state;
13
+ var _a;
14
+ const { expenseAutomationMissingReceiptsViewState, expenseAutomationViewState, transactionState, monthEndCloseChecksState, } = state;
13
15
  const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state);
14
16
  const { selectedPeriodByTenantId } = expenseAutomationViewState;
15
17
  const selectedPeriod = selectedPeriodByTenantId[currentTenant.tenantId];
@@ -44,6 +46,13 @@ function getExpenseAutomationMissingReceiptsView(state) {
44
46
  return ((_c = transaction.vendorName) !== null && _c !== void 0 ? _c : transaction.description).toLowerCase();
45
47
  }
46
48
  }, uiState.sortOrder === 'ascending' ? 'asc' : 'desc');
49
+ const allSteps = monthYearPeriodId != null
50
+ ? (0, expenseAutomationViewSelectorTypes_1.getAllSteps)(monthEndCloseChecksState, monthYearPeriodId, currentTenant.tenantId)
51
+ : [];
52
+ const missingReceiptsCompletionStatus = (_a = allSteps.find((step) => step.step === 'missing_receipts')) === null || _a === void 0 ? void 0 : _a.completionStatus;
53
+ const completionStatus = missingReceiptsCompletionStatus != null
54
+ ? missingReceiptsCompletionStatus
55
+ : 'incomplete';
47
56
  return {
48
57
  fetchState,
49
58
  error,
@@ -51,11 +60,7 @@ function getExpenseAutomationMissingReceiptsView(state) {
51
60
  uiState,
52
61
  refreshStatus,
53
62
  transactions: sortedTransactions,
54
- completionStatus: transactionIdsForSelectedPeriod != null &&
55
- fetchState === 'Completed' &&
56
- transactionIds.length === 0
57
- ? 'complete'
58
- : 'incomplete',
63
+ completionStatus,
59
64
  };
60
65
  }
61
66
  exports.getExpenseAutomationMissingReceiptsView = getExpenseAutomationMissingReceiptsView;
@@ -11,11 +11,11 @@ const transactionSelector_1 = require("../../../entity/transaction/transactionSe
11
11
  const timePeriod_1 = require("../../../commonStateTypes/timePeriod");
12
12
  const tenantSelector_1 = require("../../../entity/tenant/tenantSelector");
13
13
  const reduceFetchState_1 = require("../../../commonStateTypes/reduceFetchState");
14
+ const expenseAutomationViewSelectorTypes_1 = require("../selectorTypes/expenseAutomationViewSelectorTypes");
14
15
  function getExpenseAutomationTransactionView(state, selectedTab) {
15
- const { accountState, classState, classListState, accountListState, expenseAutomationTransactionsViewState, expenseAutomationViewState, transactionState, } = state;
16
+ var _a;
17
+ const { accountState, classState, classListState, accountListState, expenseAutomationTransactionsViewState, expenseAutomationViewState, transactionState, monthEndCloseChecksState, } = state;
16
18
  const { uiState, refreshStatus, saveStatus, markAsNotMiscategorizedStatus, transactionIdsBySelectedPeriod, transactionReviewLocalDataById, selectedCheckBoxTransactionIds, } = expenseAutomationTransactionsViewState[selectedTab];
17
- const { transactionIdsBySelectedPeriod: transactionIdsBySelectedPeriodAutoCatTab, } = expenseAutomationTransactionsViewState.autoCategorized;
18
- const { transactionIdsBySelectedPeriod: transactionIdsBySelectedPeriodReviewTab, } = expenseAutomationTransactionsViewState.review;
19
19
  const uncategorizedIncomeExpense = (0, accountListSelector_1.getUncategorizedAccounts)(accountState, accountListState, 'accountList');
20
20
  const accountList = (0, accountListSelector_1.getAccountList)(accountState, accountListState, 'accountList');
21
21
  const classList = (0, classListSelector_1.getClassList)(classState, classListState);
@@ -31,15 +31,7 @@ function getExpenseAutomationTransactionView(state, selectedTab) {
31
31
  const transactionIdsForSelectedPeriod = monthYearPeriodId != null
32
32
  ? transactionIdsBySelectedPeriod[monthYearPeriodId]
33
33
  : null;
34
- const transactionIdsForSelectedPeriodAutoCat = monthYearPeriodId != null
35
- ? transactionIdsBySelectedPeriodAutoCatTab[monthYearPeriodId]
36
- : null;
37
- const transactionIdsForSelectedPeriodReview = monthYearPeriodId != null
38
- ? transactionIdsBySelectedPeriodReviewTab[monthYearPeriodId]
39
- : null;
40
34
  const transactionIds = transactionIdsForSelectedPeriod !== null && transactionIdsForSelectedPeriod !== void 0 ? transactionIdsForSelectedPeriod : [];
41
- const transactionIdsAutoCat = transactionIdsForSelectedPeriodAutoCat !== null && transactionIdsForSelectedPeriodAutoCat !== void 0 ? transactionIdsForSelectedPeriodAutoCat : [];
42
- const transactionIdsReview = transactionIdsForSelectedPeriodReview !== null && transactionIdsForSelectedPeriodReview !== void 0 ? transactionIdsForSelectedPeriodReview : [];
43
35
  const transactionLocalData = transactionIds
44
36
  .map((transactionId) => {
45
37
  const transactionData = transactionReviewLocalDataById[transactionId];
@@ -76,6 +68,13 @@ function getExpenseAutomationTransactionView(state, selectedTab) {
76
68
  expenseAutomationTransactionsViewState.autoCategorized,
77
69
  ]),
78
70
  };
71
+ const allSteps = monthYearPeriodId != null
72
+ ? (0, expenseAutomationViewSelectorTypes_1.getAllSteps)(monthEndCloseChecksState, monthYearPeriodId, currentTenant.tenantId)
73
+ : [];
74
+ const transactionCompletionStatus = (_a = allSteps.find((step) => step.step === 'transaction_categorization')) === null || _a === void 0 ? void 0 : _a.completionStatus;
75
+ const completionStatus = transactionCompletionStatus != null
76
+ ? transactionCompletionStatus
77
+ : 'incomplete';
79
78
  return {
80
79
  version: 0,
81
80
  fetchState: fetchStatus.fetchState,
@@ -93,12 +92,7 @@ function getExpenseAutomationTransactionView(state, selectedTab) {
93
92
  refreshStatus,
94
93
  saveStatus,
95
94
  markAsNotMiscategorizedStatus,
96
- completionStatus: transactionIdsForSelectedPeriod != null &&
97
- fetchStatus.fetchState === 'Completed' &&
98
- transactionIdsAutoCat.length === 0 &&
99
- transactionIdsReview.length === 0
100
- ? 'complete'
101
- : 'incomplete',
95
+ completionStatus,
102
96
  totalCountByTab,
103
97
  fetchStateByTransactionTabs: fetchStateByTab,
104
98
  };
@@ -9,9 +9,6 @@ export declare const changeZeniPersonRolesEpic: (actions$: ActionsObservable<Act
9
9
  } | {
10
10
  payload: import("../../responsePayload").ZeniAPIStatus<Record<string, unknown>>;
11
11
  type: string;
12
- } | {
13
- payload: UserRolePayload[];
14
- type: string;
15
12
  } | {
16
13
  payload: {
17
14
  userType: import("../userListView/userListViewState").UserListType;
@@ -36,6 +33,9 @@ export declare const changeZeniPersonRolesEpic: (actions$: ActionsObservable<Act
36
33
  }[] | undefined;
37
34
  };
38
35
  type: string;
36
+ } | {
37
+ payload: UserRolePayload[];
38
+ type: string;
39
39
  } | {
40
40
  payload: {
41
41
  companyId: string;
@@ -9,18 +9,6 @@ export declare const invitePeopleEpic: (actions$: ActionsObservable<ActionType>,
9
9
  } | {
10
10
  payload: import("../../responsePayload").ZeniAPIStatus<Record<string, unknown>>;
11
11
  type: string;
12
- } | {
13
- payload: import("./peoplePayload").PeoplePayload;
14
- type: string;
15
- } | {
16
- payload: {
17
- users: import("../..").UserPayload[];
18
- updateType?: import("../..").UpdateType | undefined;
19
- };
20
- type: string;
21
- } | {
22
- payload: UserRolePayload[];
23
- type: string;
24
12
  } | {
25
13
  payload: {
26
14
  userType: import("../userListView/userListViewState").UserListType;
@@ -33,6 +21,9 @@ export declare const invitePeopleEpic: (actions$: ActionsObservable<ActionType>,
33
21
  id: string;
34
22
  };
35
23
  type: string;
24
+ } | {
25
+ payload: import("./peoplePayload").PeoplePayload;
26
+ type: string;
36
27
  } | {
37
28
  payload: {
38
29
  messageSection: "bill_pay_setup" | "reimbursement_setup" | "charge_card_setup" | "common" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "je_bill_link" | "je_posted" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "reimbursement_bulk_submit" | "reimbursement_bulk_processed" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "bill_pay_refund" | "bill_pay_retry" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_accept_term" | "charge_card_receipt_upload" | "charge_card_resend_invite" | "charge_card_revoke_invite" | "create_schedule" | "save_schedule" | "delete_schedule" | "ignore_schedule" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "create_tag" | "delete_tag" | "update_charge_card" | "issue_charge_card" | "issue_charge_cards" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "cancel_journal_entry" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success" | "primary_funding_account_updated" | "task_time_spent_validation" | "transactions_reviewed" | "missing_receipts_attachment" | "flux_analysis_unreviewed" | "flux_analysis_reviewed" | "receipts_upload";
@@ -45,4 +36,13 @@ export declare const invitePeopleEpic: (actions$: ActionsObservable<ActionType>,
45
36
  }[] | undefined;
46
37
  };
47
38
  type: string;
39
+ } | {
40
+ payload: {
41
+ users: import("../..").UserPayload[];
42
+ updateType?: import("../..").UpdateType | undefined;
43
+ };
44
+ type: string;
45
+ } | {
46
+ payload: UserRolePayload[];
47
+ type: string;
48
48
  }>;
@@ -6,18 +6,6 @@ import { UserRolePayload } from '../../entity/userRole/userRolePayload';
6
6
  export declare const inviteZeniPeopleEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => import("rxjs").Observable<{
7
7
  payload: import("../../responsePayload").ZeniAPIStatus<Record<string, unknown>>;
8
8
  type: string;
9
- } | {
10
- payload: import("./peoplePayload").PeoplePayload;
11
- type: string;
12
- } | {
13
- payload: {
14
- users: import("../..").UserPayload[];
15
- updateType?: import("../..").UpdateType | undefined;
16
- };
17
- type: string;
18
- } | {
19
- payload: UserRolePayload[];
20
- type: string;
21
9
  } | {
22
10
  payload: {
23
11
  userType: import("../userListView/userListViewState").UserListType;
@@ -30,6 +18,9 @@ export declare const inviteZeniPeopleEpic: (actions$: ActionsObservable<ActionTy
30
18
  id: string;
31
19
  };
32
20
  type: string;
21
+ } | {
22
+ payload: import("./peoplePayload").PeoplePayload;
23
+ type: string;
33
24
  } | {
34
25
  payload: {
35
26
  messageSection: "bill_pay_setup" | "reimbursement_setup" | "charge_card_setup" | "common" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "je_bill_link" | "je_posted" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "reimbursement_bulk_submit" | "reimbursement_bulk_processed" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "bill_pay_refund" | "bill_pay_retry" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_accept_term" | "charge_card_receipt_upload" | "charge_card_resend_invite" | "charge_card_revoke_invite" | "create_schedule" | "save_schedule" | "delete_schedule" | "ignore_schedule" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "create_tag" | "delete_tag" | "update_charge_card" | "issue_charge_card" | "issue_charge_cards" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "cancel_journal_entry" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success" | "primary_funding_account_updated" | "task_time_spent_validation" | "transactions_reviewed" | "missing_receipts_attachment" | "flux_analysis_unreviewed" | "flux_analysis_reviewed" | "receipts_upload";
@@ -42,6 +33,15 @@ export declare const inviteZeniPeopleEpic: (actions$: ActionsObservable<ActionTy
42
33
  }[] | undefined;
43
34
  };
44
35
  type: string;
36
+ } | {
37
+ payload: {
38
+ users: import("../..").UserPayload[];
39
+ updateType?: import("../..").UpdateType | undefined;
40
+ };
41
+ type: string;
42
+ } | {
43
+ payload: UserRolePayload[];
44
+ type: string;
45
45
  } | {
46
46
  payload: {
47
47
  companyId: string;
@@ -8,9 +8,6 @@ export declare type ActionType = ReturnType<typeof resendInvite> | ReturnType<ty
8
8
  export declare const resendInviteEpic: (actions$: ActionsObservable<ActionType>, _: StateObservable<RootState>, zeniAPI: ZeniAPI) => import("rxjs").Observable<{
9
9
  payload: string;
10
10
  type: string;
11
- } | {
12
- payload: import("../../entity/userRole/userRolePayload").UserRolePayload[];
13
- type: string;
14
11
  } | {
15
12
  payload: {
16
13
  messageSection: "bill_pay_setup" | "reimbursement_setup" | "charge_card_setup" | "common" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "je_bill_link" | "je_posted" | "audit_score_updated" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "reimbursement_bulk_submit" | "reimbursement_bulk_processed" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "bill_pay_bulk_submit" | "bill_pay_bulk_processed" | "bill_pay_refund" | "bill_pay_retry" | "zeni_account_accept_term" | "update_vendor" | "data_refresh_update" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "save_vendor_marked_as_local_contractor" | "charge_card_accept_term" | "charge_card_receipt_upload" | "charge_card_resend_invite" | "charge_card_revoke_invite" | "create_schedule" | "save_schedule" | "delete_schedule" | "ignore_schedule" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "create_tag" | "delete_tag" | "update_charge_card" | "issue_charge_card" | "issue_charge_cards" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "mark_as_complete_schedule" | "cancel_journal_entry" | "settings_accounting_accounts_updated" | "create_card_setup" | "confirm_card_setup" | "add_card_payment_source" | "fetch_payment_sources" | "task_assigned_toast_notification" | "task_due_tomorrow_toast_notification" | "task_deleted_toast_notification" | "task_archived_toast_notification" | "task_overdue_toast_notification" | "task_overdue_toast_notification_creator" | "task_notification_count" | "task_activities_toast_notification" | "task_created_toast_notification" | "task_group_creation_success" | "task_group_deletion_success" | "task_group_update_success" | "primary_funding_account_updated" | "task_time_spent_validation" | "transactions_reviewed" | "missing_receipts_attachment" | "flux_analysis_unreviewed" | "flux_analysis_reviewed" | "receipts_upload";
@@ -23,4 +20,7 @@ export declare const resendInviteEpic: (actions$: ActionsObservable<ActionType>,
23
20
  }[] | undefined;
24
21
  };
25
22
  type: string;
23
+ } | {
24
+ payload: import("../../entity/userRole/userRolePayload").UserRolePayload[];
25
+ type: string;
26
26
  }>;
@@ -31,13 +31,13 @@ export declare const updateReportUIOptionCOABalancesRangeEpic: (actions$: Action
31
31
  highlightedCOABalancesRange?: import("../..").COABalancesRangeWithThisPeriod | undefined;
32
32
  };
33
33
  type: string;
34
- } | {
35
- payload: import("../..").COABalancesRange;
36
- type: string;
37
34
  } | {
38
35
  payload: {
39
36
  selectedCOABalancesRange: import("../..").COABalancesRange;
40
37
  highlightedCOABalancesRange?: import("../..").COABalancesRangeWithThisPeriod | undefined;
41
38
  };
42
39
  type: string;
40
+ } | {
41
+ payload: import("../..").COABalancesRange;
42
+ type: string;
43
43
  }>;
@@ -3,7 +3,7 @@ import { SortOrder } from '../../commonStateTypes/selectorTypes/sortOrderTypes';
3
3
  import { OnboardingInfo } from '../../entity/company/companyStateTypes';
4
4
  import { ZeniDate } from '../../zeniDayJS';
5
5
  import { AuditSummaryPayload, ReviewCompanyPayload } from './reviewCompanyPayload';
6
- export declare const toReviewColumnKeyType: (v: string) => "uncategorized" | "companyName" | "auditScore" | "miscategorized" | "notes" | "warnings" | "vendorReview" | "reviewVendor";
6
+ export declare const toReviewColumnKeyType: (v: string) => "uncategorized" | "auditScore" | "miscategorized" | "companyName" | "notes" | "warnings" | "vendorReview" | "reviewVendor";
7
7
  export declare type ReviewCompanyColumnKey = ReturnType<typeof toReviewColumnKeyType>;
8
8
  export declare type ReviewTransactionsType = 'income' | 'expense';
9
9
  export interface AuditSummary {
@@ -16,6 +16,12 @@ export declare const fetchMyProfileEpic: (actions$: ActionsObservable<ActionType
16
16
  } | {
17
17
  payload: import("../../../responsePayload").ZeniAPIStatus<Record<string, unknown>>;
18
18
  type: string;
19
+ } | {
20
+ payload: {
21
+ userType: import("../../userListView/userListViewState").UserListType;
22
+ usersPayload: UserPayload[];
23
+ };
24
+ type: string;
19
25
  } | {
20
26
  payload: {
21
27
  users: UserPayload[];
@@ -28,12 +34,6 @@ export declare const fetchMyProfileEpic: (actions$: ActionsObservable<ActionType
28
34
  } | {
29
35
  payload: import("../../../entity/address/addressPayload").AddressPayload[];
30
36
  type: string;
31
- } | {
32
- payload: {
33
- userType: import("../../userListView/userListViewState").UserListType;
34
- usersPayload: UserPayload[];
35
- };
36
- type: string;
37
37
  } | {
38
38
  payload: {
39
39
  userId: string;
@@ -9,7 +9,7 @@ export interface IntegrationsSettings {
9
9
  export declare const REMINDER_NOTIFICATION_TYPES: readonly ["missingReceiptNotification", "uncategorizedTransactionNotification", "pendingBillApprovalNotification", "pendingReimbursementApprovalNotification"];
10
10
  declare const toReminderTypeKey: (v: string) => "missingReceiptNotification" | "uncategorizedTransactionNotification" | "pendingBillApprovalNotification" | "pendingReimbursementApprovalNotification";
11
11
  export declare type ReminderTypeKey = ReturnType<typeof toReminderTypeKey>;
12
- export declare const toRemindersFrequencyType: (v: string) => "daily" | "weekly" | "bi-weekly" | "monthly";
12
+ export declare const toRemindersFrequencyType: (v: string) => "weekly" | "monthly" | "daily" | "bi-weekly";
13
13
  export declare type FrequencyTypeKey = ReturnType<typeof toRemindersFrequencyType>;
14
14
  export declare const NOTIFICATION_MODES: readonly ["email", "dashboard"];
15
15
  export declare const toNotificationMode: (v: string) => "dashboard" | "email";
@@ -1,4 +1,4 @@
1
- export declare const toSubscriptionSortKeyType: (v: string) => "status" | "controller" | "companyName" | "monthlyRecurringRevenue" | "avg2MonthExpenses" | "notes" | "plans" | "planLowerLimit" | "planHigherLimit" | "addons" | "upgradeStatus";
1
+ export declare const toSubscriptionSortKeyType: (v: string) => "status" | "controller" | "companyName" | "notes" | "plans" | "planLowerLimit" | "planHigherLimit" | "avg2MonthExpenses" | "addons" | "upgradeStatus" | "monthlyRecurringRevenue";
2
2
  export declare type SubscriptionViewSortKey = ReturnType<typeof toSubscriptionSortKeyType>;
3
3
  export declare const SUBSCRIPTION_STATUS_CODES: string[];
4
4
  declare const toSubscriptionStatusCodeType: (v: string) => string;
@@ -3,6 +3,6 @@ import { ZeniAPIStatus, ZeniReportData } from '../../responsePayload';
3
3
  import { TopExState } from './topExState';
4
4
  import { FetchState } from '../../commonStateTypes/common';
5
5
  export declare const initialState: TopExState;
6
- export declare const fetchTopEx: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, updateTopEx: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniReportData<TopExPayload>, string>, updateTopExFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, string>, clearTopEx: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, updateTopExTimeFrame: import("@reduxjs/toolkit").ActionCreatorWithPayload<"last_month" | "last_3_months" | "last_6_months" | "last_12_months" | "last_year" | "this_week_to_date" | "last_week" | "this_month_to_date" | "this_year_to_date", string>, updateTopExDownloadState: import("@reduxjs/toolkit").ActionCreatorWithPayload<FetchState, string>;
6
+ export declare const fetchTopEx: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, updateTopEx: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniReportData<TopExPayload>, string>, updateTopExFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, string>, clearTopEx: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, updateTopExTimeFrame: import("@reduxjs/toolkit").ActionCreatorWithPayload<"last_month" | "this_week_to_date" | "last_week" | "this_month_to_date" | "last_3_months" | "last_6_months" | "last_12_months" | "this_year_to_date" | "last_year", string>, updateTopExDownloadState: import("@reduxjs/toolkit").ActionCreatorWithPayload<FetchState, string>;
7
7
  declare const _default: import("@reduxjs/toolkit").Reducer<TopExState, import("@reduxjs/toolkit").AnyAction>;
8
8
  export default _default;
@@ -11,12 +11,12 @@ export declare const getTopExpenses: (accountState: AccountState, topExState: To
11
11
  status: import("../..").Status | undefined;
12
12
  fetchState: import("../..").FetchState;
13
13
  error: import("../..").ZeniAPIStatus<Record<string, unknown>> | undefined;
14
- topExTimePeriod: "last_month" | "last_3_months" | "last_6_months" | "last_12_months" | "last_year" | "this_week_to_date" | "last_week" | "this_month_to_date" | "this_year_to_date";
14
+ topExTimePeriod: "last_month" | "this_week_to_date" | "last_week" | "this_month_to_date" | "last_3_months" | "last_6_months" | "last_12_months" | "this_year_to_date" | "last_year";
15
15
  topExpenses: {
16
16
  total: import("../..").Amount | undefined;
17
17
  startDate: import("dayjs").Dayjs | undefined;
18
18
  endDate: import("dayjs").Dayjs | undefined;
19
- timePeriod: "last_month" | "last_3_months" | "last_6_months" | "last_12_months" | "last_year" | "this_week_to_date" | "last_week" | "this_month_to_date" | "this_year_to_date";
19
+ timePeriod: "last_month" | "this_week_to_date" | "last_week" | "this_month_to_date" | "last_3_months" | "last_6_months" | "last_12_months" | "this_year_to_date" | "last_year";
20
20
  timePeriodLabel: string | undefined;
21
21
  itemOrder: EntityOrder;
22
22
  accountsOrdered: {
@@ -4,7 +4,7 @@ import { Amount } from '../../commonStateTypes/amount';
4
4
  import { ZeniDate } from '../../zeniDayJS';
5
5
  import { Balance } from '../../commonStateTypes/balance';
6
6
  export declare const TOP_EX_TIME_PERIODS: readonly ["this_week_to_date", "last_week", "this_month_to_date", "last_month", "last_3_months", "last_6_months", "last_12_months", "this_year_to_date", "last_year"];
7
- export declare const toTopExTimePeriod: (v: string) => "last_month" | "last_3_months" | "last_6_months" | "last_12_months" | "last_year" | "this_week_to_date" | "last_week" | "this_month_to_date" | "this_year_to_date";
7
+ export declare const toTopExTimePeriod: (v: string) => "last_month" | "this_week_to_date" | "last_week" | "this_month_to_date" | "last_3_months" | "last_6_months" | "last_12_months" | "this_year_to_date" | "last_year";
8
8
  export declare type TopExTimePeriod = ReturnType<typeof toTopExTimePeriod>;
9
9
  export interface AccountBalance {
10
10
  accountId: ID;
@@ -2,7 +2,7 @@ import { GlobalMerchantBase } from '../../../../entity/globalMerchant/globalMerc
2
2
  import { ID } from '../../../../commonStateTypes/common';
3
3
  import { RecommendedNonExistingGlobalMerchant } from '../../vendorFirstReviewView/vendorFirstReviewViewState';
4
4
  import { RecommendedNonExistingGlobalMerchantBasePayload, VendorReviewViewAllRecommendationsPayload } from '../payload/commonTypes';
5
- export declare const toVendorFirstReviewViewStatusesTypeStrict: (v: string) => "pending" | "reviewed" | "under_review" | "merge_in_qbo" | "merge_in_netsuite" | "review_rejected" | undefined;
5
+ export declare const toVendorFirstReviewViewStatusesTypeStrict: (v: string) => "pending" | "under_review" | "merge_in_qbo" | "merge_in_netsuite" | "reviewed" | "review_rejected" | undefined;
6
6
  declare type VendorFirstReviewViewStatusesKey = ReturnType<typeof toVendorFirstReviewViewStatusesTypeStrict>;
7
7
  export declare type ReviewStatus = {
8
8
  code: VendorFirstReviewViewStatusesKey;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "4.13.95",
3
+ "version": "4.13.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
  "types": "lib/index.d.ts",