@zeniai/client-epic-state 4.9.32 → 4.9.34

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.
@@ -1,5 +1,6 @@
1
1
  import { ID } from '../../commonStateTypes/common';
2
2
  import { User } from '../user/userState';
3
- export declare const getControllersEmails: (controllers: User[]) => string[];
4
- export declare const getFirstControllerEmail: (controllers: User[]) => string[];
3
+ export declare const getControllersEmails: (controllers: User[]) => ID[];
4
+ export declare const getControllersUserIds: (controllers: User[]) => ID[];
5
+ export declare const getFirstControllerEmail: (controllers: User[]) => ID[];
5
6
  export declare const getFirstControllerId: (controllerUserIds: ID[]) => ID[];
@@ -1,12 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFirstControllerId = exports.getFirstControllerEmail = exports.getControllersEmails = void 0;
3
+ exports.getFirstControllerId = exports.getFirstControllerEmail = exports.getControllersUserIds = exports.getControllersEmails = void 0;
4
4
  const getControllersEmails = (controllers) => {
5
5
  return controllers
6
6
  .map((controller) => controller.email)
7
7
  .filter((email) => Boolean(email));
8
8
  };
9
9
  exports.getControllersEmails = getControllersEmails;
10
+ const getControllersUserIds = (controllers) => {
11
+ return controllers.map((controller) => controller.userId);
12
+ };
13
+ exports.getControllersUserIds = getControllersUserIds;
10
14
  const getFirstControllerEmail = (controllers) => {
11
15
  const controllerEmail = (0, exports.getControllersEmails)(controllers);
12
16
  if (controllerEmail.length === 0) {
package/lib/index.d.ts CHANGED
@@ -298,8 +298,8 @@ import { AddressUpdatableInfo, AddressType, NewAddressData } from './view/addres
298
298
  import { getAddress, getNewAddress, getAllNewAddresses, getFormattedAddress } from './view/addressView/addressViewSelector';
299
299
  import { fetchAddress, newAddressInLocalStore, clearAddressView } from './view/addressView/addressViewReducer';
300
300
  export { newAddressInLocalStore, getAddress, getNewAddress, getAllNewAddresses, getFormattedAddress, fetchAddress, clearAddressView, AddressType, NewAddressData, AddressUpdatableInfo, };
301
- import { CockpitFilterCategory, CockpitFilters, DownloadCockpitTabOptions, FilterCombinationsByTabs, HealthViewSortKey, ManagementViewFilterCategoryField, ManagementViewSortKey, OnboardingViewSortKey, PortfolioViewFilterCategoryField, PortfolioViewSortKey, SubscriptionViewFilterCategoryField, toManagementSortKeyType, toOnboardingSortKeyType, toPortfolioSortKeyType } from './view/companyView/types/cockpitTypes';
302
- export { CockpitFilterCategory, CockpitFilters, DownloadCockpitTabOptions, FilterCombinationsByTabs, HealthViewSortKey, ManagementViewFilterCategoryField, ManagementViewSortKey, OnboardingViewSortKey, PortfolioViewFilterCategoryField, PortfolioViewSortKey, SubscriptionViewFilterCategoryField, toManagementSortKeyType, toOnboardingSortKeyType, toPortfolioSortKeyType, };
301
+ import { CockpitFilterCategory, CockpitFilters, DownloadCockpitTabOptions, FilterCombinationsByTabs, HealthViewSortKey, ManagementViewFilterCategoryField, ManagementViewSortKey, OnboardingViewSortKey, PortfolioViewFilterCategoryField, PortfolioViewSortKey, SubscriptionViewFilterCategoryField, HealthMonitorViewFilterCategoryField, toManagementSortKeyType, toOnboardingSortKeyType, toPortfolioSortKeyType, toHealthSortKeyType } from './view/companyView/types/cockpitTypes';
302
+ export { CockpitFilterCategory, CockpitFilters, DownloadCockpitTabOptions, FilterCombinationsByTabs, HealthViewSortKey, ManagementViewFilterCategoryField, ManagementViewSortKey, OnboardingViewSortKey, PortfolioViewFilterCategoryField, HealthMonitorViewFilterCategoryField, PortfolioViewSortKey, SubscriptionViewFilterCategoryField, toManagementSortKeyType, toOnboardingSortKeyType, toPortfolioSortKeyType, toHealthSortKeyType, };
303
303
  import { CockpitTabsFileType, CockpitTabsID, ALL_COCKPIT_TABS_IDS, ALL_COCKPIT_TABS_FILE_TYPES, toCockpitTabsIDStrict, toCockpitTabsFileTypeStrict, CockpitDownloadTabsID } from './view/companyView/types/cockpitTabsID';
304
304
  export { CockpitDownloadTabsID, CockpitTabsFileType, CockpitTabsID, ALL_COCKPIT_TABS_FILE_TYPES, ALL_COCKPIT_TABS_IDS, toCockpitTabsIDStrict, toCockpitTabsFileTypeStrict, };
305
305
  import { AllowedValueWithCode, AllowedValue, AllowedValueWithID, isAllowedValueWithCode, isAllowedValueWithID } from './commonStateTypes/allowedValue';
@@ -362,7 +362,7 @@ import { createBankAccount, deleteBankAccount, updateBankAccountViewLocalStoreDa
362
362
  import { BankNameByRoutingState, BankNameBySwiftState, BankAccountContext, CreateBankAccountDetails, CreateInternationalBankAccountDetails, CreateBankAccountLocalData, CreateInternationalBankAccountLocalData } from './view/bankAccountView/bankAccountViewState';
363
363
  export { fetchVendorsList, updateScrollYOffset, VendorDetailLocalData, VendorContactInfo, fetchVendor, saveVendor, removeBankAccountsInVendorView, updateSelectedVendorForCreateFlow, initializeVendorAddress, updateBankAccountViewLocalStoreData, updateInternationalBankAccountViewLocalStoreData, clearBankAccountView, updateStatusForCreateBankAccountFlow, fetchVendorDetails, fetchVendorDetailPageView, fetchBankNameByRouting, fetchBankNameBySwift, fetchBankCountryNameByIban, deleteBankAccount, createBankAccount, resetCreateBankAccountDetails, BankNameByRoutingState, BankNameBySwiftState, BankAccountContext, createUserBankAccount, deleteUserBankAccount, CreateBankAccountDetails, CreateInternationalBankAccountDetails, CreateBankAccountLocalData, CreateInternationalBankAccountLocalData, };
364
364
  import { BillTransaction, BillPayInfo, BillStage, BillStageCodeType, BillPaymentStatus, BillPaymentStatusCodeType, BillStatus, InternationalTransferFeeBearerPaymentMethod, BillStatusCodeType, DeletionSourceType } from './entity/billPay/billTransaction/billTransactionState';
365
- export { BillTransaction, BillPayInfo, BillStage, BillStageCodeType, BillTransactionView, InternationalTransferFeeBearerPaymentMethod, DeletionSourceType };
365
+ export { BillTransaction, BillPayInfo, BillStage, BillStageCodeType, BillTransactionView, InternationalTransferFeeBearerPaymentMethod, DeletionSourceType, };
366
366
  import { BillsSubTabType, BillTab, SaveBillStageCode, BillListUIState, BillPayViewSortKey, BillPayFilters, BillPayFilterCategory, BillListViewFilterCategoryField, BILL_PAY_FILTER_CATEGORIES } from './view/spendManagement/billPay/billList/billListState';
367
367
  import { fetchBillList, fetchBillListPerTab, updateTab, updateSubTab, updateSelectedBillId, updateBillDetailSaveBillCode, updateBillListUIState, updateSearchResult as updateBillListSearchResult, updateFilterResult as updateBillListFilterResult, updateBillListDownloadUIState } from './view/spendManagement/billPay/billList/billListReducer';
368
368
  import { getBillList, BillListReport, BillTransactionView } from './view/spendManagement/billPay/billList/billListSelector';
@@ -476,8 +476,8 @@ import { getSnackbar } from './entity/snackbar/snackbarSelector';
476
476
  export { openSnackbar, closeSnackbar, getSnackbar, SnackbarMessageType, SnackbarMessageSections, SnackbarMessageSectionTexts, };
477
477
  import { getSpendManagementEffectiveListPeriod, getSelectedCompanyOfficer, showBillPayPromoPage, showReimbursementPromoPage, getActualPaymentDate } from './view/spendManagement/helpers';
478
478
  export { getSpendManagementEffectiveListPeriod, getSelectedCompanyOfficer, showBillPayPromoPage, showReimbursementPromoPage, getActualPaymentDate, };
479
- import { canSendMonthEndEmailReport, shouldEnableCalendarPickerForLastReportSent } from './view/companyView/helpers/cockpitHelpers';
480
- export { canSendMonthEndEmailReport, shouldEnableCalendarPickerForLastReportSent, };
479
+ import { FilterCategoryValueType, canSendMonthEndEmailReport, shouldEnableCalendarPickerForLastReportSent } from './view/companyView/helpers/cockpitHelpers';
480
+ export { FilterCategoryValueType, canSendMonthEndEmailReport, shouldEnableCalendarPickerForLastReportSent, };
481
481
  import { BillPayConfig, BillPaymentConfigCodeType, BillPaymentSubConfigCodeType, Country, VendorCurrency, InternationalSubConfigCodeType, BILL_NEW_PAYMENT_METHODS, NEW_INTERNATIONAL_METHOD_SUBTEXT, SWIFT_OUR_INTERNATIONAL_METHOD_SUBTEXT, LOCAL_CURRENCY_INTERNATIONAL_METHOD_SUBTEXT } from './view/spendManagement/billPay/billPayConfig/billPayConfigState';
482
482
  import { getInternationalSubConfigCodeKey } from './view/spendManagement/billPay/billPayConfig/billPayConfigPayload';
483
483
  export { Country, BillPayConfig, BillPaymentConfigCodeType, BillPaymentSubConfigCodeType, getInternationalSubConfigCodeKey, InternationalSubConfigCodeType, BILL_NEW_PAYMENT_METHODS, NEW_INTERNATIONAL_METHOD_SUBTEXT, SWIFT_OUR_INTERNATIONAL_METHOD_SUBTEXT, LOCAL_CURRENCY_INTERNATIONAL_METHOD_SUBTEXT, };
package/lib/index.js CHANGED
@@ -34,19 +34,19 @@ exports.fetchPeople = exports.fetchPeoplePage = exports.fetchAllPeopleRequiredVi
34
34
  exports.isCashFlowReportViewCalculatedSectionType1ID = exports.isCashFlowReportViewSectionID = exports.isCashFlowReportViewCalculatedSectionID = exports.typeOfCashFlowRootSection = exports.updateCashFlowUIState = exports.resetCashFlowNodeCollapseState = exports.getCashFlowReportFetchState = exports.getCashFlow = exports.fetchCashFlow = exports.isBalanceSheetReportViewCalculatedSectionID = exports.isBalanceSheetReportViewSectionID = exports.typeOfBalanceSheetRootSection = exports.updateBalanceSheetUIState = exports.resetBalanceSheetNodeCollapseState = exports.getBalanceSheetForFullDataAvailableRange = exports.getBalanceSheetFetchState = exports.getBalanceSheet = exports.fetchBalanceSheet = exports.isNotificationsTabVisible = exports.isMyBankConnectionsTabVisible = exports.isSettingsVisible = exports.isIntegrationsTabVisible = exports.isCompanyDetailsTabVisible = exports.isBusinessVerificationTabVisible = exports.isBankConnectionsTabVisible = exports.isApprovalRulesTabVisible = exports.isAccountingTabVisible = exports.resetNotificationSettingsLocalData = exports.updateNotificationSettingsLocalData = exports.saveNotificationSettings = exports.getNotificationSettingsView = exports.fetchNotificationSettings = exports.fetchBankConnectionsView = exports.getMyBankConnectionsDetails = exports.getMyProfileView = exports.fetchMyProfileView = exports.clearSettingsView = exports.initializeEditPerson = exports.getPeopleLocalData = exports.getPeople = exports.peopleClearDataInLocalStore = exports.peopleSaveDataInLocalStore = exports.resetUpdateErrorMessage = exports.peopleSaveUpdates = exports.updatePeopleUIState = exports.inviteZeniPeople = exports.invitePeople = exports.changeZeniPersonRoles = exports.resendInvite = exports.deletePerson = void 0;
35
35
  exports.updateSelectedVendor = exports.removeEntityRecommendationForLineIdForTransactionDetail = exports.initializeTransactionDetailLocalData = exports.setAllLineItemsLocalDataIsUpdateAllChecked = exports.saveTransactionDetail = exports.setAllLineItemsToCategoryClassInLocalData = exports.resetLineItemsCategoryClassInLocalData = exports.updateTransactionListByEntityFailure = exports.clearTransactionDetailSaveStatus = exports.saveTransactionDetailLocalData = exports.updateTransactionListByEntity = exports.fetchEntityTransactionList = exports.getTransactionListUIStateByAccountKey = exports.getTransactionListByAccount = exports.parallelFetchTransactionListByCategoryType = exports.updateTransactionListUIStateByCategoryType = exports.updateTransactionListByClass = exports.updateTransactionListByClassUIState = exports.parallelFetchClassTransactionList = exports.updateTransactionListByAccountUIState = exports.updateTransactionListByAccountFailure = exports.updateTransactionListByAccount = exports.fetchAccountTransactionList = exports.parallelFetchEntityTransactionList = exports.parallelFetchAccountTransactionList = exports.updateLatestTransactionId = exports.clearTransactionList = exports.isTransferTransaction = exports.isVendorTransaction = exports.updateVendors = exports.defaultVendorCurrency = exports.toTransactionCategory = exports.toTransactionTypeStrict = exports.toTransactionType = exports.toPlatformLineDetailType = exports.toTransactionID = exports.isCustomerTransaction = exports.defaultCustomerCurrency = exports.toAttachment = exports.mapFileEntityToAttachment = exports.toContentType = exports.toContentTypeStrict = exports.updateFinanceStatementFormat = exports.updateFinanceStatementDisplayOrder = exports.updateFinanceStatementAdditionalBalancesSelection = exports.updateDownloadState = exports.updateSelectedReportId = exports.updateCOABalancesRange = exports.fetchFinanceStatement = exports.getFinanceStatement = void 0;
36
36
  exports.getControllersForCompany = exports.getCompanyByCompanyId = exports.ALL_ACCOUNTING_CONNECTION_CREATION_MODES = exports.getEntityByEntityIDs = exports.clearAllEntities = exports.updateEntities = exports.getEntityAutoCompleteResults = exports.fetchEntityAutoCompleteResults = exports.clearEntityAutoCompleteResults = exports.fetchEntityAutoCompleteEpic = exports.toEntityType = exports.VendorExpenseTrend = exports.CustomerIncomeTrend = exports.getTrendForEntity = exports.clearTrendData = exports.fetchExpenseTrend = exports.fetchIncomeTrend = exports.getEntityDetailUIStateByEntity = exports.getLatestTimeFrameWithTransactionsForEntity = exports.getTrendWithTransactions = exports.trendWithTransactionsUpdateSelectedTimeperiod = exports.clearTrendWithTransactions = exports.fetchTransactionsForEntity = exports.fetchTrendForEntity = exports.updateReportUIOptionCOABalancesRange = exports.updateReportUIOptionThisPeriod = exports.toggleReportUIOptionForecastMode = exports.updateReportUIOptionIsCompareModeOn = exports.updateReportUIOptionCompareMode = exports.updateReportUIOptionIsForecastVsActualOn = exports.updateReportUIOptionSelectedForecast = exports.updateReportUIOptionTimeframe = exports.getForecastList = exports.fetchForecastList = exports.updateSelectedInsightIndex = exports.fetchInsightsCard = exports.getInsights = exports.getUpdatablePeriodsForTransactionRecommendations = exports.getTransactionDetailForTransaction = exports.getTransactionDetail = exports.getTransactionListByEntityForSinglePeriod = exports.getTransactionListUIStateByClassKey = exports.getTransactionListByClass = exports.getTransactionListByEntity = exports.getThirdPartyIdFromTransactionId = exports.uploadMissingReceiptSuccess = exports.updateTransactionDetail = exports.fetchTransactionDetail = exports.updateLocalDataWithTransactionsUpdateWithVendorCheckbox = exports.resetVendor = void 0;
37
- exports.toCockpitTabsIDStrict = exports.ALL_COCKPIT_TABS_IDS = exports.ALL_COCKPIT_TABS_FILE_TYPES = exports.toPortfolioSortKeyType = exports.toOnboardingSortKeyType = exports.toManagementSortKeyType = exports.clearAddressView = exports.fetchAddress = exports.getFormattedAddress = exports.getAllNewAddresses = exports.getNewAddress = exports.getAddress = exports.newAddressInLocalStore = exports.getCompanyMonthEndReportHistoricData = exports.fetchCompanyMonthEndReportHistoricData = exports.fetchCompanyMonthEndReportHistoricDates = exports.getCompanyMonthEndReportSelectorView = exports.resetCompanyMonthEndReportFetchStatus = exports.saveCompanyMonthEndReport = exports.sendCompanyMonthEndReport = exports.fetchCompanyMonthEndReportView = exports.fetchImproveUsingZeniGPT = exports.getAllCockpitTabsFilterView = exports.isInfiniteRunway = exports.getCompanyPortfolioView = exports.getAuditWarningsCount = exports.retryBankAccountConnection = exports.getReviewCompanyListCount = exports.getReviewCompanySelectorView = exports.updateReviewCompanyListUIState = exports.fetchReviewCompanyView = exports.updateCompanyDownloadState = exports.fetchZeniUsers = exports.fetchSubscriptionView = exports.fetchPortfolioView = exports.fetchManagementView = exports.fetchOnboardingView = exports.fetchParentSubsidiaryManagementView = exports.updateCompanyManagementUIState = exports.updateCompanyPortfolioUIState = exports.fetchCompanyPortfolioView = exports.fetchCompanyManagementView = exports.fetchAllCockpitViews = exports.companyManagementSaveUpdates = exports.getParentSubsidiaryManagementView = exports.getAddonListZeniSku = exports.getPlanListZeniSku = exports.getCompanyManagementView = exports.getFirstControllerId = exports.getFirstControllerEmail = void 0;
38
- exports.updateFileName = exports.fetchFile = exports.fetchFileListSuccess = exports.fetchFileListFailure = exports.fetchFileList = exports.toSupportedAttachmentFileType = exports.toSupportedAttachmentFileFormatType = exports.toSupportedFileTypeStrict = exports.removeAttachmentFiles = exports.updateAttachmentFiles = exports.updateFiles = exports.SUPPORTED_ATTACHMENT_FILE_TYPES = exports.getSubscriptionEstimationData = exports.getSubscriptionLocalStoreDataView = exports.getSubscriptionsDetailView = exports.clearSubscriptionLocalData = exports.clearSubscriptionUpdateViewDataByTenantId = exports.saveSubscriptionLocalData = exports.initializeSubscriptionLocalData = exports.clearSubscriptionView = exports.fetchSubscriptionUpdateEstimate = exports.fetchSubscriptionCreateEstimate = exports.saveSubscriptionNotesUpdates = exports.saveSubscriptionUpdates = exports.fetchSubscriptionDetails = exports.fetchSubscriptionCoupons = exports.fetchSubscriptionAddOns = exports.fetchSubscriptionPlans = exports.fetchSubscriptionList = exports.updateCompanySubscriptionUIState = exports.getCompanySubscriptionView = exports.toSubscriptionSortKeyType = exports.getBankAccount = exports.getNestedAccountListHeirarchy = exports.getUncategorizedAccounts = exports.toCompanyPassportLocalData = exports.clearCompanyView = exports.saveCompanyPassportDetails = exports.updateCompanyPassportLocalStoreData = exports.companyPassportClearDataInLocalStore = exports.deleteCompanyOfficerInLocalStore = exports.saveIndustryAndIncDateInCompanyPassportLocalStore = exports.companyPassportSaveDataInLocalStore = exports.isCompanyPassportDataToBeSaved = exports.getCompanyPassportLocalStoreData = exports.getCompanyPassportView = exports.fetchCompanyPassportView = exports.isAllowedValueWithID = exports.isAllowedValueWithCode = exports.toCockpitTabsFileTypeStrict = void 0;
39
- exports.fetchBankNameByRouting = exports.fetchVendorDetailPageView = exports.fetchVendorDetails = exports.updateStatusForCreateBankAccountFlow = exports.clearBankAccountView = exports.updateInternationalBankAccountViewLocalStoreData = exports.updateBankAccountViewLocalStoreData = exports.initializeVendorAddress = exports.updateSelectedVendorForCreateFlow = exports.removeBankAccountsInVendorView = exports.saveVendor = exports.fetchVendor = exports.updateScrollYOffset = exports.fetchVendorsList = exports.vendorsTabResetVendorDetailLocalData = exports.vendorsTabUpdateVendorDetailLocalData = exports.vendorsTabSaveVendorSuccessOrFailure = exports.vendorsTabSaveVendor = exports.getVendorsTabDetailPageView = exports.toVendorDetailTabsType = exports.getVendorAllTransactionsDefaultTimePeriod = exports.resetVendorsTabVendorAllTransactionsTabData = exports.resetSelectedTabType = exports.updateVendorsTabVendorAllTransactionsTabData = exports.updateSelectedTabType = exports.fetchVendorsTabVendorDetailPageView = exports.getVendorDetailPageView = exports.getVendorView = exports.getAnalyticsDataOnVendorSave = exports.fetchTasksCard = exports.downloadFile = exports.getAttachmentFileIdByFileName = exports.mapAttachmentFileToAttachmentFilePayload = exports.mapAttachmentFilePayloadToFile = exports.mapFilePayloadToFile = exports.uploadFile = exports.getFileDeleteStatusById = exports.getFileUpdateNameStatusById = exports.getDeleteFileListWithStatus = exports.getFileListWithStatus = exports.clearFileViewList = exports.deleteFileSuccess = exports.deleteFileFailure = exports.deleteFile = exports.deleteFileListSuccess = exports.deleteFileListFailure = exports.deleteFileList = exports.updateFilesMetadata = exports.updateFileNameSuccess = exports.updateFileNameFailure = void 0;
40
- exports.fetchDuplicateBill = exports.fetchAndUpdateVendorRecommendations = exports.fetchEditBillDetailPage = exports.fetchBillDetail = exports.getBillTransactionDetailKey = exports.checkApproveRejectBtnShowForBill = exports.getBillDetailView = exports.getBillDownloadList = exports.getBillList = exports.cancelAndDeleteBill = exports.deleteBill = exports.updateApprovalStatusOnSuccess = exports.approveOrRejectBill = exports.saveBillDetail = exports.discardBillUpdatesInLocalStore = exports.saveBillUpdatesToLocalStore = exports.fetchVendorByNameAndParseInvoice = exports.updateBillDetailSaveBillCode = exports.updateSelectedBillId = exports.updateSubTab = exports.updateTab = exports.fetchBillListPerTab = exports.fetchBillList = exports.getClassList = exports.updateBillListDownloadUIState = exports.updateRemiListDownloadUIState = exports.REIMBURSEMENT_FILTER_CATEGORIES_RESTRICTED = exports.REIMBURSEMENT_FILTER_CATEGORIES = exports.updateRemiListFilterResult = exports.updateBillListFilterResult = exports.updateRemiListSearchResult = exports.updateRemiListUIState = exports.updateRemiDetailSaveRemiCode = exports.updateRemiListSubTab = exports.updateRemiListTab = exports.fetchRemiListPerTab = exports.fetchRemiList = exports.getRemiDownloadList = exports.getRemiList = exports.toRemiTabTypeStrict = exports.toRemiTabType = exports.toRemiSubTabTypeStrict = exports.toRemiSubTabType = exports.deleteUserBankAccount = exports.createUserBankAccount = exports.resetCreateBankAccountDetails = exports.createBankAccount = exports.deleteBankAccount = exports.fetchBankCountryNameByIban = exports.fetchBankNameBySwift = void 0;
41
- exports.getCommonSetupViewDetails = exports.getZeniAccountBusinessVerificationDetails = exports.getBillPayBusinessVerificationDetails = exports.getBusinessVerificationDetails = exports.getZeniAccountSetupViewDetails = exports.getBillPaySetupViewDetails = exports.verifyOtp = exports.resendOtp = exports.sendOtp = exports.clearZeniAccountSetupView = exports.clearBillPaySetupView = exports.clearSetupViewDataInLocalStore = exports.saveIndustryAndIncDateInLocalStore = exports.saveCompnayOfficerAdditionalDocumentsInLocalStore = exports.saveCompnayOfficerPhoneInLocalStore = exports.saveSetupViewDataInLocalStore = exports.acceptBillPayUpdatedTerms = exports.acceptZeniAccountTerms = exports.acceptBillPayTerms = exports.establishPlaidConnection = exports.updatePaymentAccountStatus = exports.updatePaymentAccountLoginStatus = exports.updatePaymentAccount = exports.updateBusinessVerificationDetails = exports.updateSetupViewLocalStoreData = exports.updateSelectedCompanyOfficer = exports.getPlaidLinkToken = exports.getPaymentAccounts = exports.enableSetup = exports.fetchZeniAccountSetupView = exports.fetchBillPaySetupView = exports.hideCreatedByFilter = exports.convertAmountToHomeCurrency = exports.toPaymentToOption = exports.updateVendorContact = exports.verifyUser = exports.fetchUserDetails = exports.updateBillListSearchResult = exports.updateBillUploadFetchState = exports.updateContactsInVendorDetailLocalData = exports.resetVendorDetailLocalData = exports.updateVendorDetailLocalData = exports.BILL_PAY_FILTER_CATEGORIES = exports.updateBillListUIState = exports.saveVendorSuccessOrFailure = exports.updateShowAutofill = exports.fetchBillAndInitializeLocalStore = exports.getReviewPageBillDetail = exports.getEditBillDetail = exports.clearBillPayReview = void 0;
42
- exports.clearDuplicateReimbursementDetail = exports.fetchDuplicateReimbursement = exports.clearRemiDetailView = exports.approveOrRejectRemi = exports.cancelAndDeleteRemi = exports.fetchRemiDetail = exports.deleteRemi = exports.updateIsEditModeRealTimeApprovals = exports.saveRealTimeApproval = exports.checkApproveRejectBtnShowForRemi = exports.getRemiDetailView = exports.clearRemiSetupApproverView = exports.clearRemiSetupApproverViewUpdateData = exports.initializeRemiSetupApproverViewUpdateData = exports.saveRemiSetupApproverViewUpdates = exports.saveRemiSetupApproverViewUpdateData = exports.deleteRemiApprovalRule = exports.fetchRemiApproversDetails = exports.fetchRemiApproversList = exports.fetchRemiSetupApproverView = exports.getRemiSetupApproverUpdateDataView = exports.getRemiSetupApproverView = exports.clearBillPaySetupApproverView = exports.clearBillPaySetupApproverViewUpdateData = exports.initializeBillPaySetupApproverViewUpdateData = exports.saveBillPaySetupApproverViewUpdates = exports.saveBillPaySetupApproverViewUpdateData = exports.deleteBillPayApprovalRule = exports.fetchBillPayApproversList = exports.fetchBillPayApproversDetails = exports.fetchBillPaySetupApproverView = exports.getBillPaySetupApproverUpdateDataView = exports.getBillPaySetupApproverView = exports.toRoleTypeStrict = exports.toAttributeOrRoleTypeStrict = exports.toAttributeTypeStrict = exports.isSuccessResponse = exports.getRemiBusinessVerificationDetails = exports.getRemiSetupViewDetails = exports.clearRemiSetupView = exports.acceptEmployeeRemiTerms = exports.acceptRemiTerms = exports.saveRemiSetupViewDataInLocalStore = exports.updateMileageDetails = exports.fetchRemiSetupView = exports.getUserFinancialAccount = exports.fetchUserFinancialAccount = exports.getIntegrationsView = exports.getBankConnectionsSetupViewDetails = exports.getApprovalRuleViewDetails = void 0;
43
- exports.sendOnboardingCustomerViewInvite = exports.resetNewOnboardedCustomerId = exports.updateOnboardingCustomerDataInLocalStore = exports.saveOnboardingCustomerDataInLocalStore = exports.saveOnboardingCustomerNotes = exports.saveOnboardingCustomerViewUpdates = exports.updateStatusAfterOnboardingCompleted = exports.updateCustomerCreationStatus = exports.updateOnboardingCustomerListUIState = exports.saveOnboardingCustomerViewUpdateData = exports.clearOnboardingCustomerViewUpdateData = exports.initializeOnboardingCustomerViewUpdateData = exports.getOnboardingEmailGroup = exports.getNewOnboardingCustomerView = exports.getOnboardingCockpitView = exports.saveOnboardingCustomerCompletedStatus = exports.fetchOnboardingCompletedCompanies = exports.fetchCompanyOnboardingView = exports.PAYMENT_BUSINESS_DAYS = exports.holidaysFormatted = exports.isHoliday = exports.getYearsList = exports.filterDays = exports.isHolidayToday = exports.getPreviousNthWorkingDay = exports.getNextNthWorkingDay = exports.toFileTypeStrict = exports.ALL_FILE_TYPES = exports.reduceAllFetchState = exports.reduceAnyFetchState = exports.reduceFetchState = exports.clearAddRemiAutoFields = exports.clearTentativeMerchantName = exports.updateTentativeMerchantNames = exports.updateUploadFetchState = exports.updateAddRemiAutoFields = exports.clearEditRemiViewDetail = exports.parseReceiptsToRemi = exports.saveRemiSuccessOrFailure = exports.saveRemiDetail = exports.removeFileFromRemiUpdatesInLocalStore = exports.discardRemiUpdatesInLocalStore = exports.fetchCurrencyConversionValue = exports.saveRemiUpdatesToLocalStore = exports.initializeRemiToLocalStore = exports.fetchRemiAndInitializeLocalStore = exports.fetchRecommendationsAndUpdateMerchantRecommendations = exports.fetchEditRemiDetailPage = exports.getEditRemiDetail = exports.removeDuplicateReimbursementByLineId = void 0;
44
- exports.depositCheck = exports.ZENI_ACCOUNTS_TAB = exports.fetchDepositAccountDetail = exports.clearTransferDetail = exports.getTransferDetail = exports.transferMoney = exports.updateDepositToLocalData = exports.updateTransferToLocalData = exports.updateTransferMoneyLocalData = exports.fetchZeniAccountsConfig = exports.fetchDepositAccount = exports.getDepositAccountDetailForPDF = exports.getDepositAccountDetail = exports.unlinkPaymentAccount = exports.fetchPaymentAccountList = exports.createCheckingAccount = exports.updateZeniAccountListTab = exports.fetchZeniAccountList = exports.getZeniAccountList = exports.getZeniAccountsConfigDetail = exports.fetchOwnerList = exports.fetchRecommendationByEntityName = exports.fetchRecommendationByEntityId = exports.fetchEntityRecommendationsByTransactionId = exports.toVendorReportIDType = exports.isVendorsTabVisible = exports.isColumnYTDSpend = exports.updateYTDSelectionUIState = exports.updatePageToken = exports.updateSortUiState = exports.getVendorList = exports.LOCAL_CURRENCY_INTERNATIONAL_METHOD_SUBTEXT = exports.SWIFT_OUR_INTERNATIONAL_METHOD_SUBTEXT = exports.NEW_INTERNATIONAL_METHOD_SUBTEXT = exports.BILL_NEW_PAYMENT_METHODS = exports.getInternationalSubConfigCodeKey = exports.shouldEnableCalendarPickerForLastReportSent = exports.canSendMonthEndEmailReport = exports.getActualPaymentDate = exports.showReimbursementPromoPage = exports.showBillPayPromoPage = exports.getSelectedCompanyOfficer = exports.getSpendManagementEffectiveListPeriod = exports.getSnackbar = exports.closeSnackbar = exports.openSnackbar = exports.getChangedLineItemCountFromLocalData = exports.getTransactionListUIStateByCategoryType = exports.getTransactionsListByCategoryType = exports.retryBankAccountConnectionForOnboarding = void 0;
45
- exports.updateMagicLinkBankAccountLocalStoreData = exports.saveBankAccount = exports.fetchBillAttachment = exports.fetchMagicLinkTenant = exports.getMagicLinkCurrentAddressState = exports.getMagicLinkBankAccountView = exports.getMagicLinkView = exports.initializeAccountMappingView = exports.getAccountMappingView = exports.clearAccountMappingLocalData = exports.saveAccountMappingLocalData = exports.saveAccountMapping = exports.getOnboardingCustomerView = exports.clearOnboardingCustomerViewDataInLocalStore = exports.clearOnboardingCustomerView = exports.saveOnboardingCustomerViewDataInLocalStore = exports.saveOnboardingCompnayOfficerPhoneInLocalStore = exports.updateOnboardingCustomerViewUIState = exports.updateCurrentStep = exports.updateOnboardingCustomerViewLocalStoreData = exports.updateOnboardingCustomerView = exports.updateOnboardingPaymentAccountStatus = exports.updateOnboardingPaymentAccountLoginStatus = exports.updateOnboardingCustomerViewCompleteStatus = exports.updateOnboardingCustomerViewAccountDetails = exports.establishOnboardingPlaidConnection = exports.getOnboardingPlaidLinkToken = exports.fetchOnboardingCustomerSetupView = exports.fetchOnboardingCustomerView = exports.isZeniClearingAccount = exports.ZENI_CLEARING_ACCOUNT = exports.isZeniClearingAccountReport = exports.getCompanyConfig = exports.fetchCompanyConfig = exports.clearTransactionVendorSaveStatus = exports.resetTransactionVendorLocalData = exports.updateTransactionVendorLocalData = exports.saveTransactionVendorSuccessOrFailure = exports.saveTransactionVendor = exports.getTransactionVendorView = exports.getZeniAccStatements = exports.fetchZeniAccStatementPage = exports.getDepositAccountTransactionList = exports.fetchDepositAccountTransactionList = exports.fetchDepositAccountHistoryFailure = exports.fetchDepositAccountHistorySuccess = exports.updateDepositAccount = exports.getCheckDepositDetail = exports.clearCheckDeposit = exports.updateCheckDepositLocalData = void 0;
46
- exports.fetchApAging = exports.updateChargeCardDetail = exports.updateChargeCardListUIState = exports.updateChargeCardListSearchText = exports.resetIssueChargeCardForm = exports.updateChargeCardLocalStore = exports.issueChargeCard = exports.acceptChargeCardTerms = exports.fetchChargeCardSetupView = exports.getChargeCardSetupViewDetails = exports.toCreditLimitFrequencyCodeType = exports.toChargeCardSortKeyType = exports.fetchChargeCardTransactionList = exports.getChargeCardDetailView = exports.fetchChargeCardDetailPage = exports.getChargeCardListView = exports.fetchChargeCardListPage = exports.getChargeCardBusinessVerificationDetails = exports.companyHealthMetricDropDownOptions = exports.hasCompanyHealthMetricFormFieldChanged = exports.getCompanyHealthMetricView = exports.isCompanyRunwayInfinite = exports.updateCompanyHealthViewUIState = exports.updateCompanyHealthMetricViewSuccessStatus = exports.updateCompanyHealthMetricViewErrorStatus = exports.updateCompanyHealthMetricLocalStore = exports.saveCompanyHealthMetricById = exports.removeSelectedCompanyId = exports.initializeCompanyHealthMetricViewLocalData = exports.fetchCompanyHealthMetricView = exports.clearCompanyHealthMetricView = exports.updateCompanyHealth = exports.updateCompaniesHealth = exports.getUserRoleConfig = exports.fetchUserRoleConfig = exports.clearInternationalWire = exports.deletePaymentInstrument = exports.createPaymentInstrumentUpdateStatus = exports.createPaymentInstrument = exports.fetchInternationalWireDynamicForm = exports.initializeDynamicForm = exports.updateInternationalWireLocalStoreData = exports.initializeInternationalWireLocalData = exports.getInternationalWireView = exports.fetchWiseRedirectStatus = exports.getWiseRedirect = exports.saveMagicLinkAddressInLocalStore = exports.fetchMagicLinkBankNameBySwift = exports.fetchMagicLinkBankNameByRouting = exports.updateMagicLinkInternationalBankAccountLocalStoreData = void 0;
47
- exports.clearGlobalMerchantAutoCompleteResults = exports.fetchGlobalMerchantAutoCompleteView = exports.updateVendorFirstReviewSortUiState = exports.updateVendorFirstReviewViewLocalData = exports.saveVendorFirstReviewView = exports.clearRecentlySavedErroredVendorData = exports.updateVendorFirstReviewViewPageToken = exports.resetVendorFirstReviewLocalData = exports.updateVendorFirstReviewViewScrollYOffset = exports.fetchVendorFirstReviewView = exports.getVendorFirstReviewView = exports.getGlobalMerchantAutoCompleteResults = exports.toVendorFirstReviewViewColumnKeyType = exports.getFetchStateForScheduleListByType = exports.updatedJELinkWithRecommendedLocalData = exports.resetJELinkInLocalData = exports.updateAmountsInScheduleDetail = exports.updatedJELinkInLocalData = exports.getThirdPartyIDFromQBOURL = exports.getQBOUrlForLink = exports.updatedSelectedJELinkRowIndex = exports.updateScheduleListDownloadState = exports.updateScheduleDetailsLocalData = exports.createNewSchedules = exports.deleteScheduleDetail = exports.saveScheduleDetails = exports.fetchScheduleDetailsPage = exports.getScheduleDetailsView = exports.fetchScheduleDetails = exports.updateSelectedJEScheduleKey = exports.updateScheduleListSortState = exports.updateScheduleListScrollState = exports.updateScheduleListSearchText = exports.updateScheduleListSubTab = exports.toScheduleSubTabType = exports.toScheduleListTabsFileTypeStrict = exports.toScheduleTypesTypeStrict = exports.toScheduleTypesType = exports.getFetchStateForScheduleAccountList = exports.updateScheduleListLocalData = exports.fetchSchedulesAccount = exports.fetchDownloadSchedules = exports.fetchScheduleList = exports.getScheduleListReport = exports.ALL_SCHEDULES_TYPES = exports.updateApAgingDetailUIState = exports.getApAgingDetailForVendor = exports.fetchApAgingDetail = exports.updateApAgingUIState = exports.getApAgingReport = void 0;
48
- exports.StatusTypes = exports.toReferralListViewSortKeyType = exports.getInviteFormView = exports.getReferralListView = exports.fetchZeniAccountsPromoCard = exports.getZeniAccountsPromoCard = exports.getAuthenticationView = exports.fetchCollaborationAuthToken = exports.clearAuditReportGroupViewByCompanyId = exports.fetchAuditReportGroupView = exports.fetchAuditRuleGroupView = exports.getAuditRuleGroupViewSelectorView = exports.getAuditReportGroupViewSelectorView = exports.discardTaskUpdatesInLocalStore = exports.deleteTask = exports.TASK_LIST_FILTER_CATEGORIES = exports.updateTaskFilters = exports.allTaskPriority = exports.allTaskStatus = exports.allTaskTags = exports.updateTaskListUIState = exports.updateTaskListSearchText = exports.archiveTask = exports.saveTaskDetail = exports.saveTaskUpdatesToLocalStore = exports.fetchTaskDetailPage = exports.getTaskDetail = exports.fetchTaskListPage = exports.getAllTasks = exports.toRecurringBillFrequencyStrict = exports.toRecurringBillFrequency = exports.getArAgingDetailForCustomer = exports.getArAgingReport = exports.updateArAgingDetailUIState = exports.fetchArAgingDetail = exports.updateArAgingUIState = exports.fetchArAging = exports.toVendorGlobalReviewColumnSortKeyType = exports.getTenantMerchantByMerchantId = exports.getVendorGlobalReviewView = exports.updateVendorGlobalReviewViewUIState = exports.updateSelectedGlobalMerchant = exports.fetchVendorGlobalReviewView = exports.rejectVendorGlobalReview = exports.approveVendorGlobalReview = exports.getGlobalMerchantView = exports.clearGlobalMerchantView = exports.updateCreateGlobalMerchantLocalData = exports.createGlobalMerchant = exports.fetchGlobalMerchantRecommendation = void 0;
49
- exports.fetchRewardsPlan = exports.resendReferralInvite = exports.updateReferralListSortUiState = exports.saveReferralFormDataInLocalStore = exports.clearReferrals = exports.closeReferralInviteConfirmationPopup = exports.sendReferralInvite = exports.fetchReferrals = exports.AmountStatusTypes = void 0;
37
+ exports.ALL_COCKPIT_TABS_IDS = exports.ALL_COCKPIT_TABS_FILE_TYPES = exports.toHealthSortKeyType = exports.toPortfolioSortKeyType = exports.toOnboardingSortKeyType = exports.toManagementSortKeyType = exports.clearAddressView = exports.fetchAddress = exports.getFormattedAddress = exports.getAllNewAddresses = exports.getNewAddress = exports.getAddress = exports.newAddressInLocalStore = exports.getCompanyMonthEndReportHistoricData = exports.fetchCompanyMonthEndReportHistoricData = exports.fetchCompanyMonthEndReportHistoricDates = exports.getCompanyMonthEndReportSelectorView = exports.resetCompanyMonthEndReportFetchStatus = exports.saveCompanyMonthEndReport = exports.sendCompanyMonthEndReport = exports.fetchCompanyMonthEndReportView = exports.fetchImproveUsingZeniGPT = exports.getAllCockpitTabsFilterView = exports.isInfiniteRunway = exports.getCompanyPortfolioView = exports.getAuditWarningsCount = exports.retryBankAccountConnection = exports.getReviewCompanyListCount = exports.getReviewCompanySelectorView = exports.updateReviewCompanyListUIState = exports.fetchReviewCompanyView = exports.updateCompanyDownloadState = exports.fetchZeniUsers = exports.fetchSubscriptionView = exports.fetchPortfolioView = exports.fetchManagementView = exports.fetchOnboardingView = exports.fetchParentSubsidiaryManagementView = exports.updateCompanyManagementUIState = exports.updateCompanyPortfolioUIState = exports.fetchCompanyPortfolioView = exports.fetchCompanyManagementView = exports.fetchAllCockpitViews = exports.companyManagementSaveUpdates = exports.getParentSubsidiaryManagementView = exports.getAddonListZeniSku = exports.getPlanListZeniSku = exports.getCompanyManagementView = exports.getFirstControllerId = exports.getFirstControllerEmail = void 0;
38
+ exports.fetchFile = exports.fetchFileListSuccess = exports.fetchFileListFailure = exports.fetchFileList = exports.toSupportedAttachmentFileType = exports.toSupportedAttachmentFileFormatType = exports.toSupportedFileTypeStrict = exports.removeAttachmentFiles = exports.updateAttachmentFiles = exports.updateFiles = exports.SUPPORTED_ATTACHMENT_FILE_TYPES = exports.getSubscriptionEstimationData = exports.getSubscriptionLocalStoreDataView = exports.getSubscriptionsDetailView = exports.clearSubscriptionLocalData = exports.clearSubscriptionUpdateViewDataByTenantId = exports.saveSubscriptionLocalData = exports.initializeSubscriptionLocalData = exports.clearSubscriptionView = exports.fetchSubscriptionUpdateEstimate = exports.fetchSubscriptionCreateEstimate = exports.saveSubscriptionNotesUpdates = exports.saveSubscriptionUpdates = exports.fetchSubscriptionDetails = exports.fetchSubscriptionCoupons = exports.fetchSubscriptionAddOns = exports.fetchSubscriptionPlans = exports.fetchSubscriptionList = exports.updateCompanySubscriptionUIState = exports.getCompanySubscriptionView = exports.toSubscriptionSortKeyType = exports.getBankAccount = exports.getNestedAccountListHeirarchy = exports.getUncategorizedAccounts = exports.toCompanyPassportLocalData = exports.clearCompanyView = exports.saveCompanyPassportDetails = exports.updateCompanyPassportLocalStoreData = exports.companyPassportClearDataInLocalStore = exports.deleteCompanyOfficerInLocalStore = exports.saveIndustryAndIncDateInCompanyPassportLocalStore = exports.companyPassportSaveDataInLocalStore = exports.isCompanyPassportDataToBeSaved = exports.getCompanyPassportLocalStoreData = exports.getCompanyPassportView = exports.fetchCompanyPassportView = exports.isAllowedValueWithID = exports.isAllowedValueWithCode = exports.toCockpitTabsFileTypeStrict = exports.toCockpitTabsIDStrict = void 0;
39
+ exports.fetchVendorDetailPageView = exports.fetchVendorDetails = exports.updateStatusForCreateBankAccountFlow = exports.clearBankAccountView = exports.updateInternationalBankAccountViewLocalStoreData = exports.updateBankAccountViewLocalStoreData = exports.initializeVendorAddress = exports.updateSelectedVendorForCreateFlow = exports.removeBankAccountsInVendorView = exports.saveVendor = exports.fetchVendor = exports.updateScrollYOffset = exports.fetchVendorsList = exports.vendorsTabResetVendorDetailLocalData = exports.vendorsTabUpdateVendorDetailLocalData = exports.vendorsTabSaveVendorSuccessOrFailure = exports.vendorsTabSaveVendor = exports.getVendorsTabDetailPageView = exports.toVendorDetailTabsType = exports.getVendorAllTransactionsDefaultTimePeriod = exports.resetVendorsTabVendorAllTransactionsTabData = exports.resetSelectedTabType = exports.updateVendorsTabVendorAllTransactionsTabData = exports.updateSelectedTabType = exports.fetchVendorsTabVendorDetailPageView = exports.getVendorDetailPageView = exports.getVendorView = exports.getAnalyticsDataOnVendorSave = exports.fetchTasksCard = exports.downloadFile = exports.getAttachmentFileIdByFileName = exports.mapAttachmentFileToAttachmentFilePayload = exports.mapAttachmentFilePayloadToFile = exports.mapFilePayloadToFile = exports.uploadFile = exports.getFileDeleteStatusById = exports.getFileUpdateNameStatusById = exports.getDeleteFileListWithStatus = exports.getFileListWithStatus = exports.clearFileViewList = exports.deleteFileSuccess = exports.deleteFileFailure = exports.deleteFile = exports.deleteFileListSuccess = exports.deleteFileListFailure = exports.deleteFileList = exports.updateFilesMetadata = exports.updateFileNameSuccess = exports.updateFileNameFailure = exports.updateFileName = void 0;
40
+ exports.fetchAndUpdateVendorRecommendations = exports.fetchEditBillDetailPage = exports.fetchBillDetail = exports.getBillTransactionDetailKey = exports.checkApproveRejectBtnShowForBill = exports.getBillDetailView = exports.getBillDownloadList = exports.getBillList = exports.cancelAndDeleteBill = exports.deleteBill = exports.updateApprovalStatusOnSuccess = exports.approveOrRejectBill = exports.saveBillDetail = exports.discardBillUpdatesInLocalStore = exports.saveBillUpdatesToLocalStore = exports.fetchVendorByNameAndParseInvoice = exports.updateBillDetailSaveBillCode = exports.updateSelectedBillId = exports.updateSubTab = exports.updateTab = exports.fetchBillListPerTab = exports.fetchBillList = exports.getClassList = exports.updateBillListDownloadUIState = exports.updateRemiListDownloadUIState = exports.REIMBURSEMENT_FILTER_CATEGORIES_RESTRICTED = exports.REIMBURSEMENT_FILTER_CATEGORIES = exports.updateRemiListFilterResult = exports.updateBillListFilterResult = exports.updateRemiListSearchResult = exports.updateRemiListUIState = exports.updateRemiDetailSaveRemiCode = exports.updateRemiListSubTab = exports.updateRemiListTab = exports.fetchRemiListPerTab = exports.fetchRemiList = exports.getRemiDownloadList = exports.getRemiList = exports.toRemiTabTypeStrict = exports.toRemiTabType = exports.toRemiSubTabTypeStrict = exports.toRemiSubTabType = exports.deleteUserBankAccount = exports.createUserBankAccount = exports.resetCreateBankAccountDetails = exports.createBankAccount = exports.deleteBankAccount = exports.fetchBankCountryNameByIban = exports.fetchBankNameBySwift = exports.fetchBankNameByRouting = void 0;
41
+ exports.getZeniAccountBusinessVerificationDetails = exports.getBillPayBusinessVerificationDetails = exports.getBusinessVerificationDetails = exports.getZeniAccountSetupViewDetails = exports.getBillPaySetupViewDetails = exports.verifyOtp = exports.resendOtp = exports.sendOtp = exports.clearZeniAccountSetupView = exports.clearBillPaySetupView = exports.clearSetupViewDataInLocalStore = exports.saveIndustryAndIncDateInLocalStore = exports.saveCompnayOfficerAdditionalDocumentsInLocalStore = exports.saveCompnayOfficerPhoneInLocalStore = exports.saveSetupViewDataInLocalStore = exports.acceptBillPayUpdatedTerms = exports.acceptZeniAccountTerms = exports.acceptBillPayTerms = exports.establishPlaidConnection = exports.updatePaymentAccountStatus = exports.updatePaymentAccountLoginStatus = exports.updatePaymentAccount = exports.updateBusinessVerificationDetails = exports.updateSetupViewLocalStoreData = exports.updateSelectedCompanyOfficer = exports.getPlaidLinkToken = exports.getPaymentAccounts = exports.enableSetup = exports.fetchZeniAccountSetupView = exports.fetchBillPaySetupView = exports.hideCreatedByFilter = exports.convertAmountToHomeCurrency = exports.toPaymentToOption = exports.updateVendorContact = exports.verifyUser = exports.fetchUserDetails = exports.updateBillListSearchResult = exports.updateBillUploadFetchState = exports.updateContactsInVendorDetailLocalData = exports.resetVendorDetailLocalData = exports.updateVendorDetailLocalData = exports.BILL_PAY_FILTER_CATEGORIES = exports.updateBillListUIState = exports.saveVendorSuccessOrFailure = exports.updateShowAutofill = exports.fetchBillAndInitializeLocalStore = exports.getReviewPageBillDetail = exports.getEditBillDetail = exports.clearBillPayReview = exports.fetchDuplicateBill = void 0;
42
+ exports.fetchDuplicateReimbursement = exports.clearRemiDetailView = exports.approveOrRejectRemi = exports.cancelAndDeleteRemi = exports.fetchRemiDetail = exports.deleteRemi = exports.updateIsEditModeRealTimeApprovals = exports.saveRealTimeApproval = exports.checkApproveRejectBtnShowForRemi = exports.getRemiDetailView = exports.clearRemiSetupApproverView = exports.clearRemiSetupApproverViewUpdateData = exports.initializeRemiSetupApproverViewUpdateData = exports.saveRemiSetupApproverViewUpdates = exports.saveRemiSetupApproverViewUpdateData = exports.deleteRemiApprovalRule = exports.fetchRemiApproversDetails = exports.fetchRemiApproversList = exports.fetchRemiSetupApproverView = exports.getRemiSetupApproverUpdateDataView = exports.getRemiSetupApproverView = exports.clearBillPaySetupApproverView = exports.clearBillPaySetupApproverViewUpdateData = exports.initializeBillPaySetupApproverViewUpdateData = exports.saveBillPaySetupApproverViewUpdates = exports.saveBillPaySetupApproverViewUpdateData = exports.deleteBillPayApprovalRule = exports.fetchBillPayApproversList = exports.fetchBillPayApproversDetails = exports.fetchBillPaySetupApproverView = exports.getBillPaySetupApproverUpdateDataView = exports.getBillPaySetupApproverView = exports.toRoleTypeStrict = exports.toAttributeOrRoleTypeStrict = exports.toAttributeTypeStrict = exports.isSuccessResponse = exports.getRemiBusinessVerificationDetails = exports.getRemiSetupViewDetails = exports.clearRemiSetupView = exports.acceptEmployeeRemiTerms = exports.acceptRemiTerms = exports.saveRemiSetupViewDataInLocalStore = exports.updateMileageDetails = exports.fetchRemiSetupView = exports.getUserFinancialAccount = exports.fetchUserFinancialAccount = exports.getIntegrationsView = exports.getBankConnectionsSetupViewDetails = exports.getApprovalRuleViewDetails = exports.getCommonSetupViewDetails = void 0;
43
+ exports.resetNewOnboardedCustomerId = exports.updateOnboardingCustomerDataInLocalStore = exports.saveOnboardingCustomerDataInLocalStore = exports.saveOnboardingCustomerNotes = exports.saveOnboardingCustomerViewUpdates = exports.updateStatusAfterOnboardingCompleted = exports.updateCustomerCreationStatus = exports.updateOnboardingCustomerListUIState = exports.saveOnboardingCustomerViewUpdateData = exports.clearOnboardingCustomerViewUpdateData = exports.initializeOnboardingCustomerViewUpdateData = exports.getOnboardingEmailGroup = exports.getNewOnboardingCustomerView = exports.getOnboardingCockpitView = exports.saveOnboardingCustomerCompletedStatus = exports.fetchOnboardingCompletedCompanies = exports.fetchCompanyOnboardingView = exports.PAYMENT_BUSINESS_DAYS = exports.holidaysFormatted = exports.isHoliday = exports.getYearsList = exports.filterDays = exports.isHolidayToday = exports.getPreviousNthWorkingDay = exports.getNextNthWorkingDay = exports.toFileTypeStrict = exports.ALL_FILE_TYPES = exports.reduceAllFetchState = exports.reduceAnyFetchState = exports.reduceFetchState = exports.clearAddRemiAutoFields = exports.clearTentativeMerchantName = exports.updateTentativeMerchantNames = exports.updateUploadFetchState = exports.updateAddRemiAutoFields = exports.clearEditRemiViewDetail = exports.parseReceiptsToRemi = exports.saveRemiSuccessOrFailure = exports.saveRemiDetail = exports.removeFileFromRemiUpdatesInLocalStore = exports.discardRemiUpdatesInLocalStore = exports.fetchCurrencyConversionValue = exports.saveRemiUpdatesToLocalStore = exports.initializeRemiToLocalStore = exports.fetchRemiAndInitializeLocalStore = exports.fetchRecommendationsAndUpdateMerchantRecommendations = exports.fetchEditRemiDetailPage = exports.getEditRemiDetail = exports.removeDuplicateReimbursementByLineId = exports.clearDuplicateReimbursementDetail = void 0;
44
+ exports.ZENI_ACCOUNTS_TAB = exports.fetchDepositAccountDetail = exports.clearTransferDetail = exports.getTransferDetail = exports.transferMoney = exports.updateDepositToLocalData = exports.updateTransferToLocalData = exports.updateTransferMoneyLocalData = exports.fetchZeniAccountsConfig = exports.fetchDepositAccount = exports.getDepositAccountDetailForPDF = exports.getDepositAccountDetail = exports.unlinkPaymentAccount = exports.fetchPaymentAccountList = exports.createCheckingAccount = exports.updateZeniAccountListTab = exports.fetchZeniAccountList = exports.getZeniAccountList = exports.getZeniAccountsConfigDetail = exports.fetchOwnerList = exports.fetchRecommendationByEntityName = exports.fetchRecommendationByEntityId = exports.fetchEntityRecommendationsByTransactionId = exports.toVendorReportIDType = exports.isVendorsTabVisible = exports.isColumnYTDSpend = exports.updateYTDSelectionUIState = exports.updatePageToken = exports.updateSortUiState = exports.getVendorList = exports.LOCAL_CURRENCY_INTERNATIONAL_METHOD_SUBTEXT = exports.SWIFT_OUR_INTERNATIONAL_METHOD_SUBTEXT = exports.NEW_INTERNATIONAL_METHOD_SUBTEXT = exports.BILL_NEW_PAYMENT_METHODS = exports.getInternationalSubConfigCodeKey = exports.shouldEnableCalendarPickerForLastReportSent = exports.canSendMonthEndEmailReport = exports.getActualPaymentDate = exports.showReimbursementPromoPage = exports.showBillPayPromoPage = exports.getSelectedCompanyOfficer = exports.getSpendManagementEffectiveListPeriod = exports.getSnackbar = exports.closeSnackbar = exports.openSnackbar = exports.getChangedLineItemCountFromLocalData = exports.getTransactionListUIStateByCategoryType = exports.getTransactionsListByCategoryType = exports.retryBankAccountConnectionForOnboarding = exports.sendOnboardingCustomerViewInvite = void 0;
45
+ exports.saveBankAccount = exports.fetchBillAttachment = exports.fetchMagicLinkTenant = exports.getMagicLinkCurrentAddressState = exports.getMagicLinkBankAccountView = exports.getMagicLinkView = exports.initializeAccountMappingView = exports.getAccountMappingView = exports.clearAccountMappingLocalData = exports.saveAccountMappingLocalData = exports.saveAccountMapping = exports.getOnboardingCustomerView = exports.clearOnboardingCustomerViewDataInLocalStore = exports.clearOnboardingCustomerView = exports.saveOnboardingCustomerViewDataInLocalStore = exports.saveOnboardingCompnayOfficerPhoneInLocalStore = exports.updateOnboardingCustomerViewUIState = exports.updateCurrentStep = exports.updateOnboardingCustomerViewLocalStoreData = exports.updateOnboardingCustomerView = exports.updateOnboardingPaymentAccountStatus = exports.updateOnboardingPaymentAccountLoginStatus = exports.updateOnboardingCustomerViewCompleteStatus = exports.updateOnboardingCustomerViewAccountDetails = exports.establishOnboardingPlaidConnection = exports.getOnboardingPlaidLinkToken = exports.fetchOnboardingCustomerSetupView = exports.fetchOnboardingCustomerView = exports.isZeniClearingAccount = exports.ZENI_CLEARING_ACCOUNT = exports.isZeniClearingAccountReport = exports.getCompanyConfig = exports.fetchCompanyConfig = exports.clearTransactionVendorSaveStatus = exports.resetTransactionVendorLocalData = exports.updateTransactionVendorLocalData = exports.saveTransactionVendorSuccessOrFailure = exports.saveTransactionVendor = exports.getTransactionVendorView = exports.getZeniAccStatements = exports.fetchZeniAccStatementPage = exports.getDepositAccountTransactionList = exports.fetchDepositAccountTransactionList = exports.fetchDepositAccountHistoryFailure = exports.fetchDepositAccountHistorySuccess = exports.updateDepositAccount = exports.getCheckDepositDetail = exports.clearCheckDeposit = exports.updateCheckDepositLocalData = exports.depositCheck = void 0;
46
+ exports.updateChargeCardDetail = exports.updateChargeCardListUIState = exports.updateChargeCardListSearchText = exports.resetIssueChargeCardForm = exports.updateChargeCardLocalStore = exports.issueChargeCard = exports.acceptChargeCardTerms = exports.fetchChargeCardSetupView = exports.getChargeCardSetupViewDetails = exports.toCreditLimitFrequencyCodeType = exports.toChargeCardSortKeyType = exports.fetchChargeCardTransactionList = exports.getChargeCardDetailView = exports.fetchChargeCardDetailPage = exports.getChargeCardListView = exports.fetchChargeCardListPage = exports.getChargeCardBusinessVerificationDetails = exports.companyHealthMetricDropDownOptions = exports.hasCompanyHealthMetricFormFieldChanged = exports.getCompanyHealthMetricView = exports.isCompanyRunwayInfinite = exports.updateCompanyHealthViewUIState = exports.updateCompanyHealthMetricViewSuccessStatus = exports.updateCompanyHealthMetricViewErrorStatus = exports.updateCompanyHealthMetricLocalStore = exports.saveCompanyHealthMetricById = exports.removeSelectedCompanyId = exports.initializeCompanyHealthMetricViewLocalData = exports.fetchCompanyHealthMetricView = exports.clearCompanyHealthMetricView = exports.updateCompanyHealth = exports.updateCompaniesHealth = exports.getUserRoleConfig = exports.fetchUserRoleConfig = exports.clearInternationalWire = exports.deletePaymentInstrument = exports.createPaymentInstrumentUpdateStatus = exports.createPaymentInstrument = exports.fetchInternationalWireDynamicForm = exports.initializeDynamicForm = exports.updateInternationalWireLocalStoreData = exports.initializeInternationalWireLocalData = exports.getInternationalWireView = exports.fetchWiseRedirectStatus = exports.getWiseRedirect = exports.saveMagicLinkAddressInLocalStore = exports.fetchMagicLinkBankNameBySwift = exports.fetchMagicLinkBankNameByRouting = exports.updateMagicLinkInternationalBankAccountLocalStoreData = exports.updateMagicLinkBankAccountLocalStoreData = void 0;
47
+ exports.fetchGlobalMerchantAutoCompleteView = exports.updateVendorFirstReviewSortUiState = exports.updateVendorFirstReviewViewLocalData = exports.saveVendorFirstReviewView = exports.clearRecentlySavedErroredVendorData = exports.updateVendorFirstReviewViewPageToken = exports.resetVendorFirstReviewLocalData = exports.updateVendorFirstReviewViewScrollYOffset = exports.fetchVendorFirstReviewView = exports.getVendorFirstReviewView = exports.getGlobalMerchantAutoCompleteResults = exports.toVendorFirstReviewViewColumnKeyType = exports.getFetchStateForScheduleListByType = exports.updatedJELinkWithRecommendedLocalData = exports.resetJELinkInLocalData = exports.updateAmountsInScheduleDetail = exports.updatedJELinkInLocalData = exports.getThirdPartyIDFromQBOURL = exports.getQBOUrlForLink = exports.updatedSelectedJELinkRowIndex = exports.updateScheduleListDownloadState = exports.updateScheduleDetailsLocalData = exports.createNewSchedules = exports.deleteScheduleDetail = exports.saveScheduleDetails = exports.fetchScheduleDetailsPage = exports.getScheduleDetailsView = exports.fetchScheduleDetails = exports.updateSelectedJEScheduleKey = exports.updateScheduleListSortState = exports.updateScheduleListScrollState = exports.updateScheduleListSearchText = exports.updateScheduleListSubTab = exports.toScheduleSubTabType = exports.toScheduleListTabsFileTypeStrict = exports.toScheduleTypesTypeStrict = exports.toScheduleTypesType = exports.getFetchStateForScheduleAccountList = exports.updateScheduleListLocalData = exports.fetchSchedulesAccount = exports.fetchDownloadSchedules = exports.fetchScheduleList = exports.getScheduleListReport = exports.ALL_SCHEDULES_TYPES = exports.updateApAgingDetailUIState = exports.getApAgingDetailForVendor = exports.fetchApAgingDetail = exports.updateApAgingUIState = exports.getApAgingReport = exports.fetchApAging = void 0;
48
+ exports.toReferralListViewSortKeyType = exports.getInviteFormView = exports.getReferralListView = exports.fetchZeniAccountsPromoCard = exports.getZeniAccountsPromoCard = exports.getAuthenticationView = exports.fetchCollaborationAuthToken = exports.clearAuditReportGroupViewByCompanyId = exports.fetchAuditReportGroupView = exports.fetchAuditRuleGroupView = exports.getAuditRuleGroupViewSelectorView = exports.getAuditReportGroupViewSelectorView = exports.discardTaskUpdatesInLocalStore = exports.deleteTask = exports.TASK_LIST_FILTER_CATEGORIES = exports.updateTaskFilters = exports.allTaskPriority = exports.allTaskStatus = exports.allTaskTags = exports.updateTaskListUIState = exports.updateTaskListSearchText = exports.archiveTask = exports.saveTaskDetail = exports.saveTaskUpdatesToLocalStore = exports.fetchTaskDetailPage = exports.getTaskDetail = exports.fetchTaskListPage = exports.getAllTasks = exports.toRecurringBillFrequencyStrict = exports.toRecurringBillFrequency = exports.getArAgingDetailForCustomer = exports.getArAgingReport = exports.updateArAgingDetailUIState = exports.fetchArAgingDetail = exports.updateArAgingUIState = exports.fetchArAging = exports.toVendorGlobalReviewColumnSortKeyType = exports.getTenantMerchantByMerchantId = exports.getVendorGlobalReviewView = exports.updateVendorGlobalReviewViewUIState = exports.updateSelectedGlobalMerchant = exports.fetchVendorGlobalReviewView = exports.rejectVendorGlobalReview = exports.approveVendorGlobalReview = exports.getGlobalMerchantView = exports.clearGlobalMerchantView = exports.updateCreateGlobalMerchantLocalData = exports.createGlobalMerchant = exports.fetchGlobalMerchantRecommendation = exports.clearGlobalMerchantAutoCompleteResults = void 0;
49
+ exports.fetchRewardsPlan = exports.resendReferralInvite = exports.updateReferralListSortUiState = exports.saveReferralFormDataInLocalStore = exports.clearReferrals = exports.closeReferralInviteConfirmationPopup = exports.sendReferralInvite = exports.fetchReferrals = exports.AmountStatusTypes = exports.StatusTypes = void 0;
50
50
  const zeniDayJS_1 = require("./zeniDayJS");
51
51
  Object.defineProperty(exports, "Dayjs", { enumerable: true, get: function () { return zeniDayJS_1.Dayjs; } });
52
52
  Object.defineProperty(exports, "updateZeniDateLocaleID", { enumerable: true, get: function () { return zeniDayJS_1.updateZeniDateLocaleID; } });
@@ -646,6 +646,7 @@ const cockpitTypes_1 = require("./view/companyView/types/cockpitTypes");
646
646
  Object.defineProperty(exports, "toManagementSortKeyType", { enumerable: true, get: function () { return cockpitTypes_1.toManagementSortKeyType; } });
647
647
  Object.defineProperty(exports, "toOnboardingSortKeyType", { enumerable: true, get: function () { return cockpitTypes_1.toOnboardingSortKeyType; } });
648
648
  Object.defineProperty(exports, "toPortfolioSortKeyType", { enumerable: true, get: function () { return cockpitTypes_1.toPortfolioSortKeyType; } });
649
+ Object.defineProperty(exports, "toHealthSortKeyType", { enumerable: true, get: function () { return cockpitTypes_1.toHealthSortKeyType; } });
649
650
  const cockpitTabsID_1 = require("./view/companyView/types/cockpitTabsID");
650
651
  Object.defineProperty(exports, "ALL_COCKPIT_TABS_IDS", { enumerable: true, get: function () { return cockpitTabsID_1.ALL_COCKPIT_TABS_IDS; } });
651
652
  Object.defineProperty(exports, "ALL_COCKPIT_TABS_FILE_TYPES", { enumerable: true, get: function () { return cockpitTabsID_1.ALL_COCKPIT_TABS_FILE_TYPES; } });
@@ -1,6 +1,6 @@
1
1
  import { FetchStateAndError, FetchedState, ID } from '../../commonStateTypes/common';
2
2
  import { SortOrder } from '../../commonStateTypes/selectorTypes/sortOrderTypes';
3
- import { HealthViewSortKey } from '../companyView/types/cockpitTypes';
3
+ import { CockpitFilters, HealthViewSortKey } from '../companyView/types/cockpitTypes';
4
4
  export interface CompanyHealthMetricView extends FetchedState {
5
5
  companyHealthMetricUpdateStatusById: Record<ID, EditCompanyHealthMetrics>;
6
6
  companyIds: ID[];
@@ -11,6 +11,7 @@ export interface CompanyHealthViewUIState {
11
11
  sortKey: HealthViewSortKey;
12
12
  sortOrder: SortOrder;
13
13
  filterText: string;
14
+ filters: CockpitFilters;
14
15
  }
15
16
  export interface EditCompanyHealthMetrics {
16
17
  companyHealthMetricLocalData: CompanyHealthMetricsLocalData;
@@ -13,6 +13,7 @@ exports.initialState = {
13
13
  sortKey: 'churnProbability',
14
14
  sortOrder: 'descending',
15
15
  filterText: '',
16
+ filters: {},
16
17
  },
17
18
  hasValidState() {
18
19
  return this.fetchState === 'Completed';
@@ -45,6 +46,9 @@ const companyMetricHealthView = (0, toolkit_1.createSlice)({
45
46
  if (action.payload.uiState.filterText != null) {
46
47
  draft.uiState.filterText = action.payload.uiState.filterText;
47
48
  }
49
+ if (action.payload.uiState.filters != null) {
50
+ draft.uiState.filters = action.payload.uiState.filters;
51
+ }
48
52
  },
49
53
  saveCompanyHealthMetricById(draft, action) {
50
54
  const companyId = action.payload;
@@ -1,10 +1,11 @@
1
1
  import { RootState } from '../../reducer';
2
2
  import { SelectorView } from '../../commonStateTypes/viewAndReport/viewAndReport';
3
- import { ID } from '../../commonStateTypes/common';
3
+ import { FetchState, ID } from '../../commonStateTypes/common';
4
4
  import { User } from '../../entity/user/userState';
5
5
  import { Company } from '../../entity/company/companyStateTypes';
6
6
  import { CompanyHealthMetric, CompanyRunway } from '../../entity/companyHealthMetric/companyHealthMetricState';
7
7
  import { CompanyHealthMetricsLocalData, CompanyHealthViewUIState, EditCompanyHealthMetrics } from './companyHealthMetricView';
8
+ import { ZeniAPIStatus } from '../../responsePayload';
8
9
  export declare const ALL_FREQUENCY_LABEL_TYPE: readonly ["Low", "Very Low", "Mid", "High", "Very High"];
9
10
  export declare const toFrequencyLabelType: (v: string) => "Low" | "Very Low" | "Mid" | "High" | "Very High";
10
11
  export declare type FrequencyLabelType = ReturnType<typeof toFrequencyLabelType>;
@@ -25,6 +26,11 @@ export interface CompanyHealthMetricViewSelector extends SelectorView {
25
26
  localFormDataAndStatusByCompanyId?: EditCompanyHealthMetrics;
26
27
  selectedCompanyId: ID | undefined;
27
28
  selectedCompanyDetail: CompanyDetailWithHealthMetric | undefined;
29
+ zeniUsers: {
30
+ fetchState: FetchState;
31
+ error?: ZeniAPIStatus;
32
+ values: User[];
33
+ };
28
34
  }
29
35
  export interface CompanyDetailWithHealthMetric extends Company {
30
36
  companyHealthMetric: CompanyHealthMetric;
@@ -11,6 +11,8 @@ const sortOrderPayload_1 = require("../../commonPayloadTypes/sortOrderPayload");
11
11
  const companySelector_1 = require("../../entity/company/companySelector");
12
12
  const companyHealthMetricSelector_1 = require("../../entity/companyHealthMetric/companyHealthMetricSelector");
13
13
  const userSelector_1 = require("../../entity/user/userSelector");
14
+ const cockpitHelpers_1 = require("../companyView/helpers/cockpitHelpers");
15
+ const companyHelper_1 = require("../../entity/company/companyHelper");
14
16
  exports.ALL_FREQUENCY_LABEL_TYPE = [
15
17
  'Low',
16
18
  'Very Low',
@@ -50,7 +52,7 @@ exports.companyHealthMetricDropDownOptions = [
50
52
  const getCompanyHealthMetricView = (state) => {
51
53
  const { companyHealthMetricViewState, companyHealthMetricState, companyState, userState, } = state;
52
54
  const { companyIds, companyHealthMetricUpdateStatusById, uiState, selectedCompanyId, } = companyHealthMetricViewState;
53
- const { sortKey, sortOrder, filterText } = uiState;
55
+ const { sortKey, sortOrder, filterText, filters } = uiState;
54
56
  const companies = (0, companySelector_1.getCompanyByCompanyIds)(companyState, companyIds).map((company) => company.company);
55
57
  let selectedCompanyDetail = undefined;
56
58
  const companiesHealthMetrics = (0, companyHealthMetricSelector_1.getCompanyHealthMetricByCompanyIds)(companyHealthMetricState, companyIds);
@@ -58,7 +60,9 @@ const getCompanyHealthMetricView = (state) => {
58
60
  if (selectedCompanyId != null) {
59
61
  selectedCompanyDetail = companyDetailWithHealthMetric.find((company) => company.companyInfo.companyId === selectedCompanyId);
60
62
  }
61
- companyDetailWithHealthMetric = sortAndFilterCompanies(sortKey, sortOrder, filterText, companyDetailWithHealthMetric);
63
+ companyDetailWithHealthMetric = sortAndFilterCompanies(sortKey, sortOrder, filterText, filters, companyDetailWithHealthMetric);
64
+ const zeniUsers = (0, userSelector_1.getUsersByUserIds)(state.userState, state.companyViewState.zeniUsers.ids);
65
+ const orderedZeniUsers = (0, orderBy_1.default)(zeniUsers, (user) => (0, userSelector_1.getUserName)(user), 'asc');
62
66
  return {
63
67
  uiState: uiState,
64
68
  version: '1.0',
@@ -71,6 +75,11 @@ const getCompanyHealthMetricView = (state) => {
71
75
  ? companyHealthMetricUpdateStatusById[selectedCompanyId]
72
76
  : undefined,
73
77
  selectedCompanyDetail,
78
+ zeniUsers: {
79
+ fetchState: state.companyViewState.zeniUsers.fetchState,
80
+ error: state.companyViewState.zeniUsers.error,
81
+ values: orderedZeniUsers,
82
+ },
74
83
  };
75
84
  };
76
85
  exports.getCompanyHealthMetricView = getCompanyHealthMetricView;
@@ -119,7 +128,105 @@ const hasCompanyHealthMetricFormFieldChanged = (entityData, formData) => {
119
128
  }
120
129
  };
121
130
  exports.hasCompanyHealthMetricFormFieldChanged = hasCompanyHealthMetricFormFieldChanged;
122
- const sortAndFilterCompanies = (sortKey, sortOrder, filterText, companies) => {
131
+ const removeDuplicatesFromCompaniesArray = (companies) => {
132
+ const foundIds = [];
133
+ return companies.filter((company) => {
134
+ const companyId = company.companyHealthMetric.companyId;
135
+ if (foundIds.indexOf(company.companyHealthMetric.companyId) === -1) {
136
+ foundIds.push(companyId);
137
+ return true;
138
+ }
139
+ return false;
140
+ });
141
+ };
142
+ const getCategoryValueForCompany = (key, company) => {
143
+ var _a;
144
+ const controllerIds = (0, companyHelper_1.getControllersUserIds)(company.controllers);
145
+ const firstControllerId = (0, companyHelper_1.getFirstControllerId)(controllerIds);
146
+ switch (key) {
147
+ case 'controller':
148
+ return firstControllerId;
149
+ case 'lastReportSent':
150
+ return company.managegmentInfo.lastReportSentDate != null
151
+ ? company.managegmentInfo.lastReportSentDate
152
+ : undefined;
153
+ case 'runway':
154
+ return company.companyHealthMetric.runway &&
155
+ company.companyHealthMetric.runway.runwayMonths != null
156
+ ? company.companyHealthMetric.runway.runwayMonths.toString()
157
+ : undefined;
158
+ case 'verticalProductServices':
159
+ return company.companyHealthMetric[key]
160
+ .filter((product) => product.isEnabled)
161
+ .map((productService) => productService.productServiceKey);
162
+ case 'netPromoterScore':
163
+ return company.companyHealthMetric.netPromoterScore != null
164
+ ? company.companyHealthMetric.netPromoterScore.toString()
165
+ : undefined;
166
+ case 'churnProbabilityPercentage':
167
+ return company.companyHealthMetric.churnProbabilityPercentage != null
168
+ ? company.companyHealthMetric.churnProbabilityPercentage.toString()
169
+ : undefined;
170
+ default:
171
+ return (_a = company.companyHealthMetric[key]) === null || _a === void 0 ? void 0 : _a.toString();
172
+ }
173
+ };
174
+ const applyAdvancedFiltersOnCompaniesList = (allCompanies, filters, filteredCompanies = [], index = 0) => {
175
+ // if there are no filters we will return allCompanies
176
+ if ((filters === null || filters === void 0 ? void 0 : filters.categories) == null) {
177
+ return allCompanies;
178
+ }
179
+ // to finish the recursion
180
+ if (index === filters.categories.length) {
181
+ return filteredCompanies;
182
+ }
183
+ // if categoryCombinationOperator is AND, we will initialize filteredCompanies = allCompanies
184
+ if (index === 0 && filters.categoryCombinationOperator === 'AND') {
185
+ filteredCompanies = allCompanies;
186
+ }
187
+ const currentFilter = filters.categories[index];
188
+ // it is possible some filter may not have field or values set in that case we will just move ahead with the next step of recursion
189
+ if (currentFilter.field == null || currentFilter.values.length === 0) {
190
+ return applyAdvancedFiltersOnCompaniesList(allCompanies, filters, filteredCompanies, index + 1);
191
+ }
192
+ // if categoryCombinationOperator is AND then we will filter only already filtered companies else we will filter all the companies and take union
193
+ const companiesToBeFiltered = filters.categoryCombinationOperator === 'AND'
194
+ ? filteredCompanies
195
+ : allCompanies;
196
+ const companiesWithCurrentFilter = companiesToBeFiltered.filter((company) => {
197
+ const key = currentFilter.field;
198
+ const categoryValue = getCategoryValueForCompany(key, company);
199
+ if (categoryValue == null) {
200
+ if (currentFilter.matchingOperator === 'not-equal') {
201
+ return true;
202
+ }
203
+ return false;
204
+ }
205
+ if (!Array.isArray(categoryValue)) {
206
+ return (0, cockpitHelpers_1.filterCompanyOnCategoriesWithSingleValue)(categoryValue, currentFilter, [
207
+ 'runway',
208
+ 'churnProbabilityPercentage',
209
+ 'netPromoterScore',
210
+ 'subscriptionStartDate',
211
+ 'subscriptionRenewalDate',
212
+ 'lastReportSent',
213
+ ]);
214
+ }
215
+ return (0, cockpitHelpers_1.filterCompanyOnCategoriesWithMultipleValues)(categoryValue, currentFilter);
216
+ });
217
+ // if categoryCombinationOperator is OR we will union already filtered and the companies which match current filter criteria
218
+ if (filters.categoryCombinationOperator === 'OR') {
219
+ filteredCompanies = removeDuplicatesFromCompaniesArray([
220
+ ...companiesWithCurrentFilter,
221
+ ...filteredCompanies,
222
+ ]);
223
+ }
224
+ // recursively apply next filter
225
+ return applyAdvancedFiltersOnCompaniesList(allCompanies, filters, filters.categoryCombinationOperator === 'AND'
226
+ ? companiesWithCurrentFilter
227
+ : filteredCompanies, index + 1);
228
+ };
229
+ const sortAndFilterCompanies = (sortKey, sortOrder, filterText, filters, companies) => {
123
230
  const sortOrderKey = (0, sortOrderPayload_1.getSortOrder)(sortOrder);
124
231
  let updatedCompanies = [];
125
232
  const trimmedFilterText = filterText.trim();
@@ -134,6 +241,7 @@ const sortAndFilterCompanies = (sortKey, sortOrder, filterText, companies) => {
134
241
  else {
135
242
  updatedCompanies = [...companies];
136
243
  }
244
+ updatedCompanies = applyAdvancedFiltersOnCompaniesList(updatedCompanies, filters);
137
245
  const companiesWithSortKeyValues = [];
138
246
  const companiesWithNoSortKeyValues = [];
139
247
  updatedCompanies.forEach((company) => {
@@ -2,11 +2,13 @@ import { ID } from '../../../commonStateTypes/common';
2
2
  import { CompanyPayload } from '../../../entity/company/companyPayload';
3
3
  import { TenantPayload } from '../../../entity/tenant/tenantPayload';
4
4
  import { UserRolePayload } from '../../../entity/userRole/userRolePayload';
5
+ import { ZeniDate } from '../../../zeniDayJS';
5
6
  import { SubscriptionPlan } from '../../../entity/subscription/subscriptionPlan/subscriptionPlanState';
6
7
  import { CompanyWithUpdateStatusView } from '../selector/companyManagementViewSelector';
7
8
  import { CockpitFilterCategory } from '../types/cockpitTypes';
8
9
  import { CompanyView } from '../types/companyView';
9
- export declare const filterCompanyOnCategoriesWithSingleValue: (categoryValue: string, currentFilter: CockpitFilterCategory, rangeTypeFields: string[]) => boolean;
10
+ export declare type FilterCategoryValueType = string | ZeniDate;
11
+ export declare const filterCompanyOnCategoriesWithSingleValue: (categoryValue: FilterCategoryValueType, currentFilter: CockpitFilterCategory, rangeTypeFields: string[]) => boolean;
10
12
  export declare const filterCompanyOnCategoriesWithMultipleValues: (categoryValue: string[], currentFilter: CockpitFilterCategory) => boolean;
11
13
  export declare const removeDuplicatesFromCompaniesArray: (companies: CompanyView[] | CompanyWithUpdateStatusView[]) => CompanyView[];
12
14
  export declare const getCompanyIdTenantIdMapping: (userRoles: UserRolePayload[], companies: CompanyPayload[]) => Record<ID, ID> | undefined;
@@ -2,19 +2,30 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.extractUniqueZeniSKUs = exports.shouldEnableCalendarPickerForLastReportSent = exports.canSendMonthEndEmailReport = exports.getCompanyIdTenantIdMappingFromTenantsList = exports.getCompanyIdTenantIdMapping = exports.removeDuplicatesFromCompaniesArray = exports.filterCompanyOnCategoriesWithMultipleValues = exports.filterCompanyOnCategoriesWithSingleValue = void 0;
4
4
  const zeniDayJS_1 = require("../../../zeniDayJS");
5
- const filterCompanyOnRangeCategoryType = (companyRevenue, currentFilter) => {
6
- let doesCompanyFallInRevenueRange = false;
7
- for (const filterValue of currentFilter.values) {
8
- const revenue = parseInt(companyRevenue);
9
- const lowerValue = parseInt(filterValue.split('<->')[0]);
10
- const higherValue = parseInt(filterValue.split('<->')[1]);
11
- if (revenue >= lowerValue && revenue <= higherValue) {
12
- doesCompanyFallInRevenueRange = true;
5
+ const filterCompanyOnRangeCategoryType = (categoryValue, currentFilter) => {
6
+ let doesCompanyFallInCategoryRange = false;
7
+ if (typeof categoryValue === 'string') {
8
+ for (const filterValue of currentFilter.values) {
9
+ const revenue = parseInt(categoryValue);
10
+ const lowerValue = parseInt(filterValue.toString().split('<->')[0]);
11
+ const higherValue = parseInt(filterValue.toString().split('<->')[1]);
12
+ if (revenue >= lowerValue && revenue <= higherValue) {
13
+ doesCompanyFallInCategoryRange = true;
14
+ }
15
+ }
16
+ }
17
+ else {
18
+ const currentValue = categoryValue;
19
+ const lowerValue = currentFilter.values[0];
20
+ const higherValue = currentFilter.values[1];
21
+ if (currentValue.isSameOrAfter(lowerValue) &&
22
+ currentValue.isSameOrBefore(higherValue)) {
23
+ doesCompanyFallInCategoryRange = true;
13
24
  }
14
25
  }
15
26
  return currentFilter.matchingOperator === 'equal'
16
- ? doesCompanyFallInRevenueRange
17
- : !doesCompanyFallInRevenueRange;
27
+ ? doesCompanyFallInCategoryRange
28
+ : !doesCompanyFallInCategoryRange;
18
29
  };
19
30
  const filterCompanyOnCategoriesWithSingleValue = (categoryValue, currentFilter, rangeTypeFields) => {
20
31
  if (currentFilter.field != null &&
@@ -34,7 +45,7 @@ const filterCompanyOnCategoriesWithMultipleValues = (categoryValue, currentFilte
34
45
  // example - controllers list should contain either X OR Y
35
46
  if (currentFilter.valuesCombinationOperator === 'ANY') {
36
47
  for (const filterValue of currentFilter.values) {
37
- if (categoryValue.indexOf(filterValue) > -1) {
48
+ if (categoryValue.indexOf(filterValue.toString()) > -1) {
38
49
  return true;
39
50
  }
40
51
  }
@@ -42,7 +53,7 @@ const filterCompanyOnCategoriesWithMultipleValues = (categoryValue, currentFilte
42
53
  }
43
54
  // example - controllers list should contain both X AND Y
44
55
  for (const filterValue of currentFilter.values) {
45
- if (categoryValue.indexOf(filterValue) === -1) {
56
+ if (categoryValue.indexOf(filterValue.toString()) === -1) {
46
57
  return false;
47
58
  }
48
59
  }
@@ -51,7 +62,7 @@ const filterCompanyOnCategoriesWithMultipleValues = (categoryValue, currentFilte
51
62
  // example - controllers list shouldn't contain either X or Y
52
63
  if (currentFilter.valuesCombinationOperator === 'ANY') {
53
64
  for (const filterValue of currentFilter.values) {
54
- if (categoryValue.indexOf(filterValue) > -1) {
65
+ if (categoryValue.indexOf(filterValue.toString()) > -1) {
55
66
  return false;
56
67
  }
57
68
  }
@@ -59,7 +70,7 @@ const filterCompanyOnCategoriesWithMultipleValues = (categoryValue, currentFilte
59
70
  }
60
71
  // example - controllers list shouldn't contain both X and Y
61
72
  for (const filterValue of currentFilter.values) {
62
- if (categoryValue.indexOf(filterValue) === -1) {
73
+ if (categoryValue.indexOf(filterValue.toString()) === -1) {
63
74
  return true;
64
75
  }
65
76
  }
@@ -1,5 +1,7 @@
1
1
  import { SortOrder } from '../../../commonStateTypes/selectorTypes/sortOrderTypes';
2
+ import { ZeniDate } from '../../../zeniDayJS';
2
3
  import { SubscriptionViewSortKey } from '../../subscriptionView/types/subscriptionTypes';
4
+ import { FilterCategoryValueType } from '../helpers/cockpitHelpers';
3
5
  import { CockpitDownloadTabsID, CockpitTabsFileType } from './cockpitTabsID';
4
6
  export declare const ALL_PORTFOLIO_SORT_KEYS: readonly ["companyName", "cashBalance", "runway", "expenses", "revenues", "netIncome"];
5
7
  export declare const ALL_MANAGEMENT_SORT_KEYS: readonly ["companyName", "task", "status", "group", "plans", "controller", "reviewer", "preparer", "apAnalyst", "reportSent", "taxStatus", "taxLead", "monthlyRecurringRevenue", "annualRecurringRevenue", "notes", "satisfaction", "bookCloseDate"];
@@ -8,7 +10,7 @@ export declare const ALL_HEALTH_SORT_KEYS: readonly ["companyName", "issues", "p
8
10
  export declare const toPortfolioSortKeyType: (v: string) => "expenses" | "runway" | "cashBalance" | "netIncome" | "companyName" | "revenues";
9
11
  export declare const toManagementSortKeyType: (v: string) => "status" | "group" | "bookCloseDate" | "controller" | "preparer" | "reviewer" | "companyName" | "monthlyRecurringRevenue" | "annualRecurringRevenue" | "taxStatus" | "plans" | "notes" | "task" | "apAnalyst" | "reportSent" | "taxLead" | "satisfaction";
10
12
  export declare const toOnboardingSortKeyType: (v: string) => "companyName" | "identityVerified" | "businessVerified" | "bankAccountLinked" | "qboLinked" | "groupCreated" | "customerCreated" | "notes" | "enroller" | "invite";
11
- export declare const toHealthSortKeyType: (v: string) => "runway" | "controller" | "companyName" | "issues" | "productVerticals" | "churnProbability" | "netPromoterScore" | "lastReportSent" | "subscriptionDate" | "renewalDate";
13
+ export declare const toHealthSortKeyType: (v: string) => "runway" | "controller" | "companyName" | "netPromoterScore" | "lastReportSent" | "issues" | "productVerticals" | "churnProbability" | "subscriptionDate" | "renewalDate";
12
14
  export declare type PortfolioViewSortKey = ReturnType<typeof toPortfolioSortKeyType>;
13
15
  export declare type ManagementViewSortKey = ReturnType<typeof toManagementSortKeyType>;
14
16
  export declare type OnboardingViewSortKey = ReturnType<typeof toOnboardingSortKeyType>;
@@ -16,10 +18,11 @@ export declare type HealthViewSortKey = ReturnType<typeof toHealthSortKeyType>;
16
18
  export declare type ManagementViewFilterCategoryField = 'controllerUserIds' | 'preparerUserIds' | 'reviewerUserIds' | 'apAnalystUserIds' | 'taxLeadUserIds' | 'companyGroupId' | 'taxStatusCode' | 'statusCode' | 'plans' | 'annualRecurringRevenue' | 'monthlyRecurringRevenue' | 'customerSatisfaction' | 'zeniSatisfaction';
17
19
  export declare type SubscriptionViewFilterCategoryField = 'controllerUserIds' | 'statusCode' | 'recommendedActionCode' | 'subscriptionPlans' | 'subscriptionAddOns' | 'avg2MonthExpenses' | 'slabLowerLimit' | 'slabUpperLimit' | 'monthlyRecurringRevenue';
18
20
  export declare type PortfolioViewFilterCategoryField = 'netBurnOrIncome' | 'cashPosition' | 'income' | 'expenses' | 'runway';
21
+ export declare type HealthMonitorViewFilterCategoryField = 'verticalProductServices' | 'runway' | 'netPromoterScore' | 'churnProbabilityPercentage' | 'controller' | 'lastReportSent' | 'subscriptionStartDate' | 'subscriptionRenewalDate';
19
22
  export interface CockpitFilterCategory {
20
- field?: ManagementViewFilterCategoryField | SubscriptionViewFilterCategoryField | PortfolioViewFilterCategoryField;
23
+ field?: ManagementViewFilterCategoryField | SubscriptionViewFilterCategoryField | PortfolioViewFilterCategoryField | HealthMonitorViewFilterCategoryField;
21
24
  matchingOperator: 'equal' | 'not-equal';
22
- values: string[];
25
+ values: FilterCategoryValueType[];
23
26
  valuesCombinationOperator: 'ANY' | 'ALL';
24
27
  }
25
28
  export interface CockpitFilters {
@@ -32,7 +35,7 @@ export declare type ManagementStatusCodeType = ReturnType<typeof toManagementSta
32
35
  export interface FilterCombinationsByTabs {
33
36
  filterText: string;
34
37
  filters: CockpitFilters;
35
- sortKey: ManagementViewSortKey | PortfolioViewSortKey | SubscriptionViewSortKey | OnboardingViewSortKey;
38
+ sortKey: ManagementViewSortKey | PortfolioViewSortKey | SubscriptionViewSortKey | OnboardingViewSortKey | HealthViewSortKey;
36
39
  sortOrder: SortOrder;
37
40
  }
38
41
  export interface DownloadCockpitTabOptions {
@@ -43,3 +46,4 @@ export interface DownloadCockpitTabOptions {
43
46
  }
44
47
  export declare const ALL_ONBOARDING_STEP_KEYS: readonly ["bankAccountLinked", "qboLinked", "identityVerified", "businessVerified"];
45
48
  export declare const toOnboardingStepKeyType: (v: string) => "identityVerified" | "businessVerified" | "bankAccountLinked" | "qboLinked";
49
+ export declare type CategoryValueForCompanyType = string | string[] | ZeniDate | undefined;
@@ -445,7 +445,7 @@ const setEntityRecommendationForLineIdInLocalData = (transaction, transactionDet
445
445
  line.type === 'transaction_with_product_or_service_line' ||
446
446
  line.type === 'journal_entry_transaction_line') {
447
447
  const record = Object.assign({}, oldRecord);
448
- const recommendations = recommendationByLineId === null || recommendationByLineId === void 0 ? void 0 : recommendationByLineId[lineId];
448
+ const recommendations = mergeTransactionAndEntityRecommendations(oldRecord.recommendations, recommendationByLineId === null || recommendationByLineId === void 0 ? void 0 : recommendationByLineId[lineId]);
449
449
  const accountLine = line;
450
450
  record.account = accountLine.account;
451
451
  record.class = accountLine.class;
@@ -668,3 +668,39 @@ const isAccountUncategorized = (uncategorizedIncomeExpense, accountQboId) => {
668
668
  }
669
669
  return false;
670
670
  };
671
+ /*
672
+ Note: Below helper is used to merge transaction recommendations and entity recommendations.
673
+ On transaction detail page, we get vendors, accounting_classes and accounts inside recommendations. This is stored inside local data.
674
+ When we select a vendor from vendor dropdown, recommendations api is called and in response, only accounting_classes and accounts we get.
675
+ So in this case, we need to merge the transaction recommendation with this new recommendation in order to keep `vendors` part as it is.
676
+
677
+ We are keeping `vendors` of transaction and updated accounting_classes and accounts from recommendations api call.
678
+ */
679
+ const mergeTransactionAndEntityRecommendations = (transactionRecommendations, entityRecommendations) => {
680
+ if (entityRecommendations == null) {
681
+ return transactionRecommendations;
682
+ }
683
+ else if (transactionRecommendations == null) {
684
+ return entityRecommendations;
685
+ }
686
+ else if (entityRecommendations.length > transactionRecommendations.length) {
687
+ return entityRecommendations.map((recommendation, index) => {
688
+ var _a;
689
+ return {
690
+ account: recommendation.account,
691
+ class: recommendation.class,
692
+ vendor: (_a = transactionRecommendations[index]) === null || _a === void 0 ? void 0 : _a.vendor,
693
+ };
694
+ });
695
+ }
696
+ else {
697
+ return transactionRecommendations.map((recommendation, index) => {
698
+ var _a, _b;
699
+ return {
700
+ account: (_a = entityRecommendations[index]) === null || _a === void 0 ? void 0 : _a.account,
701
+ class: (_b = entityRecommendations[index]) === null || _b === void 0 ? void 0 : _b.class,
702
+ vendor: recommendation.vendor,
703
+ };
704
+ });
705
+ }
706
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "4.9.32",
3
+ "version": "4.9.34",
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",