@zeniai/client-epic-state 4.10.15 → 4.10.17

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 (23) hide show
  1. package/lib/entity/tenant/tenantPayload.d.ts +1 -0
  2. package/lib/entity/tenant/tenantReducer.js +2 -0
  3. package/lib/entity/tenant/tenantSelector.js +4 -4
  4. package/lib/entity/tenant/tenantState.d.ts +7 -5
  5. package/lib/index.d.ts +5 -5
  6. package/lib/index.js +10 -7
  7. package/lib/view/companyHealthMetricView/companyHealthMetricViewSelector.d.ts +1 -0
  8. package/lib/view/companyHealthMetricView/companyHealthMetricViewSelector.js +15 -5
  9. package/lib/view/companyHealthMetricView/epic/saveCompanyHealthMetricByIdEpic.js +4 -2
  10. package/lib/view/companyView/helpers/cockpitHelpers.d.ts +2 -0
  11. package/lib/view/companyView/helpers/cockpitHelpers.js +4 -2
  12. package/lib/view/onboardingView/cockpitView/epic/initializeOnboardingCustomerViewUpdateDataEpic.js +24 -0
  13. package/lib/view/onboardingView/cockpitView/onboardingCockpitViewPayload.d.ts +4 -0
  14. package/lib/view/onboardingView/cockpitView/onboardingCockpitViewPayload.js +20 -1
  15. package/lib/view/onboardingView/cockpitView/onboardingCockpitViewSelector.d.ts +9 -1
  16. package/lib/view/onboardingView/cockpitView/onboardingCockpitViewSelector.js +29 -3
  17. package/lib/view/onboardingView/cockpitView/types/onboardingCockpitViewTypes.d.ts +11 -1
  18. package/lib/view/onboardingView/cockpitView/types/onboardingCockpitViewTypes.js +21 -0
  19. package/lib/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewLocalStoreDataEpic.js +5 -4
  20. package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.d.ts +2 -2
  21. package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.js +10 -7
  22. package/lib/view/scheduleView/scheduleDetailView/scheduleDetailPayload.js +15 -7
  23. package/package.json +1 -1
