@zeniai/client-epic-state 4.10.16 → 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.
- package/lib/entity/tenant/tenantPayload.d.ts +1 -0
- package/lib/entity/tenant/tenantReducer.js +2 -0
- package/lib/entity/tenant/tenantSelector.js +4 -4
- package/lib/entity/tenant/tenantState.d.ts +7 -5
- package/lib/index.d.ts +5 -5
- package/lib/index.js +10 -7
- package/lib/view/onboardingView/cockpitView/epic/initializeOnboardingCustomerViewUpdateDataEpic.js +24 -0
- package/lib/view/onboardingView/cockpitView/onboardingCockpitViewPayload.d.ts +4 -0
- package/lib/view/onboardingView/cockpitView/onboardingCockpitViewPayload.js +20 -1
- package/lib/view/onboardingView/cockpitView/onboardingCockpitViewSelector.d.ts +9 -1
- package/lib/view/onboardingView/cockpitView/onboardingCockpitViewSelector.js +29 -3
- package/lib/view/onboardingView/cockpitView/types/onboardingCockpitViewTypes.d.ts +11 -1
- package/lib/view/onboardingView/cockpitView/types/onboardingCockpitViewTypes.js +21 -0
- package/lib/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewLocalStoreDataEpic.js +5 -4
- package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.d.ts +2 -2
- package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.js +10 -7
- package/package.json +1 -1
|
@@ -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
|
|
247
|
-
tenant.productSettings.isBookkeepingEnabled
|
|
248
|
-
tenant.productSettings.isSpendManagementEnabled
|
|
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
|
|
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.
|
|
45
|
-
exports.
|
|
46
|
-
exports.
|
|
47
|
-
exports.
|
|
48
|
-
exports.
|
|
49
|
-
exports.
|
|
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; } });
|
package/lib/view/onboardingView/cockpitView/epic/initializeOnboardingCustomerViewUpdateDataEpic.js
CHANGED
|
@@ -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
|
-
|
|
55
|
-
?
|
|
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?:
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "4.10.
|
|
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",
|