@@ -17,6 +17,7 @@ interface TenantPayload {
17
17
  invite_create_time: string;
18
18
  inviter_email: string;
19
19
  inviter_id: ID;
20
+ hubspot_id: ID | null;
20
21
  is_book_keeping_enabled: boolean;
21
22
  is_banking_enabled: boolean;
22
23
  is_spend_management_enabled: boolean;
@@ -345,6 +345,7 @@ function mapTenantsPayloadToState(tenantsPayload) {
345
345
  return [tenantsById, tenantIds, firstUser];
346
346
  }
347
347
  function mapTenantPayloadToTenant(payload) {
348
+ var _a;
348
349
  const tenant = {
349
350
  accountingClassIDs: payload.accounting_class_ids,
350
351
  bookCloseDate: payload.book_close_date != null
@@ -378,6 +379,7 @@ function mapTenantPayloadToTenant(payload) {
378
379
  timeSpanIdForAverage: (0, netBurnOrIncomeStoryCardState_1.toTimeSpanIdForAverage)(payload.time_span_id_for_avg_net_burn),
379
380
  },
380
381
  chargebeeId: payload.chargebee_customer_id,
382
+ hubSpotId: (_a = payload.hubspot_id) !== null && _a !== void 0 ? _a : undefined,
381
383
  isOnboardingCompleted: true,
382
384
  qboRealmId: payload.qbo_realm_id,
383
385
  isCustomerCreated: payload.is_customer_created,
@@ -243,12 +243,12 @@ const toTenantCoreDetailsView = (tenantsBaseView) => {
243
243
  };
244
244
  exports.toTenantCoreDetailsView = toTenantCoreDetailsView;
245
245
  const isTenantBankingOnly = (tenant) => {
246
- return (tenant.productSettings.isBankingEnabled === true &&
247
- tenant.productSettings.isBookkeepingEnabled === false &&
248
- tenant.productSettings.isSpendManagementEnabled === false);
246
+ return (tenant.productSettings.isBankingEnabled &&
247
+ !tenant.productSettings.isBookkeepingEnabled &&
248
+ !tenant.productSettings.isSpendManagementEnabled);
249
249
  };
250
250
  exports.isTenantBankingOnly = isTenantBankingOnly;
251
251
  const isTenantBookkeepingEnabled = (tenant) => {
252
- return tenant.productSettings.isBookkeepingEnabled === true;
252
+ return tenant.productSettings.isBookkeepingEnabled;
253
253
  };
254
254
  exports.isTenantBookkeepingEnabled = isTenantBookkeepingEnabled;
@@ -31,6 +31,11 @@ export interface TenantState extends FetchedState {
31
31
  } | undefined>;
32
32
  activeTenantFetchState: FetchStateAndError;
33
33
  }
34
+ export interface TenantProductSettings {
35
+ isBookkeepingEnabled: boolean;
36
+ isBankingEnabled: boolean;
37
+ isSpendManagementEnabled: boolean;
38
+ }
34
39
  export interface Tenant {
35
40
  bookCloseDate?: ZeniDate;
36
41
  tenantId: ID;
@@ -48,17 +53,14 @@ export interface Tenant {
48
53
  tenantEmailDomain: string;
49
54
  updateTime: ZeniDate;
50
55
  userLastCheckInTime: ZeniDate;
51
- productSettings: {
52
- isBookkeepingEnabled: boolean;
53
- isBankingEnabled: boolean;
54
- isSpendManagementEnabled: boolean;
55
- };
56
+ productSettings: TenantProductSettings;
56
57
  netBurnSettings: {
57
58
  accountingMethod: AccountingMethod;
58
59
  numberOfMonthsForAverage: AverageMonthsCount;
59
60
  timeSpanIdForAverage: TimeSpanIdForAverage;
60
61
  };
61
62
  chargebeeId: ID;
63
+ hubSpotId?: ID;
62
64
  qboRealmId: ID;
63
65
  isCustomerCreated: boolean;
64
66
  isEmailGroupCreated: boolean;
package/lib/index.d.ts CHANGED
@@ -58,10 +58,10 @@ import { getNumberOfPeriods } from './commonStateTypes/dataAvailable';
58
58
  export { getNumberOfPeriods };
59
59
  import { SCHEDULE_DAYS_OF_MONTH, ScheduleDaysOfMonth, toScheduleDaysOfMonth, Day, Month, toMonth, toMonthStrict, AbsoluteDay, TimePeriod, Quarter, toQuarter, toQuarterStrict } from './commonStateTypes/timePeriod';
60
60
  export { SCHEDULE_DAYS_OF_MONTH, ScheduleDaysOfMonth, toScheduleDaysOfMonth, Day, Month, toMonth, toMonthStrict, Quarter, toQuarter, toQuarterStrict, AbsoluteDay, TimePeriod, };
61
- import { Tenant, LoggedInUser, RoleResource, Connection } from './entity/tenant/tenantState';
61
+ import { Tenant, LoggedInUser, RoleResource, Connection, TenantProductSettings } from './entity/tenant/tenantState';
62
62
  import { TenantView, getCurrentTenant, CurrentTenant, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, TenantsBaseOrdered, TenantsOrdered, TenantCoreDetailsView, getTenantBaseById, TenantBaseView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, isTenantBankingOnly, isTenantBookkeepingEnabled } from './entity/tenant/tenantSelector';
63
63
  import { fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doSignIn, updateSignInState, DoSignInPayload, doSignOut, fetchExcludedResources as fetchExcludedResourcesForTenant, fetchExternalConnections as fetchExternalConnectionsForTenant, saveExternalConnection as saveExternalConnectionForTeanant, fetchSubscriptionSummaryForTenant } from './entity/tenant/tenantReducer';
64
- export { Tenant, TenantView, LoggedInUser, TenantBaseView, CurrentTenant, getTenantBaseById, getCurrentTenant, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, TenantsBaseOrdered, TenantsOrdered, TenantCoreDetailsView, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doSignIn, updateSignInState, DoSignInPayload, doSignOut, RoleResource, Connection, fetchExcludedResourcesForTenant, fetchExternalConnectionsForTenant, saveExternalConnectionForTeanant, fetchSubscriptionSummaryForTenant, isTenantBankingOnly, isTenantBookkeepingEnabled, };
64
+ export { Tenant, TenantView, LoggedInUser, TenantBaseView, CurrentTenant, TenantProductSettings, getTenantBaseById, getCurrentTenant, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, TenantsBaseOrdered, TenantsOrdered, TenantCoreDetailsView, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doSignIn, updateSignInState, DoSignInPayload, doSignOut, RoleResource, Connection, fetchExcludedResourcesForTenant, fetchExternalConnectionsForTenant, saveExternalConnectionForTeanant, fetchSubscriptionSummaryForTenant, isTenantBankingOnly, isTenantBookkeepingEnabled, };
65
65
  import { Account, AccountType, toAccountType, AccountBase, StatementCloseDay, RecommendedAccountBase } from './entity/account/accountState';
66
66
  import { NestedAccountReport } from './entity/account/subAccountSelector';
67
67
  import { AccountReport, AccountWithBalanceReport } from './entity/account/accountSelector';
@@ -452,8 +452,8 @@ export { fetchEditRemiDetailPage, fetchRecommendationsAndUpdateMerchantRecommend
452
452
  import { CustomerRatingCodeType, TeamRatingCodeType } from './entity/customerSatisfaction/customerSatisfactionState';
453
453
  import { CustomerSatisfactionInfo } from './entity/customerSatisfaction/customerSatisfactionSelectorReducerTypes';
454
454
  import { clearOnboardingCustomerViewUpdateData, fetchCompanyOnboardingView, getOnboardingEmailGroup, initializeOnboardingCustomerViewUpdateData, saveOnboardingCustomerViewUpdateData, saveOnboardingCustomerViewUpdates, saveOnboardingCustomerNotes, saveOnboardingCustomerCompletedStatus, updateOnboardingCustomerListUIState, updateStatusAfterOnboardingCompleted, updateCustomerCreationStatus, fetchOnboardingCompletedCompanies, saveOnboardingCustomerDataInLocalStore, updateOnboardingCustomerDataInLocalStore, resetNewOnboardedCustomerId, sendOnboardingCustomerViewInvite, retryBankAccountConnectionForOnboarding } from './view/onboardingView/cockpitView/onboardingCockpitViewReducer';
455
- import { getNewOnboardingCustomerView, getOnboardingCockpitView, NewOnboardingCustomerView, OnboardingCockpitView } from './view/onboardingView/cockpitView/onboardingCockpitViewSelector';
456
- import { CustomerCreationStatus, NewOnboardingCustomer, OnboardingCustomer, OnboardingCustomerCompletedStatus, OnboardingCompanyDetails } from './view/onboardingView/cockpitView/types/onboardingCockpitViewTypes';
455
+ import { getNewOnboardingCustomerView, getOnboardingCockpitView, NewOnboardingCustomerView, OnboardingCockpitView, ProductInfo } from './view/onboardingView/cockpitView/onboardingCockpitViewSelector';
456
+ import { CustomerCreationStatus, NewOnboardingCustomer, OnboardingCustomer, OnboardingCustomerCompletedStatus, OnboardingCompanyDetails, ProductType, ProductGroupType, toProductType, toProductTypeStrict } from './view/onboardingView/cockpitView/types/onboardingCockpitViewTypes';
457
457
  import { OnboardingCustomerListUIState } from './view/onboardingView/cockpitView/onboardingCockpitViewState';
458
458
  import { reduceFetchState, reduceAnyFetchState, reduceAllFetchState } from './commonStateTypes/reduceFetchState';
459
459
  import { SortOrder } from './commonStateTypes/selectorTypes/sortOrderTypes';
@@ -463,7 +463,7 @@ export { reduceFetchState, reduceAnyFetchState, reduceAllFetchState, SortOrder,
463
463
  export { getNextNthWorkingDay, getPreviousNthWorkingDay, isHolidayToday, filterDays, getYearsList, isHoliday, holidaysFormatted, PAYMENT_BUSINESS_DAYS, };
464
464
  export { CustomerRatingCodeType, TeamRatingCodeType };
465
465
  export { CustomerSatisfactionInfo };
466
- export { fetchCompanyOnboardingView, fetchOnboardingCompletedCompanies, saveOnboardingCustomerCompletedStatus, getOnboardingCockpitView, getNewOnboardingCustomerView, getOnboardingEmailGroup, initializeOnboardingCustomerViewUpdateData, clearOnboardingCustomerViewUpdateData, saveOnboardingCustomerViewUpdateData, updateOnboardingCustomerListUIState, updateCustomerCreationStatus, updateStatusAfterOnboardingCompleted, saveOnboardingCustomerViewUpdates, saveOnboardingCustomerNotes, saveOnboardingCustomerDataInLocalStore, updateOnboardingCustomerDataInLocalStore, NewOnboardingCustomer, OnboardingCustomer, OnboardingCockpitView, NewOnboardingCustomerView, OnboardingCustomerCompletedStatus, OnboardingCustomerListUIState, CustomerCreationStatus, OnboardingCompanyDetails, resetNewOnboardedCustomerId, sendOnboardingCustomerViewInvite, retryBankAccountConnectionForOnboarding, };
466
+ export { fetchCompanyOnboardingView, fetchOnboardingCompletedCompanies, saveOnboardingCustomerCompletedStatus, ProductType, ProductGroupType, toProductType, toProductTypeStrict, ProductInfo, getOnboardingCockpitView, getNewOnboardingCustomerView, getOnboardingEmailGroup, initializeOnboardingCustomerViewUpdateData, clearOnboardingCustomerViewUpdateData, saveOnboardingCustomerViewUpdateData, updateOnboardingCustomerListUIState, updateCustomerCreationStatus, updateStatusAfterOnboardingCompleted, saveOnboardingCustomerViewUpdates, saveOnboardingCustomerNotes, saveOnboardingCustomerDataInLocalStore, updateOnboardingCustomerDataInLocalStore, NewOnboardingCustomer, OnboardingCustomer, OnboardingCockpitView, NewOnboardingCustomerView, OnboardingCustomerCompletedStatus, OnboardingCustomerListUIState, CustomerCreationStatus, OnboardingCompanyDetails, resetNewOnboardedCustomerId, sendOnboardingCustomerViewInvite, retryBankAccountConnectionForOnboarding, };
467
467
  import { TransactionListByCategoryType, getTransactionsListByCategoryType, getTransactionListUIStateByCategoryType } from './view/transactionList/transactionListByCategoryTypeSelector';
468
468
  import { TransactionCategoryType } from './view/transactionList/transactionListState';
469
469
  export { TransactionListByCategoryType, getTransactionsListByCategoryType, getTransactionListUIStateByCategoryType, TransactionCategoryType, };
package/lib/index.js CHANGED
@@ -41,13 +41,13 @@ exports.saveBillUpdatesToLocalStore = exports.fetchVendorByNameAndParseInvoice =
41
41
  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.fetchVendorAndUpdateBillLocalData = 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 = 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 = void 0;
42
42
  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 = 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 = void 0;
43
43
  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 = 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 = void 0;
44
- 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 = 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 = void 0;
45
- 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 = exports.ZENI_ACCOUNTS_TAB = exports.fetchDepositAccountDetail = exports.fetchReviewTransferDetail = exports.clearReviewTransferDetail = exports.clearTransferDetail = exports.getTransferDetail = exports.transferMoney = exports.updateDepositToLocalData = exports.updateTransferToLocalData = exports.updateTransferMoneyLocalData = exports.fetchZeniAccountsConfig = exports.fetchDepositAccount = exports.getDepositAccountDetailForPDF = exports.getAllDepostAccounts = exports.getDepositAccountDetail = exports.unlinkPaymentAccount = exports.fetchPaymentAccountList = exports.createCheckingAccount = void 0;
46
- 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 = 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 = void 0;
47
- 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 = 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 = void 0;
48
- exports.saveTaskDetail = exports.saveTaskUpdatesToLocalStore = exports.fetchTaskDetailPage = exports.getTaskDetail = exports.fetchTaskListPage = exports.getAllTasks = exports.toRecurringBillFrequencyStrict = exports.toRecurringBillFrequency = exports.updateArAgingNodeCollapseState = 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 = 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.resetMarkAsCompleteStatus = exports.markAsCompleteScheduleDetail = exports.getDefaultSelectedTimeframeForScheduleType = exports.getFetchStateForScheduleListByType = exports.updatedJELinkWithRecommendedLocalData = exports.resetJELinkInLocalData = exports.updateAmountsInScheduleDetail = exports.updatedJELinkInLocalData = exports.getThirdPartyIDFromQBOURL = void 0;
49
- exports.toRecurringFrequency = exports.getRecurringEndDateFromCount = exports.fetchRewardsPlan = exports.resendReferralInvite = exports.updateReferralListSortUiState = exports.saveReferralFormDataInLocalStore = exports.clearReferrals = exports.sendReferralInvite = exports.fetchReferrals = exports.AmountStatusTypes = exports.StatusTypes = exports.toReferralListViewSortKeyType = exports.getInviteFormView = exports.getReferralListView = exports.getNotificationsForSelectedSubTab = exports.getExternalNotificationsForSelectedSubTab = exports.getNotificationView = exports.updateNotificationViewUIState = exports.updateNotificationViewSubTab = exports.updateNotificationViewCurrentTabAndSubTab = exports.updateNotificationViewTabState = exports.updateNotificationViewNotificationStatus = exports.updateNotificationViewAllNotificationsStatus = exports.fetchNotificationUnreadCountSuccess = exports.fetchNotificationUnreadCount = exports.fetchNotificationView = exports.toNotificationTabTypeStrict = exports.toNotificationSubTabTypeStrict = exports.updateCommentsNotificationsStatuses = exports.updateCommentsNotifications = exports.toNotificationModeStrict = 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 = void 0;
50
- exports.getMinAllowedEndDate = void 0;
44
+ 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 = 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.toProductTypeStrict = exports.toProductType = exports.saveOnboardingCustomerCompletedStatus = void 0;
45
+ 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 = exports.ZENI_ACCOUNTS_TAB = exports.fetchDepositAccountDetail = exports.fetchReviewTransferDetail = exports.clearReviewTransferDetail = exports.clearTransferDetail = exports.getTransferDetail = exports.transferMoney = exports.updateDepositToLocalData = exports.updateTransferToLocalData = exports.updateTransferMoneyLocalData = exports.fetchZeniAccountsConfig = exports.fetchDepositAccount = exports.getDepositAccountDetailForPDF = exports.getAllDepostAccounts = exports.getDepositAccountDetail = exports.unlinkPaymentAccount = exports.fetchPaymentAccountList = exports.createCheckingAccount = exports.updateZeniAccountListTab = exports.fetchZeniAccountList = void 0;
46
+ 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 = 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 = void 0;
47
+ 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 = 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 = void 0;
48
+ exports.fetchTaskDetailPage = exports.getTaskDetail = exports.fetchTaskListPage = exports.getAllTasks = exports.toRecurringBillFrequencyStrict = exports.toRecurringBillFrequency = exports.updateArAgingNodeCollapseState = 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 = 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.resetMarkAsCompleteStatus = exports.markAsCompleteScheduleDetail = exports.getDefaultSelectedTimeframeForScheduleType = exports.getFetchStateForScheduleListByType = exports.updatedJELinkWithRecommendedLocalData = exports.resetJELinkInLocalData = exports.updateAmountsInScheduleDetail = exports.updatedJELinkInLocalData = exports.getThirdPartyIDFromQBOURL = exports.getQBOUrlForLink = exports.updatedSelectedJELinkRowIndex = void 0;
49
+ exports.fetchRewardsPlan = exports.resendReferralInvite = exports.updateReferralListSortUiState = exports.saveReferralFormDataInLocalStore = exports.clearReferrals = exports.sendReferralInvite = exports.fetchReferrals = exports.AmountStatusTypes = exports.StatusTypes = exports.toReferralListViewSortKeyType = exports.getInviteFormView = exports.getReferralListView = exports.getNotificationsForSelectedSubTab = exports.getExternalNotificationsForSelectedSubTab = exports.getNotificationView = exports.updateNotificationViewUIState = exports.updateNotificationViewSubTab = exports.updateNotificationViewCurrentTabAndSubTab = exports.updateNotificationViewTabState = exports.updateNotificationViewNotificationStatus = exports.updateNotificationViewAllNotificationsStatus = exports.fetchNotificationUnreadCountSuccess = exports.fetchNotificationUnreadCount = exports.fetchNotificationView = exports.toNotificationTabTypeStrict = exports.toNotificationSubTabTypeStrict = exports.updateCommentsNotificationsStatuses = exports.updateCommentsNotifications = exports.toNotificationModeStrict = 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 = void 0;
50
+ exports.getMinAllowedEndDate = exports.toRecurringFrequency = exports.getRecurringEndDateFromCount = void 0;
51
51
  const zeniDayJS_1 = require("./zeniDayJS");
52
52
  Object.defineProperty(exports, "Dayjs", { enumerable: true, get: function () { return zeniDayJS_1.Dayjs; } });
53
53
  Object.defineProperty(exports, "updateZeniDateLocaleID", { enumerable: true, get: function () { return zeniDayJS_1.updateZeniDateLocaleID; } });
@@ -1004,6 +1004,9 @@ Object.defineProperty(exports, "retryBankAccountConnectionForOnboarding", { enum
1004
1004
  const onboardingCockpitViewSelector_1 = require("./view/onboardingView/cockpitView/onboardingCockpitViewSelector");
1005
1005
  Object.defineProperty(exports, "getNewOnboardingCustomerView", { enumerable: true, get: function () { return onboardingCockpitViewSelector_1.getNewOnboardingCustomerView; } });
1006
1006
  Object.defineProperty(exports, "getOnboardingCockpitView", { enumerable: true, get: function () { return onboardingCockpitViewSelector_1.getOnboardingCockpitView; } });
1007
+ const onboardingCockpitViewTypes_1 = require("./view/onboardingView/cockpitView/types/onboardingCockpitViewTypes");
1008
+ Object.defineProperty(exports, "toProductType", { enumerable: true, get: function () { return onboardingCockpitViewTypes_1.toProductType; } });
1009
+ Object.defineProperty(exports, "toProductTypeStrict", { enumerable: true, get: function () { return onboardingCockpitViewTypes_1.toProductTypeStrict; } });
1007
1010
  const reduceFetchState_1 = require("./commonStateTypes/reduceFetchState");
1008
1011
  Object.defineProperty(exports, "reduceFetchState", { enumerable: true, get: function () { return reduceFetchState_1.reduceFetchState; } });
1009
1012
  Object.defineProperty(exports, "reduceAnyFetchState", { enumerable: true, get: function () { return reduceFetchState_1.reduceAnyFetchState; } });
@@ -45,3 +45,4 @@ export declare const companyHealthMetricDropDownOptions: CompanyHealthMetricDrop
45
45
  export declare const getCompanyHealthMetricView: (state: RootState) => CompanyHealthMetricViewSelector;
46
46
  export declare const hasCompanyHealthMetricFormFieldChanged: (entityData?: CompanyHealthMetric | undefined, formData?: CompanyHealthMetricsLocalData | undefined) => boolean;
47
47
  export declare const isCompanyRunwayInfinite: (runway: CompanyRunway | undefined) => boolean;
48
+ export declare const getRunwayInfinity: (runway: CompanyRunway | undefined) => string | undefined;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isCompanyRunwayInfinite = exports.hasCompanyHealthMetricFormFieldChanged = exports.getCompanyHealthMetricView = exports.companyHealthMetricDropDownOptions = exports.toProductServiceKeyType = exports.ALL_PRODUCT_SERVICE = exports.toFrequencyValueType = exports.ALL_FREQUENCY_VALUE_TYPE = exports.toFrequencyLabelType = exports.ALL_FREQUENCY_LABEL_TYPE = void 0;
6
+ exports.getRunwayInfinity = exports.isCompanyRunwayInfinite = exports.hasCompanyHealthMetricFormFieldChanged = exports.getCompanyHealthMetricView = exports.companyHealthMetricDropDownOptions = exports.toProductServiceKeyType = exports.ALL_PRODUCT_SERVICE = exports.toFrequencyValueType = exports.ALL_FREQUENCY_VALUE_TYPE = exports.toFrequencyLabelType = exports.ALL_FREQUENCY_LABEL_TYPE = void 0;
7
7
  const orderBy_1 = __importDefault(require("lodash/orderBy"));
8
8
  const zeniDayJS_1 = require("../../zeniDayJS");
9
9
  const stringToUnion_1 = require("../../commonStateTypes/stringToUnion");
@@ -144,6 +144,7 @@ const removeDuplicatesFromCompaniesArray = (companies) => {
144
144
  const getCategoryValueForCompany = (key, company) => {
145
145
  const firstControllerId = (0, companyHelper_1.getFirstControllerIdFromControllers)(company.controllers);
146
146
  const customerSuccessManagerIds = (0, companyHelper_1.getFirstControllerId)(company.managegmentInfo.customerSuccessManagerUserIds);
147
+ const runway = (0, exports.getRunwayInfinity)(company.companyHealthMetric.runway);
147
148
  switch (key) {
148
149
  case 'controller':
149
150
  return firstControllerId;
@@ -162,10 +163,7 @@ const getCategoryValueForCompany = (key, company) => {
162
163
  ? company.companyHealthMetric.subscriptionRenewalDate
163
164
  : undefined;
164
165
  case 'runway':
165
- return company.companyHealthMetric.runway &&
166
- company.companyHealthMetric.runway.runwayMonths != null
167
- ? company.companyHealthMetric.runway.runwayMonths.toString()
168
- : undefined;
166
+ return runway != null ? runway.toString() : undefined;
169
167
  case 'verticalProductServices':
170
168
  return company.companyHealthMetric[key]
171
169
  .filter((product) => product.isEnabled)
@@ -377,3 +375,15 @@ const isCompanyRunwayInfinite = (runway) => {
377
375
  return false;
378
376
  };
379
377
  exports.isCompanyRunwayInfinite = isCompanyRunwayInfinite;
378
+ const getRunwayInfinity = (runway) => {
379
+ if ((0, exports.isCompanyRunwayInfinite)(runway) === true) {
380
+ return cockpitHelpers_1.INFINITY;
381
+ }
382
+ if (runway === undefined) {
383
+ return undefined;
384
+ }
385
+ return runway.runwayMonths != null
386
+ ? runway.runwayMonths.toString()
387
+ : undefined;
388
+ };
389
+ exports.getRunwayInfinity = getRunwayInfinity;
@@ -14,10 +14,12 @@ const saveCompanyHealthMetricByIdEpic = (actions$, _state$, zeniAPI) => actions$
14
14
  const { netPromoterScore, externalProductServiceExposure, finOpsEngagementFrequency, customerSatisfactionScore, } = companyHealthMetricData.companyHealthMetricLocalData;
15
15
  return zeniAPI
16
16
  .putAndGetJSON(`${zeniAPI.apiEndPoints.tenantMicroServiceBaseUrl}/1.0/company-health-metrics/${companyId}`, {
17
- net_promoter_score: netPromoterScore,
17
+ net_promoter_score: Boolean(netPromoterScore) === true ? netPromoterScore : null,
18
18
  external_product_service_exposure: externalProductServiceExposure,
19
19
  finops_engagement_frequency: finOpsEngagementFrequency,
20
- customer_satisfaction_score: customerSatisfactionScore,
20
+ customer_satisfaction_score: Boolean(customerSatisfactionScore) === true
21
+ ? customerSatisfactionScore
22
+ : null,
21
23
  })
22
24
  .pipe((0, operators_1.mergeMap)((response) => {
23
25
  if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
@@ -7,6 +7,8 @@ import { SubscriptionPlan } from '../../../entity/subscription/subscriptionPlan/
7
7
  import { CompanyWithUpdateStatusView } from '../selector/companyManagementViewSelector';
8
8
  import { CockpitFilterCategory } from '../types/cockpitTypes';
9
9
  import { CompanyView } from '../types/companyView';
10
+ export declare const INFINITY = "Infinity";
11
+ export declare const MAX_RUNWAY = 1000000;
10
12
  export declare type FilterCategoryValueType = string | ZeniDate;
11
13
  export declare const filterCompanyOnCategoriesWithSingleValue: (categoryValue: FilterCategoryValueType, currentFilter: CockpitFilterCategory, rangeTypeFields: string[]) => boolean;
12
14
  export declare const filterCompanyOnCategoriesWithMultipleValues: (categoryValue: string[], currentFilter: CockpitFilterCategory) => boolean;
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractUniqueZeniSKUs = exports.shouldEnableCalendarPickerForLastReportSent = exports.canSendMonthEndEmailReport = exports.getCompanyIdTenantIdMappingFromTenantsList = exports.getCompanyIdTenantIdMapping = exports.removeDuplicatesFromCompaniesArray = exports.filterCompanyOnCategoriesWithMultipleValues = exports.filterCompanyOnCategoriesWithSingleValue = void 0;
3
+ exports.extractUniqueZeniSKUs = exports.shouldEnableCalendarPickerForLastReportSent = exports.canSendMonthEndEmailReport = exports.getCompanyIdTenantIdMappingFromTenantsList = exports.getCompanyIdTenantIdMapping = exports.removeDuplicatesFromCompaniesArray = exports.filterCompanyOnCategoriesWithMultipleValues = exports.filterCompanyOnCategoriesWithSingleValue = exports.MAX_RUNWAY = exports.INFINITY = void 0;
4
4
  const zeniDayJS_1 = require("../../../zeniDayJS");
5
+ exports.INFINITY = 'Infinity';
6
+ exports.MAX_RUNWAY = 1000000;
5
7
  const filterCompanyOnRangeCategoryType = (categoryValue, currentFilter) => {
6
8
  let doesCompanyFallInCategoryRange = false;
7
9
  if (typeof categoryValue === 'string') {
8
10
  for (const filterValue of currentFilter.values) {
9
- const revenue = parseInt(categoryValue);
11
+ const revenue = categoryValue === exports.INFINITY ? exports.MAX_RUNWAY : parseInt(categoryValue);
10
12
  const lowerValue = parseInt(filterValue.toString().split('<->')[0]);
11
13
  const higherValue = parseInt(filterValue.toString().split('<->')[1]);
12
14
  if (revenue >= lowerValue && revenue <= higherValue) {
@@ -45,6 +45,7 @@ const initializeOnboardingCustomerViewUpdateDataEpic = (actions$, state$) => act
45
45
  name: company.company.companyInfo.name,
46
46
  qboRealmId: tenant === null || tenant === void 0 ? void 0 : tenant.qboRealmId,
47
47
  chargebeeId: tenant === null || tenant === void 0 ? void 0 : tenant.chargebeeId,
48
+ hubSpotId: tenant === null || tenant === void 0 ? void 0 : tenant.hubSpotId,
48
49
  isCustomerCreated: tenant === null || tenant === void 0 ? void 0 : tenant.isCustomerCreated,
49
50
  isEmailGroupCreated: tenant === null || tenant === void 0 ? void 0 : tenant.isEmailGroupCreated,
50
51
  isOnboardingCompanyDetailsCompleted: company.company.companyOnboardingInfo
@@ -56,6 +57,7 @@ const initializeOnboardingCustomerViewUpdateDataEpic = (actions$, state$) => act
56
57
  accountingConnectionCreationMode: ((_b = company.company.companyOnboardingInfo.onboardingInfo) === null || _b === void 0 ? void 0 : _b.accountingConnectionCreationMode) != null
57
58
  ? (0, companyStateTypes_1.toAccountingConnectionCreationModeStrict)((_c = company.company.companyOnboardingInfo.onboardingInfo) === null || _c === void 0 ? void 0 : _c.accountingConnectionCreationMode)
58
59
  : undefined,
60
+ selectedProducts: getSelectedProducts(tenant),
59
61
  };
60
62
  if (onboardingCustomerId != null) {
61
63
  const onboardingCustomerDetails = (0, userSelector_1.getUserByUserId)(state$.value.userState, onboardingCustomerId);
@@ -97,9 +99,31 @@ const initializeOnboardingCustomerViewUpdateDataEpic = (actions$, state$) => act
97
99
  companyLegalName: '',
98
100
  email: '',
99
101
  qboRealmId: '',
102
+ selectedProducts: [],
100
103
  };
101
104
  fetchActions.push((0, onboardingCockpitViewReducer_1.clearOnboardingCustomerViewUpdateData)(), (0, onboardingCockpitViewReducer_1.saveOnboardingCustomerViewUpdateData)(newOnboardingCustomerData), (0, onboardingCockpitViewReducer_1.saveOnboardingCustomerDataInLocalStore)(newOnboardingCustomerData), (0, addressViewReducer_1.resetNewAddressesInLocalStore)());
102
105
  }
103
106
  return (0, rxjs_1.from)(fetchActions);
104
107
  }));
105
108
  exports.initializeOnboardingCustomerViewUpdateDataEpic = initializeOnboardingCustomerViewUpdateDataEpic;
109
+ const getSelectedProducts = (tenant) => {
110
+ if (tenant == null) {
111
+ return [];
112
+ }
113
+ const isBankingOnly = (0, tenantSelector_1.isTenantBankingOnly)(tenant);
114
+ const isBookkeepingEnabled = (0, tenantSelector_1.isTenantBookkeepingEnabled)(tenant);
115
+ if (isBankingOnly) {
116
+ return ['zeni_checking'];
117
+ }
118
+ else if (isBookkeepingEnabled) {
119
+ return [
120
+ 'bookkeeping',
121
+ 'zeni_bill_pay',
122
+ 'zeni_checking',
123
+ 'zeni_reimbursements',
124
+ ];
125
+ }
126
+ else {
127
+ return [];
128
+ }
129
+ };
@@ -65,6 +65,10 @@ export interface OnboardingCustomerPayload extends Partial<OnboardingEmailGroupP
65
65
  customer_email?: string;
66
66
  company_legal_name?: string;
67
67
  accounting_connection_created_by: string | null;
68
+ hubspot_id: string | null;
69
+ is_book_keeping_enabled: boolean;
70
+ is_banking_enabled: boolean;
71
+ is_spend_management_enabled: boolean;
68
72
  }
69
73
  export declare const toOnboardingCustomerPayload: (onboardingCustomer: Partial<NewOnboardingCustomer>, sendInvite: boolean, company?: CompanyWithSchema | undefined, tenant?: Tenant | undefined) => Partial<OnboardingCustomerPayload>;
70
74
  export {};
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toOnboardingCustomerPayload = void 0;
4
4
  const toOnboardingCustomerPayload = (onboardingCustomer, sendInvite, company, tenant) => {
5
- const { companyId, companyEmailDomain, userEmailWithPreOnboardSuccess, groupId, groupName, groupDescription, isEmailGroupCreated, customerName, name, email, accountingConnectionCreationMode, } = onboardingCustomer;
5
+ const { companyId, companyEmailDomain, userEmailWithPreOnboardSuccess, groupId, groupName, groupDescription, isEmailGroupCreated, customerName, name, email, accountingConnectionCreationMode, hubSpotId, selectedProducts, } = onboardingCustomer;
6
6
  const onboardingCustomerPayload = {
7
7
  company_email_domain: companyEmailDomain,
8
8
  is_onboarding_tenant: true,
@@ -13,10 +13,29 @@ const toOnboardingCustomerPayload = (onboardingCustomer, sendInvite, company, te
13
13
  customer_first_name: customerName === null || customerName === void 0 ? void 0 : customerName.firstName,
14
14
  customer_last_name: customerName === null || customerName === void 0 ? void 0 : customerName.lastName,
15
15
  customer_email: email,
16
+ is_book_keeping_enabled: false,
17
+ is_banking_enabled: false,
18
+ is_spend_management_enabled: false,
16
19
  };
20
+ if (selectedProducts != null) {
21
+ if (selectedProducts.includes('zeni_checking') &&
22
+ !selectedProducts.includes('bookkeeping')) {
23
+ onboardingCustomerPayload.is_book_keeping_enabled = false;
24
+ onboardingCustomerPayload.is_banking_enabled = true;
25
+ onboardingCustomerPayload.is_spend_management_enabled = false;
26
+ }
27
+ else if (selectedProducts.includes('bookkeeping')) {
28
+ onboardingCustomerPayload.is_book_keeping_enabled = true;
29
+ onboardingCustomerPayload.is_banking_enabled = true;
30
+ onboardingCustomerPayload.is_spend_management_enabled = true;
31
+ }
32
+ }
17
33
  if (Boolean(companyId) === true) {
18
34
  onboardingCustomerPayload.company_id = companyId;
19
35
  }
36
+ if (Boolean(hubSpotId) === true) {
37
+ onboardingCustomerPayload.hubspot_id = hubSpotId;
38
+ }
20
39
  if (accountingConnectionCreationMode != null) {
21
40
  onboardingCustomerPayload.accounting_connection_created_by =
22
41
  accountingConnectionCreationMode;
@@ -5,7 +5,7 @@ import { FetchState, FetchStateAndError, ID } from '../../../commonStateTypes/co
5
5
  import { ZeniAPIStatus } from '../../../responsePayload';
6
6
  import { CompanyWithSchema } from '../../../entity/company/companySelector';
7
7
  import { CustomerCreationStatus } from './types/onboardingCockpitViewTypes';
8
- import { OnboardingCustomer } from './types/onboardingCockpitViewTypes';
8
+ import { OnboardingCustomer, ProductType, ProductGroupType } from './types/onboardingCockpitViewTypes';
9
9
  import { OnboardingCustomerListUIState } from './onboardingCockpitViewState';
10
10
  import { Company } from '../../../entity/company/companyStateTypes';
11
11
  import { OnboardingCustomerInfo } from '../../../entity/onboardingCustomer/onboardingCustomerState';
@@ -19,6 +19,13 @@ export interface NewOnboardingCustomerLocalData extends OnboardingCustomerInfo {
19
19
  isOnboardingCompleted?: boolean;
20
20
  tenantId?: string;
21
21
  companyDetailsLocalData: CompanyDetails;
22
+ hubSpotId?: ID;
23
+ selectedProducts: ProductType[];
24
+ }
25
+ export interface ProductInfo {
26
+ code: ProductType;
27
+ name: string;
28
+ group: ProductGroupType;
22
29
  }
23
30
  export interface NewOnboardingCustomerView extends SelectorView {
24
31
  emailGroupFetchState: FetchStateAndError;
@@ -35,6 +42,7 @@ export interface NewOnboardingCustomerView extends SelectorView {
35
42
  companyView?: CompanyWithSchema;
36
43
  externalConnections?: TenantExternalConnections;
37
44
  newOnboardedCustomerId?: ID;
45
+ allProductsList: ProductInfo[];
38
46
  }
39
47
  export interface OnboardingCockpitView extends SelectorView {
40
48
  onboardingCustomers: OnboardingCustomer[];
@@ -23,7 +23,7 @@ const onboardingCustomerSelector_1 = require("../../../entity/onboardingCustomer
23
23
  const companySelector_1 = require("../../../entity/company/companySelector");
24
24
  const get_1 = __importDefault(require("lodash/get"));
25
25
  exports.getNewOnboardingCustomerView = (0, toolkit_1.createSelector)((state) => state, (rootState) => {
26
- const { onboardingCockpitViewState } = rootState;
26
+ const { onboardingCockpitViewState, tenantState } = rootState;
27
27
  const { emailGroupFetchState, saveFetchState, sendInviteFetchState, onboardingCompletedCompanies, isOnboardingAllowedForUser, onboardingCustomerLocalData, uiState, customerLocalStoreInitState, newOnboardedCustomerId, } = onboardingCockpitViewState;
28
28
  const onboardingCustomerInfo = __rest(onboardingCustomerLocalData, []);
29
29
  let companyDetailsLocalData;
@@ -51,9 +51,10 @@ exports.getNewOnboardingCustomerView = (0, toolkit_1.createSelector)((state) =>
51
51
  companyView,
52
52
  newOnboardedCustomerId,
53
53
  externalConnections: tenantId != null &&
54
- rootState.tenantState.externalConnectionsByTenant[tenantId] != null
55
- ? rootState.tenantState.externalConnectionsByTenant[tenantId]
54
+ tenantState.externalConnectionsByTenant[tenantId] != null
55
+ ? tenantState.externalConnectionsByTenant[tenantId]
56
56
  : undefined,
57
+ allProductsList,
57
58
  };
58
59
  });
59
60
  exports.getOnboardingCockpitView = (0, toolkit_1.createSelector)((state) => state, (rootState) => {
@@ -183,3 +184,28 @@ const getSortedOnboardingCustomers = (onboardingCustomers, sortKey, sortOrder, u
183
184
  }, sortOrder === 'ascending' ? 'asc' : 'desc');
184
185
  return [...sortedCompaniesWithSortKeyValue, ...companiesWithNoSortKeyValue];
185
186
  };
187
+ /**
188
+ * Consts
189
+ */
190
+ const allProductsList = [
191
+ {
192
+ code: 'bookkeeping',
193
+ name: 'Bookkeeping',
194
+ group: 'bookkeeping',
195
+ },
196
+ {
197
+ code: 'zeni_checking',
198
+ name: 'Zeni Checking',
199
+ group: 'banking',
200
+ },
201
+ {
202
+ code: 'zeni_bill_pay',
203
+ name: 'Zeni Bill Pay',
204
+ group: 'spend_management',
205
+ },
206
+ {
207
+ code: 'zeni_reimbursements',
208
+ name: 'Zeni Reimbursements',
209
+ group: 'spend_management',
210
+ },
211
+ ];
@@ -3,6 +3,14 @@ import { CompanyWithSchema } from '../../../../entity/company/companySelector';
3
3
  import { OnboardingCustomerInfo } from '../../../../entity/onboardingCustomer/onboardingCustomerState';
4
4
  import { Tenant } from '../../../../entity/tenant/tenantState';
5
5
  import { CompanyDetailsLocalData, PrimaryContactLocalData } from '../../../spendManagement/commonSetup/setupViewState';
6
+ export declare const ALL_PRODUCT_GROUPS: readonly ["bookkeeping", "banking", "spend_management"];
7
+ export declare const toProductGroupType: (v: string) => "bookkeeping" | "banking" | "spend_management";
8
+ export declare const toProductGroupTypeStrict: (v: string) => "bookkeeping" | "banking" | "spend_management" | undefined;
9
+ export declare type ProductGroupType = ReturnType<typeof toProductGroupType>;
10
+ export declare const ALL_PRODUCTS: readonly ["bookkeeping", "zeni_checking", "zeni_bill_pay", "zeni_reimbursements"];
11
+ export declare const toProductType: (v: string) => "bookkeeping" | "zeni_checking" | "zeni_bill_pay" | "zeni_reimbursements";
12
+ export declare const toProductTypeStrict: (v: string) => "bookkeeping" | "zeni_checking" | "zeni_bill_pay" | "zeni_reimbursements" | undefined;
13
+ export declare type ProductType = ReturnType<typeof toProductType>;
6
14
  export interface OnboardingCustomer {
7
15
  company: CompanyWithSchema;
8
16
  tenant: Tenant;
@@ -23,7 +31,9 @@ export interface NewOnboardingCustomer extends OnboardingCustomerInfo {
23
31
  isOnboardingCompanyDetailsCompleted: boolean;
24
32
  isCustomerCreationDisabled: boolean;
25
33
  isOnboardingCompleted?: boolean;
26
- tenantId?: string;
34
+ tenantId?: ID;
35
+ hubSpotId?: ID;
36
+ selectedProducts: ProductType[];
27
37
  }
28
38
  export interface OnboardingCustomerUpdatesInProgress {
29
39
  note?: string;
@@ -1,2 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toProductTypeStrict = exports.toProductType = exports.ALL_PRODUCTS = exports.toProductGroupTypeStrict = exports.toProductGroupType = exports.ALL_PRODUCT_GROUPS = void 0;
4
+ const stringToUnion_1 = require("../../../../commonStateTypes/stringToUnion");
5
+ exports.ALL_PRODUCT_GROUPS = [
6
+ 'bookkeeping',
7
+ 'banking',
8
+ 'spend_management',
9
+ ];
10
+ const toProductGroupType = (v) => (0, stringToUnion_1.stringToUnion)(v, exports.ALL_PRODUCT_GROUPS);
11
+ exports.toProductGroupType = toProductGroupType;
12
+ const toProductGroupTypeStrict = (v) => (0, stringToUnion_1.stringToUnionStrict)(v, exports.ALL_PRODUCT_GROUPS);
13
+ exports.toProductGroupTypeStrict = toProductGroupTypeStrict;
14
+ exports.ALL_PRODUCTS = [
15
+ 'bookkeeping',
16
+ 'zeni_checking',
17
+ 'zeni_bill_pay',
18
+ 'zeni_reimbursements',
19
+ ];
20
+ const toProductType = (v) => (0, stringToUnion_1.stringToUnion)(v, exports.ALL_PRODUCTS);
21
+ exports.toProductType = toProductType;
22
+ const toProductTypeStrict = (v) => (0, stringToUnion_1.stringToUnionStrict)(v, exports.ALL_PRODUCTS);
23
+ exports.toProductTypeStrict = toProductTypeStrict;
@@ -20,9 +20,9 @@ const tenantSelector_1 = require("../../../../../entity/tenant/tenantSelector");
20
20
  const onboardingCustomerViewSelector_1 = require("../../onboardingCustomerViewSelector");
21
21
  const subscriptionPaymentAccountSelector_1 = require("../../../../../entity/subscriptionPaymentAccount/subscriptionPaymentAccountSelector");
22
22
  const updateOnboardingCustomerViewLocalStoreDataEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(onboardingCustomerViewReducer_1.updateOnboardingCustomerViewLocalStoreData.match), (0, operators_1.mergeMap)((action) => {
23
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
23
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
24
24
  const { companyId, currentStep, reCalculateCurrentStep } = action.payload;
25
- const { companyState, companyViewState, fileState, userState, userRoleState, onboardingCustomerViewState, subscriptionPaymentAccountState, paymentAccountState, tenantState, } = state$.value;
25
+ const { companyState, companyViewState, fileState, userState, userRoleState, onboardingCustomerViewState, subscriptionPaymentAccountState, paymentAccountState, } = state$.value;
26
26
  const { subscriptionPaymentAccountIds } = onboardingCustomerViewState;
27
27
  const subscriptionIDs = (0, get_1.default)(companyViewState.passportView.subscriptionIDsByCompanyID, companyId, undefined);
28
28
  const companyView = (0, getCompanyView_1.getCompanyView)(state$.value, companyId, subscriptionIDs !== null && subscriptionIDs !== void 0 ? subscriptionIDs : []);
@@ -51,7 +51,8 @@ const updateOnboardingCustomerViewLocalStoreDataEpic = (actions$, state$) => act
51
51
  const subscriptionPaymentAccountId = subscriptionPaymentAccountIds[0];
52
52
  subscriptionPaymentAccount = (0, subscriptionPaymentAccountSelector_1.getSubscriptionPaymentAccountByAccountId)(subscriptionPaymentAccountState, subscriptionPaymentAccountId);
53
53
  }
54
- const externalConnections = (0, tenantSelector_1.getCurrentTenantExternalConnections)(tenantState, companyState);
54
+ const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state$.value);
55
+ const externalConnections = currentTenant.externalConnections;
55
56
  const isValidConnection = (_f = (_e = externalConnections === null || externalConnections === void 0 ? void 0 : externalConnections.accounting[0]) === null || _e === void 0 ? void 0 : _e.isValid) !== null && _f !== void 0 ? _f : false;
56
57
  if (reCalculateCurrentStep === true) {
57
58
  let paymentAccount;
@@ -79,7 +80,7 @@ const updateOnboardingCustomerViewLocalStoreDataEpic = (actions$, state$) => act
79
80
  }
80
81
  }
81
82
  }
82
- const { allStepsData } = (0, onboardingCustomerViewSelector_1.onboardingStepsData)(isValidConnection, accountingConnectionCreationMode, subscriptionPaymentAccount);
83
+ const { allStepsData } = (0, onboardingCustomerViewSelector_1.onboardingStepsData)(isValidConnection, (_l = currentTenant === null || currentTenant === void 0 ? void 0 : currentTenant.productSettings) !== null && _l !== void 0 ? _l : [], accountingConnectionCreationMode, subscriptionPaymentAccount);
83
84
  if (allStepsData.length > 0 &&
84
85
  allStepsData.indexOf(updatedCurrentStep) === -1) {
85
86
  updatedCurrentStep = allStepsData[0];
@@ -10,7 +10,7 @@ import { OnboardingStep, OnboardingCustomerViewUIState } from './onboardingCusto
10
10
  import { CompanyDetails, CompanyOfficersDetails } from '../../spendManagement/commonSetup/setupViewSelector';
11
11
  import { User } from '../../../entity/user/userState';
12
12
  import { UserRole } from '../../../entity/userRole/userRoleState';
13
- import { TenantExternalConnections } from '../../../entity/tenant/tenantState';
13
+ import { TenantExternalConnections, TenantProductSettings } from '../../../entity/tenant/tenantState';
14
14
  import { AccountingConnectionCreationMode } from '../../../entity/company/companyStateTypes';
15
15
  import { FileState } from '../../../entity/file/fileState';
16
16
  export interface OnboardingCustomerView {
@@ -45,7 +45,7 @@ export declare function getOnboardingCustomerView(state: RootState, companyId: I
45
45
  */
46
46
  export declare function isCompanyDetailsCompleted(fileState: FileState, company?: CompanyView, primaryContact?: User): boolean;
47
47
  export declare function isOfficerDetailsCompleted(companyOfficers: User[], companyOfficerRoles: UserRole[], officerDetails: CompanyOfficerLocalData, fileState: FileState): boolean;
48
- export declare const onboardingStepsData: (isValidConnection: boolean, accountingConnectionCreationMode?: AccountingConnectionCreationMode | undefined, subscriptionPaymentAccount?: SubscriptionPaymentAccount | undefined) => {
48
+ export declare const onboardingStepsData: (isValidConnection: boolean, productSettings: TenantProductSettings, accountingConnectionCreationMode?: AccountingConnectionCreationMode | undefined, subscriptionPaymentAccount?: SubscriptionPaymentAccount | undefined) => {
49
49
  allStepsData: OnboardingStep[];
50
50
  requiredStepsData: OnboardingStep[];
51
51
  };
@@ -13,8 +13,8 @@ const userSelector_1 = require("../../../entity/user/userSelector");
13
13
  const userRoleSelector_1 = require("../../../entity/userRole/userRoleSelector");
14
14
  const fileSelector_1 = require("../../../entity/file/fileSelector");
15
15
  function getOnboardingCustomerView(state, companyId) {
16
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
17
- const { fileState, paymentAccountState, onboardingCustomerViewState, tenantState, companyState, userState, userRoleState, subscriptionPaymentAccountState, companyConfigState, } = state;
16
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
17
+ const { fileState, paymentAccountState, onboardingCustomerViewState, userState, userRoleState, subscriptionPaymentAccountState, companyConfigState, } = state;
18
18
  const { companyDetails, companyOfficerUpdateStatus, primaryContactDetails, subscriptionPaymentAccountIds, paymentAccountDetails, plaidConnectionDetails, updateStatus, saveStatus, currentStep, uiState, fetchState, error, } = onboardingCustomerViewState;
19
19
  const { paymentAccountIds } = paymentAccountDetails;
20
20
  let subscriptionPaymentAccount;
@@ -42,7 +42,8 @@ function getOnboardingCustomerView(state, companyId) {
42
42
  const subscriptionPaymentAccountId = subscriptionPaymentAccountIds[0];
43
43
  subscriptionPaymentAccount = (0, subscriptionPaymentAccountSelector_1.getSubscriptionPaymentAccountByAccountId)(subscriptionPaymentAccountState, subscriptionPaymentAccountId);
44
44
  }
45
- const externalConnections = (0, tenantSelector_1.getCurrentTenantExternalConnections)(tenantState, companyState);
45
+ const currentTenant = (0, tenantSelector_1.getCurrentTenant)(state);
46
+ const externalConnections = currentTenant.externalConnections;
46
47
  const companyView = (0, getCompanyView_1.getCompanyView)(state, companyId, []);
47
48
  const accountingConnectionCreationMode = (_e = companyView === null || companyView === void 0 ? void 0 : companyView.company.company.companyOnboardingInfo.onboardingInfo) === null || _e === void 0 ? void 0 : _e.accountingConnectionCreationMode;
48
49
  const companyOfficerIds = companyView === null || companyView === void 0 ? void 0 : companyView.companyOfficers.map((officer) => officer.user.userId);
@@ -80,7 +81,7 @@ function getOnboardingCustomerView(state, companyId) {
80
81
  isOfficerDetailsCompleted(companyOfficers, companyOfficerRoles, companyOfficerLocalData[selectedOfficerType], fileState)) {
81
82
  completedSteps.push('company_officer');
82
83
  }
83
- const { allStepsData, requiredStepsData } = (0, exports.onboardingStepsData)(isValidConnection, accountingConnectionCreationMode, subscriptionPaymentAccount);
84
+ const { allStepsData, requiredStepsData } = (0, exports.onboardingStepsData)(isValidConnection, (_p = currentTenant === null || currentTenant === void 0 ? void 0 : currentTenant.productSettings) !== null && _p !== void 0 ? _p : [], accountingConnectionCreationMode, subscriptionPaymentAccount);
84
85
  const allRequiredStepsCompleted = requiredStepsData.every((step) => {
85
86
  return completedSteps.includes(step);
86
87
  });
@@ -176,15 +177,17 @@ function isOfficerDetailsCompleted(companyOfficers, companyOfficerRoles, officer
176
177
  files.length >= 2);
177
178
  }
178
179
  exports.isOfficerDetailsCompleted = isOfficerDetailsCompleted;
179
- const onboardingStepsData = (isValidConnection, accountingConnectionCreationMode, subscriptionPaymentAccount) => {
180
- const allStepsData = accountingConnectionCreationMode === 'zeni_user'
180
+ const onboardingStepsData = (isValidConnection, productSettings, accountingConnectionCreationMode, subscriptionPaymentAccount) => {
181
+ const allStepsData = accountingConnectionCreationMode === 'zeni_user' ||
182
+ (productSettings.isBankingEnabled && !productSettings.isBookkeepingEnabled)
181
183
  ? subscriptionPaymentAccount != null
182
184
  ? onboardingCustomerViewState_1.ALL_ZENI_USER_ONBOARDING_STEPS_WITHOUT_ACCOUNT
183
185
  : onboardingCustomerViewState_1.ALL_ZENI_USER_ONBOARDING_STEPS
184
186
  : subscriptionPaymentAccount != null
185
187
  ? onboardingCustomerViewState_1.ALL_CUSTOMER_ONBOARDING_STEPS_WITH_QBO
186
188
  : onboardingCustomerViewState_1.ALL_ONBOARDING_STEPS;
187
- const requiredStepsData = accountingConnectionCreationMode === 'zeni_user' && isValidConnection
189
+ const requiredStepsData = (accountingConnectionCreationMode === 'zeni_user' && isValidConnection) ||
190
+ (productSettings.isBankingEnabled && !productSettings.isBookkeepingEnabled)
188
191
  ? subscriptionPaymentAccount != null
189
192
  ? []
190
193
  : onboardingCustomerViewState_1.ZENI_USER_REQUIRED_ONBOARDING_STEPS
@@ -158,8 +158,8 @@ const mapJEScheduleTransactionToPayload = (jeScheduleTransactionState, vendorSta
158
158
  };
159
159
  exports.mapJEScheduleTransactionToPayload = mapJEScheduleTransactionToPayload;
160
160
  const mapFixedAssetJEScheduleTransactionToPayload = (jeScheduleTransactionState, vendorState, scheduleDetailsLocalData, isDelete, isMarkAsComplete) => {
161
- var _a, _b, _c, _d, _e, _f;
162
- const { vendor, currencyCode, currencySymbol, baseTransaction, status, startDate, endDate, balanceAsOfToday, jeCredit, } = jeScheduleTransactionState;
161
+ var _a, _b;
162
+ const { vendor, currencyCode, currencySymbol, baseTransaction, status, startDate, endDate, balanceAsOfToday, jeScheduleId, } = jeScheduleTransactionState;
163
163
  const { selectedMonths, selectedAccount, selectedClass, selectedDayOfMonth, lastDayOfMonth, selectedAccumulatedDepreciationCategory, assetId, } = scheduleDetailsLocalData;
164
164
  let updatedStatus = Object.assign({}, status);
165
165
  // if the current status is marked as completed, we need to send the status as new when creating a new schedule.
@@ -193,13 +193,21 @@ const mapFixedAssetJEScheduleTransactionToPayload = (jeScheduleTransactionState,
193
193
  period: selectedMonths !== null && selectedMonths !== void 0 ? selectedMonths : null,
194
194
  je_schedule_type: 'fixed_assets',
195
195
  posting_date: postingDate,
196
- balance: balanceAsOfToday != null
197
- ? balanceAsOfToday.amount
198
- : baseTransaction.amount.amount,
196
+ je_schedule_id: status.code === 'marked_as_completed' ? jeScheduleId : undefined,
197
+ balance: getBalanceAmountAsOfToday({
198
+ isMarkAsComplete,
199
+ balanceAsOfToday,
200
+ baseTransaction,
201
+ }),
199
202
  start_date: (_a = startDate === null || startDate === void 0 ? void 0 : startDate.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT)) !== null && _a !== void 0 ? _a : firstJEScheduleDate,
200
203
  end_date: (_b = endDate === null || endDate === void 0 ? void 0 : endDate.format(formatZeniDateFY_1.DEFAULT_DATE_FORMAT)) !== null && _b !== void 0 ? _b : lastJEScheduleDate,
201
- je_credit_accounting_class_id: (_f = (_d = (_c = jeCredit.accountingClass) === null || _c === void 0 ? void 0 : _c.classId) !== null && _d !== void 0 ? _d : (_e = baseTransaction.classBase) === null || _e === void 0 ? void 0 : _e.classId) !== null && _f !== void 0 ? _f : null,
202
- je_credit_account_id: selectedAccumulatedDepreciationCategory !== null && selectedAccumulatedDepreciationCategory !== void 0 ? selectedAccumulatedDepreciationCategory : null,
204
+ je_credit_accounting_class_id: getJECreditAccountingClassId({
205
+ isMarkAsComplete,
206
+ jeScheduleTransactionState,
207
+ }),
208
+ je_credit_account_id: isMarkAsComplete === true
209
+ ? null
210
+ : selectedAccumulatedDepreciationCategory !== null && selectedAccumulatedDepreciationCategory !== void 0 ? selectedAccumulatedDepreciationCategory : null,
203
211
  je_debit_account_id: selectedAccount !== null && selectedAccount !== void 0 ? selectedAccount : null,
204
212
  je_debit_accounting_class_id: selectedClass !== null && selectedClass !== void 0 ? selectedClass : null,
205
213
  other_attributes: assetId != null
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "4.10.15",
3
+ "version": "4.10.17",
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",