@zeniai/client-epic-state 4.19.90-betaRD2 → 4.19.90-betaRD4
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/coreEpics.js +1 -2
- package/lib/entity/billPay/billTransaction/billTransactionState.d.ts +2 -2
- package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +35 -0
- package/lib/entity/jeSchedules/jeSchedulesPayload.js +44 -0
- package/lib/entity/jeSchedules/jeSchedulesSelector.d.ts +2 -1
- package/lib/entity/jeSchedules/jeSchedulesSelector.js +2 -1
- package/lib/entity/jeSchedules/jeSchedulesState.d.ts +13 -0
- package/lib/entity/tenant/tenantPayload.d.ts +1 -1
- package/lib/entity/tenant/tenantReducer.d.ts +1 -24
- package/lib/entity/tenant/tenantReducer.js +4 -55
- package/lib/entity/tenant/tenantSelector.d.ts +1 -0
- package/lib/entity/tenant/tenantSelector.js +9 -1
- package/lib/entity/tenant/tenantState.d.ts +1 -3
- package/lib/entity/transaction/stateTypes/transactionLine.d.ts +1 -1
- package/lib/epic.js +1 -2
- package/lib/esm/coreEpics.js +1 -2
- package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +44 -0
- package/lib/esm/entity/jeSchedules/jeSchedulesSelector.js +2 -1
- package/lib/esm/entity/tenant/tenantReducer.js +3 -51
- package/lib/esm/entity/tenant/tenantSelector.js +7 -0
- package/lib/esm/epic.js +1 -2
- package/lib/esm/index.js +7 -6
- package/lib/esm/view/classList/fetchClassListEpic.js +3 -2
- package/lib/esm/view/commonVendorView/vendorView/vendorViewSelector.js +15 -5
- package/lib/esm/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewSelector.js +6 -2
- package/lib/esm/view/expenseAutomationView/helpers/saveTransactionHelper.js +2 -1
- package/lib/esm/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -2
- package/lib/esm/view/expenseAutomationView/reducers/jeSchedulesViewReducer.js +17 -1
- package/lib/esm/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +50 -3
- package/lib/esm/view/expenseAutomationView/selectors/missingReceiptsSelector.js +1 -1
- package/lib/esm/view/expenseAutomationView/types/jeSchedulesViewState.js +17 -1
- package/lib/esm/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +7 -3
- package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewSelector.js +5 -5
- package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPayApproversDetailsEpic.js +7 -2
- package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +13 -6
- package/lib/esm/view/spendManagement/reimbursement/editRemiView/editRemiViewSelector.js +7 -4
- package/lib/esm/view/transactionDetail/epics/saveTransactionHelper.js +2 -1
- package/lib/esm/view/transactionDetail/transactionDetailLocalDataHelper.js +15 -14
- package/lib/index.d.ts +9 -8
- package/lib/index.js +36 -37
- package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
- package/lib/view/classList/fetchClassListEpic.d.ts +1 -1
- package/lib/view/classList/fetchClassListEpic.js +2 -1
- package/lib/view/commonVendorView/vendorView/vendorViewSelector.d.ts +1 -0
- package/lib/view/commonVendorView/vendorView/vendorViewSelector.js +15 -5
- package/lib/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewSelector.d.ts +1 -0
- package/lib/view/commonVendorView/vendorsTabVendorView/vendorsTabVendorViewSelector.js +6 -2
- package/lib/view/expenseAutomationView/helpers/saveTransactionHelper.js +2 -1
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +2 -2
- package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.d.ts +2 -2
- package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.js +18 -2
- package/lib/view/expenseAutomationView/selectorTypes/jeSchedulesSelectorTypes.d.ts +2 -0
- package/lib/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +50 -3
- package/lib/view/expenseAutomationView/selectors/missingReceiptsSelector.js +1 -1
- package/lib/view/expenseAutomationView/types/jeSchedulesViewState.d.ts +5 -0
- package/lib/view/expenseAutomationView/types/jeSchedulesViewState.js +19 -0
- package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
- package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +7 -3
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewSelector.js +5 -5
- package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPayApproversDetailsEpic.js +7 -2
- package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +13 -6
- package/lib/view/spendManagement/reimbursement/editRemiView/editRemiViewSelector.js +6 -3
- package/lib/view/transactionDetail/epics/saveTransactionHelper.js +2 -1
- package/lib/view/transactionDetail/transactionDetailLocalDataHelper.js +15 -14
- package/package.json +1 -1
- package/lib/entity/tenant/epic/saveExternalIntegrationConnectionEpic.d.ts +0 -18
- package/lib/entity/tenant/epic/saveExternalIntegrationConnectionEpic.js +0 -33
- package/lib/esm/entity/tenant/epic/saveExternalIntegrationConnectionEpic.js +0 -29
package/lib/coreEpics.js
CHANGED
|
@@ -22,7 +22,6 @@ const fetchExternalConnectionsEpic_1 = require("./entity/tenant/epic/fetchExtern
|
|
|
22
22
|
const fetchSubscriptionSummaryForTenantEpic_1 = require("./entity/tenant/epic/fetchSubscriptionSummaryForTenantEpic");
|
|
23
23
|
const resendVerifyDeviceOTPEpic_1 = require("./entity/tenant/epic/resendVerifyDeviceOTPEpic");
|
|
24
24
|
const saveExternalConnectionEpic_1 = require("./entity/tenant/epic/saveExternalConnectionEpic");
|
|
25
|
-
const saveExternalIntegrationConnectionEpic_1 = require("./entity/tenant/epic/saveExternalIntegrationConnectionEpic");
|
|
26
25
|
const sendEmailMagicLinkToUserEpic_1 = require("./entity/tenant/epic/sendEmailMagicLinkToUserEpic");
|
|
27
26
|
const signInUserEpic_1 = require("./entity/tenant/epic/signInUserEpic");
|
|
28
27
|
const signOutUserEpic_1 = require("./entity/tenant/epic/signOutUserEpic");
|
|
@@ -49,7 +48,7 @@ const verifyOtpEpic_1 = require("./view/twoFactorAuthentication/verifyOtpEpic");
|
|
|
49
48
|
// RootActionType is only available in the dynamically imported epic.ts.
|
|
50
49
|
const coreRootEpic = (0, redux_observable_1.combineEpics)(
|
|
51
50
|
// Auth & tenant
|
|
52
|
-
clearAllEpic_1.clearAllEpic, doMagicLinkSignInEpic_1.doMagicLinkSignInEpic, signInUserEpic_1.doSignInEpic, signOutUserEpic_1.doSignOutEpic, fetchActiveTenantEpic_1.fetchActiveTenantEpic, fetchAllTenantsEpic_1.fetchAllTenantsEpic, fetchExcludedResourcesEpic_1.fetchExcludedResourcesEpic, fetchExternalConnectionsEpic_1.fetchExternalConnectionsEpic, fetchSubscriptionSummaryForTenantEpic_1.fetchSubscriptionSummaryForTenantEpic, resendVerifyDeviceOTPEpic_1.resendVerifyDeviceOTPEpic, saveExternalConnectionEpic_1.saveExternalConnectionEpic,
|
|
51
|
+
clearAllEpic_1.clearAllEpic, doMagicLinkSignInEpic_1.doMagicLinkSignInEpic, signInUserEpic_1.doSignInEpic, signOutUserEpic_1.doSignOutEpic, fetchActiveTenantEpic_1.fetchActiveTenantEpic, fetchAllTenantsEpic_1.fetchAllTenantsEpic, fetchExcludedResourcesEpic_1.fetchExcludedResourcesEpic, fetchExternalConnectionsEpic_1.fetchExternalConnectionsEpic, fetchSubscriptionSummaryForTenantEpic_1.fetchSubscriptionSummaryForTenantEpic, resendVerifyDeviceOTPEpic_1.resendVerifyDeviceOTPEpic, saveExternalConnectionEpic_1.saveExternalConnectionEpic, sendEmailMagicLinkToUserEpic_1.sendEmailMagicLinkToUserEpic, verifyDeviceWithTwoFAEpic_1.verifyDeviceWithTwoFAEpic,
|
|
53
52
|
// Toast
|
|
54
53
|
pushToastNotificationEpic_1.pushToastNotificationEpic,
|
|
55
54
|
// Collaboration
|
|
@@ -7,8 +7,6 @@ import { VendorTransaction } from '../../transaction/stateTypes/vendorTransactio
|
|
|
7
7
|
export interface BillTransaction extends VendorTransaction {
|
|
8
8
|
billPayInfo: BillPayInfo;
|
|
9
9
|
candidateVendorName: string;
|
|
10
|
-
classId: ID;
|
|
11
|
-
className: string;
|
|
12
10
|
createdBy: ID;
|
|
13
11
|
deletionInfo: DeletionInfo;
|
|
14
12
|
entityApprovalId: ID;
|
|
@@ -21,6 +19,8 @@ export interface BillTransaction extends VendorTransaction {
|
|
|
21
19
|
updateTime: ZeniDate;
|
|
22
20
|
bookCloseDate?: ZeniDate;
|
|
23
21
|
bulkProcessingDetail?: BulkProcessingDetail;
|
|
22
|
+
classId?: ID;
|
|
23
|
+
className?: string;
|
|
24
24
|
lastUpdatedByUserId?: ID;
|
|
25
25
|
recurringBillConfigId?: ID;
|
|
26
26
|
recurringBillInstance?: number;
|
|
@@ -13,6 +13,39 @@ export interface JEScheduleOtherAttributesPayload {
|
|
|
13
13
|
asset_id?: string | null;
|
|
14
14
|
starting_balance?: number | null;
|
|
15
15
|
}
|
|
16
|
+
export interface JEScheduleAISummaryFieldPayload {
|
|
17
|
+
confidence: number;
|
|
18
|
+
reasoning: string;
|
|
19
|
+
predicted_value?: number | string;
|
|
20
|
+
}
|
|
21
|
+
export interface JEScheduleAISummariesPayload {
|
|
22
|
+
credit_account?: JEScheduleAISummaryFieldPayload;
|
|
23
|
+
credit_accounting_class?: JEScheduleAISummaryFieldPayload;
|
|
24
|
+
debit_account?: JEScheduleAISummaryFieldPayload;
|
|
25
|
+
debit_accounting_class?: JEScheduleAISummaryFieldPayload;
|
|
26
|
+
period?: JEScheduleAISummaryFieldPayload;
|
|
27
|
+
posting_date?: JEScheduleAISummaryFieldPayload;
|
|
28
|
+
}
|
|
29
|
+
export interface JEScheduleRecommendationsPayload {
|
|
30
|
+
amortization_days?: number | null;
|
|
31
|
+
amortization_months_estimate?: number | null;
|
|
32
|
+
credit_account_confidence?: number;
|
|
33
|
+
credit_account_id?: string | null;
|
|
34
|
+
credit_accounting_class_id?: string | null;
|
|
35
|
+
credit_class_confidence?: number;
|
|
36
|
+
debit_account_confidence?: number;
|
|
37
|
+
debit_account_id?: string | null;
|
|
38
|
+
debit_accounting_class_id?: string | null;
|
|
39
|
+
debit_class_confidence?: number;
|
|
40
|
+
end_date?: string | null;
|
|
41
|
+
je_schedule_type?: string | null;
|
|
42
|
+
period?: number | null;
|
|
43
|
+
period_confidence?: number;
|
|
44
|
+
posting_date?: string | null;
|
|
45
|
+
similar_transactions?: unknown[];
|
|
46
|
+
start_date?: string | null;
|
|
47
|
+
starting_month?: string | null;
|
|
48
|
+
}
|
|
16
49
|
export interface JEScheduledTransactionPayload {
|
|
17
50
|
balance: number | null;
|
|
18
51
|
base_transaction: ScheduleTransactionPayload;
|
|
@@ -35,7 +68,9 @@ export interface JEScheduledTransactionPayload {
|
|
|
35
68
|
status: StatusCodeWithLabelPayload;
|
|
36
69
|
updated_by: UserPayload;
|
|
37
70
|
vendor: VendorPayload;
|
|
71
|
+
ai_summaries?: JEScheduleAISummariesPayload;
|
|
38
72
|
end_date?: string | null;
|
|
73
|
+
recommendations?: JEScheduleRecommendationsPayload;
|
|
39
74
|
updated_at?: string | null;
|
|
40
75
|
}
|
|
41
76
|
export interface JEAccruedScheduledTransactionPayload extends Omit<JEScheduledTransactionPayload, 'base_transaction' | 'je_schedule_id' | 'je_schedule_type'> {
|
|
@@ -146,6 +146,49 @@ function toJEScheduleOtherAttributes(payload) {
|
|
|
146
146
|
assetId: payload.asset_id ?? undefined,
|
|
147
147
|
};
|
|
148
148
|
}
|
|
149
|
+
function toJEScheduleAIRecommendations(payload) {
|
|
150
|
+
if (payload == null) {
|
|
151
|
+
return undefined;
|
|
152
|
+
}
|
|
153
|
+
const result = {};
|
|
154
|
+
if (payload.debit_account != null) {
|
|
155
|
+
result.debitAccount = {
|
|
156
|
+
confidence: payload.debit_account.confidence,
|
|
157
|
+
reasoning: payload.debit_account.reasoning,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
if (payload.credit_account != null) {
|
|
161
|
+
result.creditAccount = {
|
|
162
|
+
confidence: payload.credit_account.confidence,
|
|
163
|
+
reasoning: payload.credit_account.reasoning,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
if (payload.debit_accounting_class != null) {
|
|
167
|
+
result.debitClass = {
|
|
168
|
+
confidence: payload.debit_accounting_class.confidence,
|
|
169
|
+
reasoning: payload.debit_accounting_class.reasoning,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
if (payload.credit_accounting_class != null) {
|
|
173
|
+
result.creditClass = {
|
|
174
|
+
confidence: payload.credit_accounting_class.confidence,
|
|
175
|
+
reasoning: payload.credit_accounting_class.reasoning,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
if (payload.period != null) {
|
|
179
|
+
result.period = {
|
|
180
|
+
confidence: payload.period.confidence,
|
|
181
|
+
reasoning: payload.period.reasoning,
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
if (payload.posting_date != null) {
|
|
185
|
+
result.postingDate = {
|
|
186
|
+
confidence: payload.posting_date.confidence,
|
|
187
|
+
reasoning: payload.posting_date.reasoning,
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
return Object.keys(result).length > 0 ? result : undefined;
|
|
191
|
+
}
|
|
149
192
|
function toJEScheduledTransaction(payload) {
|
|
150
193
|
return {
|
|
151
194
|
jeScheduleId: payload.je_schedule_id ?? undefined,
|
|
@@ -190,6 +233,7 @@ function toJEScheduledTransaction(payload) {
|
|
|
190
233
|
? toJEScheduleOtherAttributes(payload.other_attributes)
|
|
191
234
|
: {},
|
|
192
235
|
scheduledJournalEntry: [],
|
|
236
|
+
aiRecommendations: toJEScheduleAIRecommendations(payload.ai_summaries),
|
|
193
237
|
};
|
|
194
238
|
}
|
|
195
239
|
function toJEAccruedScheduledTransaction(payload) {
|
|
@@ -9,7 +9,7 @@ import { ScheduleTransaction } from '../transaction/stateTypes/scheduleTransacti
|
|
|
9
9
|
import { TransactionID } from '../transaction/stateTypes/transaction';
|
|
10
10
|
import { User } from '../user/userState';
|
|
11
11
|
import { Vendor } from '../vendor/vendorState';
|
|
12
|
-
import { JEScheduleOtherAttributes, ScheduleJournalStatusCode, ScheduleStatus } from './jeSchedulesState';
|
|
12
|
+
import { JEScheduleAIRecommendations, JEScheduleOtherAttributes, ScheduleJournalStatusCode, ScheduleStatus } from './jeSchedulesState';
|
|
13
13
|
import { JEScheduleKey, JEScheduleTransactionKey, JournalEntryErrorCodeType, ScheduleTypes } from './jeSchedulesTypes';
|
|
14
14
|
export interface ScheduledJournalEntry {
|
|
15
15
|
error: JournalEntryErrorCodeType[];
|
|
@@ -59,6 +59,7 @@ export interface JEScheduledTransaction {
|
|
|
59
59
|
scheduledJournalEntry: ScheduledJournalEntry[];
|
|
60
60
|
status: ScheduleStatus;
|
|
61
61
|
vendor: Vendor;
|
|
62
|
+
aiRecommendations?: JEScheduleAIRecommendations;
|
|
62
63
|
balanceAsOfToday?: Amount;
|
|
63
64
|
dayOfPostingDate?: ScheduleDaysOfMonth;
|
|
64
65
|
endDate?: ZeniDate;
|
|
@@ -77,7 +77,7 @@ exports.getJEAccruedScheduleByJEScheduleKey = getJEAccruedScheduleByJEScheduleKe
|
|
|
77
77
|
const getJEScheduledTransactionByJEScheduleTransactionKey = (jeScheduleTransactionKey, state) => {
|
|
78
78
|
const { jeSchedulesState, vendorState, accountState, userState, classState, transactionState, } = state;
|
|
79
79
|
const jeScheduleTransactionState = (0, get_1.default)(jeSchedulesState.schedulesByTransactionKey, jeScheduleTransactionKey);
|
|
80
|
-
const { period, updatedByUserID: updatedBy, vendorId, jeCredit, jeDebit, currencyCode, currencySymbol, balanceAsOfToday, baseTransaction, startDate, endDate, status, updatedAt, jeScheduleId, scheduledJournalEntry, dayOfPostingDate: postingDate, lastDayOfMonth, otherAttributes, jeScheduleType, } = jeScheduleTransactionState;
|
|
80
|
+
const { period, updatedByUserID: updatedBy, vendorId, jeCredit, jeDebit, currencyCode, currencySymbol, balanceAsOfToday, baseTransaction, startDate, endDate, status, updatedAt, jeScheduleId, scheduledJournalEntry, dayOfPostingDate: postingDate, lastDayOfMonth, otherAttributes, jeScheduleType, aiRecommendations, } = jeScheduleTransactionState;
|
|
81
81
|
const vendorDetails = (0, vendorSelector_1.getVendorByVendorId)(vendorState, vendorId);
|
|
82
82
|
if (vendorDetails == null) {
|
|
83
83
|
throw new Error(`Vendor with ${vendorId} doesn't exist`);
|
|
@@ -134,6 +134,7 @@ const getJEScheduledTransactionByJEScheduleTransactionKey = (jeScheduleTransacti
|
|
|
134
134
|
account: accountDebit,
|
|
135
135
|
},
|
|
136
136
|
scheduledJournalEntry,
|
|
137
|
+
aiRecommendations,
|
|
137
138
|
};
|
|
138
139
|
};
|
|
139
140
|
exports.getJEScheduledTransactionByJEScheduleTransactionKey = getJEScheduledTransactionByJEScheduleTransactionKey;
|
|
@@ -12,6 +12,18 @@ export interface ScheduleJournalStatusCode {
|
|
|
12
12
|
code: ScheduleJournalEntryStatusCodeType;
|
|
13
13
|
label: string;
|
|
14
14
|
}
|
|
15
|
+
export interface JEScheduleFieldRecommendation {
|
|
16
|
+
confidence: number;
|
|
17
|
+
reasoning: string;
|
|
18
|
+
}
|
|
19
|
+
export interface JEScheduleAIRecommendations {
|
|
20
|
+
creditAccount?: JEScheduleFieldRecommendation;
|
|
21
|
+
creditClass?: JEScheduleFieldRecommendation;
|
|
22
|
+
debitAccount?: JEScheduleFieldRecommendation;
|
|
23
|
+
debitClass?: JEScheduleFieldRecommendation;
|
|
24
|
+
period?: JEScheduleFieldRecommendation;
|
|
25
|
+
postingDate?: JEScheduleFieldRecommendation;
|
|
26
|
+
}
|
|
15
27
|
export interface JEScheduleOtherAttributes {
|
|
16
28
|
assetId?: string;
|
|
17
29
|
startingBalance?: Amount;
|
|
@@ -56,6 +68,7 @@ export interface JEScheduledTransactionState {
|
|
|
56
68
|
scheduledJournalEntry: ScheduledJournalEntryState[];
|
|
57
69
|
status: ScheduleStatus;
|
|
58
70
|
vendorId: ID;
|
|
71
|
+
aiRecommendations?: JEScheduleAIRecommendations;
|
|
59
72
|
balanceAsOfToday?: number;
|
|
60
73
|
dayOfPostingDate?: ScheduleDaysOfMonth;
|
|
61
74
|
endDate?: ZeniDate;
|
|
@@ -33,6 +33,7 @@ interface TenantPayload {
|
|
|
33
33
|
invite_create_time: string;
|
|
34
34
|
inviter_email: string;
|
|
35
35
|
inviter_id: ID;
|
|
36
|
+
is_accounting_classes_enabled: boolean;
|
|
36
37
|
is_admin: boolean;
|
|
37
38
|
is_ap_analyst: boolean;
|
|
38
39
|
is_banker: boolean;
|
|
@@ -137,7 +138,6 @@ type RoleResourcesResponse = ZeniAPIResponse<RoleResourcesData>;
|
|
|
137
138
|
interface ConnectionsPayload {
|
|
138
139
|
connections: {
|
|
139
140
|
accounting: ConnectionDataPayload[];
|
|
140
|
-
analytics: ConnectionDataPayload[];
|
|
141
141
|
payments: ConnectionDataPayload[];
|
|
142
142
|
};
|
|
143
143
|
}
|
|
@@ -13,10 +13,6 @@ export interface DoSignInPayload {
|
|
|
13
13
|
redirectUri: ZeniUrl;
|
|
14
14
|
sourceUri: ZeniUrl;
|
|
15
15
|
}
|
|
16
|
-
export declare const toExternalIntegrationType: (v: string) => "analytics";
|
|
17
|
-
export type ExternalIntegrationType = ReturnType<typeof toExternalIntegrationType>;
|
|
18
|
-
export declare const toExternalSupportedTool: (v: string) => "chargebee";
|
|
19
|
-
export type ExternalSupportedTool = ReturnType<typeof toExternalSupportedTool>;
|
|
20
16
|
export declare const initialState: TenantState;
|
|
21
17
|
export declare const updateTenants: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenants: TenantPayload[], userTenantPayload?: TenantUserPayload | undefined, tenantUpdated?: any], {
|
|
22
18
|
tenants: TenantPayload[];
|
|
@@ -80,25 +76,7 @@ export declare const updateTenants: import("@reduxjs/toolkit").ActionCreatorWith
|
|
|
80
76
|
}, "tenant/fetchExternalConnectionsFailure", never, never>, fetchExternalConnectionsSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, externalConnections: ConnectionsPayload], {
|
|
81
77
|
tenantId: string;
|
|
82
78
|
externalConnections: ConnectionsPayload;
|
|
83
|
-
}, "tenant/fetchExternalConnectionsSuccess", never, never>,
|
|
84
|
-
api_key: string;
|
|
85
|
-
site: string;
|
|
86
|
-
}], {
|
|
87
|
-
tenantId: string;
|
|
88
|
-
connectionId: string;
|
|
89
|
-
connectionType: "analytics";
|
|
90
|
-
connectionName: "chargebee";
|
|
91
|
-
credentials: {
|
|
92
|
-
api_key: string;
|
|
93
|
-
site: string;
|
|
94
|
-
};
|
|
95
|
-
}, "tenant/saveExternalIntegrationConnection", never, never>, saveExternalIntegrationConnectionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, connectionPayload: ConnectionDataPayload], {
|
|
96
|
-
tenantId: string;
|
|
97
|
-
connectionPayload: ConnectionDataPayload;
|
|
98
|
-
}, "tenant/saveExternalIntegrationConnectionSuccess", never, never>, saveExternalIntegrationConnectionFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string, status: ZeniAPIStatus<Record<string, unknown>>], {
|
|
99
|
-
tenantId: string;
|
|
100
|
-
status: ZeniAPIStatus<Record<string, unknown>>;
|
|
101
|
-
}, "tenant/saveExternalIntegrationConnectionFailure", never, never>, clearAll: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[keepTenantCompanyState?: boolean | undefined], {
|
|
79
|
+
}, "tenant/fetchExternalConnectionsSuccess", never, never>, clearAll: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[keepTenantCompanyState?: boolean | undefined], {
|
|
102
80
|
keepTenantCompanyState: boolean;
|
|
103
81
|
}, "tenant/clearAll", never, never>, fetchSubscriptionSummaryForTenant: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[tenantId: string], {
|
|
104
82
|
tenantId: string;
|
|
@@ -142,7 +120,6 @@ export declare const toRoleResource: (payload: RoleResourcePayload) => RoleResou
|
|
|
142
120
|
*/
|
|
143
121
|
export declare function mapConnectionsPayloadToState(connectionsPayload: ConnectionsPayload): {
|
|
144
122
|
accounting: Connection[];
|
|
145
|
-
analytics: Connection[];
|
|
146
123
|
payments: Connection[];
|
|
147
124
|
};
|
|
148
125
|
export declare const toConnection: (payload: ConnectionDataPayload) => Connection;
|
|
@@ -4,26 +4,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
var _a;
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.resendVerifyDeviceOTP = exports.verifyDeviceWithTwoFAFailure = exports.verifyDeviceWithTwoFASuccess = exports.verifyDeviceWithTwoFA = exports.updateTenantMasterTOSInfo = exports.trigger2FA = exports.resetSignInState = exports.updateTreasuryVideoViewedForLoggedInUser = exports.updateReferViewedForLoggedInUser = exports.updateTenantReimbursementInfo = exports.removeOnboardingTenant = exports.updateOnboardingTenants = exports.updateSubscriptionSummaryForTenantFailure = exports.updateSubscriptionSummaryForTenantSuccess = exports.fetchSubscriptionSummaryForTenant = exports.clearAll = exports.
|
|
8
|
-
exports.toConnection = exports.toRoleResource = exports.resendVerifyDeviceOTPFailure = exports.resendVerifyDeviceOTPSuccess = void 0;
|
|
7
|
+
exports.toConnection = exports.toRoleResource = exports.resendVerifyDeviceOTPFailure = exports.resendVerifyDeviceOTPSuccess = exports.resendVerifyDeviceOTP = exports.verifyDeviceWithTwoFAFailure = exports.verifyDeviceWithTwoFASuccess = exports.verifyDeviceWithTwoFA = exports.updateTenantMasterTOSInfo = exports.trigger2FA = exports.resetSignInState = exports.updateTreasuryVideoViewedForLoggedInUser = exports.updateReferViewedForLoggedInUser = exports.updateTenantReimbursementInfo = exports.removeOnboardingTenant = exports.updateOnboardingTenants = exports.updateSubscriptionSummaryForTenantFailure = exports.updateSubscriptionSummaryForTenantSuccess = exports.fetchSubscriptionSummaryForTenant = exports.clearAll = exports.fetchExternalConnectionsSuccess = exports.fetchExternalConnectionsFailure = exports.saveExternalConnectionFailure = exports.saveExternalConnectionSuccess = exports.saveExternalConnection = exports.fetchExternalConnections = exports.updateLoggedInUser = exports.signOutSuccess = exports.doSignOut = exports.updateSignInState = exports.sendEmailMagicLinkToUserFailure = exports.sendEmailMagicLinkToUserSuccess = exports.sendEmailMagicLinkToUser = exports.magicLinkSignInFailure = exports.magicLinkSignInSuccess = exports.doMagicLinkSignIn = exports.doSignIn = exports.updateExcludedResourcesFailure = exports.updateExcludedResourcesSuccess = exports.fetchExcludedResources = exports.updateCurrentTenant = exports.updateTenantFailure = exports.updateTenantSuccess = exports.fetchActiveTenant = exports.updateTenantsFailure = exports.updateTenantsSuccess = exports.fetchAllTenants = exports.updateTenants = exports.initialState = void 0;
|
|
9
8
|
exports.mapConnectionsPayloadToState = mapConnectionsPayloadToState;
|
|
10
9
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
11
10
|
const js_base64_1 = require("js-base64");
|
|
12
11
|
const assignWith_1 = __importDefault(require("lodash/assignWith"));
|
|
13
12
|
const urlPayload_1 = require("../../commonPayloadTypes/urlPayload");
|
|
14
|
-
const stringToUnion_1 = require("../../commonStateTypes/stringToUnion");
|
|
15
13
|
const timePeriod_1 = require("../../commonStateTypes/timePeriod");
|
|
16
14
|
const netBurnOrIncomeStoryCardSelectorTypes_1 = require("../../view/netBurnOrIncomeStoryCard/netBurnOrIncomeStoryCardSelectorTypes");
|
|
17
15
|
const netBurnOrIncomeStoryCardState_1 = require("../../view/netBurnOrIncomeStoryCard/netBurnOrIncomeStoryCardState");
|
|
18
16
|
const zeniDayJS_1 = require("../../zeniDayJS");
|
|
19
17
|
const subscriptionSummaryReducer_1 = require("../subscription/subscriptionSummary/subscriptionSummaryReducer");
|
|
20
18
|
const userRolePayload_1 = require("../userRole/userRolePayload");
|
|
21
|
-
const EXTERNAL_INTEGRATIONS_TYPES = ['analytics'];
|
|
22
|
-
const toExternalIntegrationType = (v) => (0, stringToUnion_1.stringToUnion)(v, EXTERNAL_INTEGRATIONS_TYPES);
|
|
23
|
-
exports.toExternalIntegrationType = toExternalIntegrationType;
|
|
24
|
-
const EXTERNAL_SUPPORTED_TOOLS = ['chargebee'];
|
|
25
|
-
const toExternalSupportedTool = (v) => (0, stringToUnion_1.stringToUnion)(v, EXTERNAL_SUPPORTED_TOOLS);
|
|
26
|
-
exports.toExternalSupportedTool = toExternalSupportedTool;
|
|
27
19
|
exports.initialState = {
|
|
28
20
|
fetchState: 'Not-Started',
|
|
29
21
|
error: undefined,
|
|
@@ -341,10 +333,8 @@ const tenant = (0, toolkit_1.createSlice)({
|
|
|
341
333
|
draft.externalConnectionsByTenant[action.payload.tenantId] = {
|
|
342
334
|
fetchState: 'In-Progress',
|
|
343
335
|
accounting: [],
|
|
344
|
-
analytics: [],
|
|
345
336
|
payments: [],
|
|
346
337
|
saveConnectionState: 'Not-Started',
|
|
347
|
-
saveAnalyticsConnectionState: 'Not-Started',
|
|
348
338
|
error: undefined,
|
|
349
339
|
};
|
|
350
340
|
},
|
|
@@ -354,14 +344,12 @@ const tenant = (0, toolkit_1.createSlice)({
|
|
|
354
344
|
return { payload: { tenantId, externalConnections } };
|
|
355
345
|
},
|
|
356
346
|
reducer(draft, action) {
|
|
357
|
-
const { accounting,
|
|
347
|
+
const { accounting, payments } = mapConnectionsPayloadToState(action.payload.externalConnections);
|
|
358
348
|
draft.externalConnectionsByTenant[action.payload.tenantId] = {
|
|
359
349
|
fetchState: 'Completed',
|
|
360
350
|
accounting,
|
|
361
|
-
analytics,
|
|
362
351
|
payments,
|
|
363
352
|
saveConnectionState: 'Completed',
|
|
364
|
-
saveAnalyticsConnectionState: 'Not-Started',
|
|
365
353
|
error: undefined,
|
|
366
354
|
};
|
|
367
355
|
},
|
|
@@ -375,10 +363,8 @@ const tenant = (0, toolkit_1.createSlice)({
|
|
|
375
363
|
draft.externalConnectionsByTenant[tenantId] = {
|
|
376
364
|
fetchState: 'Error',
|
|
377
365
|
accounting: [],
|
|
378
|
-
analytics: [],
|
|
379
366
|
payments: [],
|
|
380
367
|
saveConnectionState: 'Error',
|
|
381
|
-
saveAnalyticsConnectionState: 'Not-Started',
|
|
382
368
|
error: status,
|
|
383
369
|
};
|
|
384
370
|
},
|
|
@@ -424,43 +410,6 @@ const tenant = (0, toolkit_1.createSlice)({
|
|
|
424
410
|
});
|
|
425
411
|
},
|
|
426
412
|
},
|
|
427
|
-
saveExternalIntegrationConnection: {
|
|
428
|
-
prepare(tenantId, connectionId, connectionType, connectionName, credentials) {
|
|
429
|
-
return { payload: { tenantId, connectionId, connectionType, connectionName, credentials } };
|
|
430
|
-
},
|
|
431
|
-
reducer(draft, action) {
|
|
432
|
-
const existing = draft.externalConnectionsByTenant[action.payload.tenantId];
|
|
433
|
-
if (existing != null) {
|
|
434
|
-
existing.saveAnalyticsConnectionState = 'In-Progress';
|
|
435
|
-
existing.saveAnalyticsConnectionError = undefined;
|
|
436
|
-
}
|
|
437
|
-
},
|
|
438
|
-
},
|
|
439
|
-
saveExternalIntegrationConnectionSuccess: {
|
|
440
|
-
prepare(tenantId, connectionPayload) {
|
|
441
|
-
return { payload: { tenantId, connectionPayload } };
|
|
442
|
-
},
|
|
443
|
-
reducer(draft, action) {
|
|
444
|
-
const existing = draft.externalConnectionsByTenant[action.payload.tenantId];
|
|
445
|
-
if (existing != null) {
|
|
446
|
-
existing.saveAnalyticsConnectionState = 'Completed';
|
|
447
|
-
existing.analytics = [(0, exports.toConnection)(action.payload.connectionPayload)];
|
|
448
|
-
existing.saveAnalyticsConnectionError = undefined;
|
|
449
|
-
}
|
|
450
|
-
},
|
|
451
|
-
},
|
|
452
|
-
saveExternalIntegrationConnectionFailure: {
|
|
453
|
-
prepare(tenantId, status) {
|
|
454
|
-
return { payload: { tenantId, status } };
|
|
455
|
-
},
|
|
456
|
-
reducer(draft, action) {
|
|
457
|
-
const existing = draft.externalConnectionsByTenant[action.payload.tenantId];
|
|
458
|
-
if (existing != null) {
|
|
459
|
-
existing.saveAnalyticsConnectionState = 'Error';
|
|
460
|
-
existing.saveAnalyticsConnectionError = action.payload.status;
|
|
461
|
-
}
|
|
462
|
-
},
|
|
463
|
-
},
|
|
464
413
|
doSignOut(draft) {
|
|
465
414
|
draft.fetchState = 'Not-Started';
|
|
466
415
|
draft.signInState = 'Not-Started';
|
|
@@ -588,7 +537,7 @@ const tenant = (0, toolkit_1.createSlice)({
|
|
|
588
537
|
},
|
|
589
538
|
},
|
|
590
539
|
});
|
|
591
|
-
_a = tenant.actions, exports.updateTenants = _a.updateTenants, exports.fetchAllTenants = _a.fetchAllTenants, exports.updateTenantsSuccess = _a.updateTenantsSuccess, exports.updateTenantsFailure = _a.updateTenantsFailure, exports.fetchActiveTenant = _a.fetchActiveTenant, exports.updateTenantSuccess = _a.updateTenantSuccess, exports.updateTenantFailure = _a.updateTenantFailure, exports.updateCurrentTenant = _a.updateCurrentTenant, exports.fetchExcludedResources = _a.fetchExcludedResources, exports.updateExcludedResourcesSuccess = _a.updateExcludedResourcesSuccess, exports.updateExcludedResourcesFailure = _a.updateExcludedResourcesFailure, exports.doSignIn = _a.doSignIn, exports.doMagicLinkSignIn = _a.doMagicLinkSignIn, exports.magicLinkSignInSuccess = _a.magicLinkSignInSuccess, exports.magicLinkSignInFailure = _a.magicLinkSignInFailure, exports.sendEmailMagicLinkToUser = _a.sendEmailMagicLinkToUser, exports.sendEmailMagicLinkToUserSuccess = _a.sendEmailMagicLinkToUserSuccess, exports.sendEmailMagicLinkToUserFailure = _a.sendEmailMagicLinkToUserFailure, exports.updateSignInState = _a.updateSignInState, exports.doSignOut = _a.doSignOut, exports.signOutSuccess = _a.signOutSuccess, exports.updateLoggedInUser = _a.updateLoggedInUser, exports.fetchExternalConnections = _a.fetchExternalConnections, exports.saveExternalConnection = _a.saveExternalConnection, exports.saveExternalConnectionSuccess = _a.saveExternalConnectionSuccess, exports.saveExternalConnectionFailure = _a.saveExternalConnectionFailure, exports.fetchExternalConnectionsFailure = _a.fetchExternalConnectionsFailure, exports.fetchExternalConnectionsSuccess = _a.fetchExternalConnectionsSuccess, exports.
|
|
540
|
+
_a = tenant.actions, exports.updateTenants = _a.updateTenants, exports.fetchAllTenants = _a.fetchAllTenants, exports.updateTenantsSuccess = _a.updateTenantsSuccess, exports.updateTenantsFailure = _a.updateTenantsFailure, exports.fetchActiveTenant = _a.fetchActiveTenant, exports.updateTenantSuccess = _a.updateTenantSuccess, exports.updateTenantFailure = _a.updateTenantFailure, exports.updateCurrentTenant = _a.updateCurrentTenant, exports.fetchExcludedResources = _a.fetchExcludedResources, exports.updateExcludedResourcesSuccess = _a.updateExcludedResourcesSuccess, exports.updateExcludedResourcesFailure = _a.updateExcludedResourcesFailure, exports.doSignIn = _a.doSignIn, exports.doMagicLinkSignIn = _a.doMagicLinkSignIn, exports.magicLinkSignInSuccess = _a.magicLinkSignInSuccess, exports.magicLinkSignInFailure = _a.magicLinkSignInFailure, exports.sendEmailMagicLinkToUser = _a.sendEmailMagicLinkToUser, exports.sendEmailMagicLinkToUserSuccess = _a.sendEmailMagicLinkToUserSuccess, exports.sendEmailMagicLinkToUserFailure = _a.sendEmailMagicLinkToUserFailure, exports.updateSignInState = _a.updateSignInState, exports.doSignOut = _a.doSignOut, exports.signOutSuccess = _a.signOutSuccess, exports.updateLoggedInUser = _a.updateLoggedInUser, exports.fetchExternalConnections = _a.fetchExternalConnections, exports.saveExternalConnection = _a.saveExternalConnection, exports.saveExternalConnectionSuccess = _a.saveExternalConnectionSuccess, exports.saveExternalConnectionFailure = _a.saveExternalConnectionFailure, exports.fetchExternalConnectionsFailure = _a.fetchExternalConnectionsFailure, exports.fetchExternalConnectionsSuccess = _a.fetchExternalConnectionsSuccess, exports.clearAll = _a.clearAll, exports.fetchSubscriptionSummaryForTenant = _a.fetchSubscriptionSummaryForTenant, exports.updateSubscriptionSummaryForTenantSuccess = _a.updateSubscriptionSummaryForTenantSuccess, exports.updateSubscriptionSummaryForTenantFailure = _a.updateSubscriptionSummaryForTenantFailure, exports.updateOnboardingTenants = _a.updateOnboardingTenants, exports.removeOnboardingTenant = _a.removeOnboardingTenant, exports.updateTenantReimbursementInfo = _a.updateTenantReimbursementInfo, exports.updateReferViewedForLoggedInUser = _a.updateReferViewedForLoggedInUser, exports.updateTreasuryVideoViewedForLoggedInUser = _a.updateTreasuryVideoViewedForLoggedInUser, exports.resetSignInState = _a.resetSignInState, exports.trigger2FA = _a.trigger2FA, exports.updateTenantMasterTOSInfo = _a.updateTenantMasterTOSInfo, exports.verifyDeviceWithTwoFA = _a.verifyDeviceWithTwoFA, exports.verifyDeviceWithTwoFASuccess = _a.verifyDeviceWithTwoFASuccess, exports.verifyDeviceWithTwoFAFailure = _a.verifyDeviceWithTwoFAFailure, exports.resendVerifyDeviceOTP = _a.resendVerifyDeviceOTP, exports.resendVerifyDeviceOTPSuccess = _a.resendVerifyDeviceOTPSuccess, exports.resendVerifyDeviceOTPFailure = _a.resendVerifyDeviceOTPFailure;
|
|
592
541
|
exports.default = tenant.reducer;
|
|
593
542
|
/**
|
|
594
543
|
* Converts tenants payload to Tenant and User State
|
|
@@ -612,6 +561,7 @@ function mapTenantsPayloadToState(tenantsPayload, userTenantPayload) {
|
|
|
612
561
|
function mapTenantPayloadToTenant(payload, userTenantPayload) {
|
|
613
562
|
const tenant = {
|
|
614
563
|
accountingClassIDs: payload.accounting_class_ids,
|
|
564
|
+
isAccountingClassesEnabled: payload.is_accounting_classes_enabled ?? true,
|
|
615
565
|
bookCloseDate: payload.book_close_date != null
|
|
616
566
|
? (0, zeniDayJS_1.date)(payload.book_close_date)
|
|
617
567
|
: undefined,
|
|
@@ -714,7 +664,6 @@ function mapConnectionsPayloadToState(connectionsPayload) {
|
|
|
714
664
|
const { connections } = connectionsPayload;
|
|
715
665
|
return {
|
|
716
666
|
accounting: connections.accounting.map((payload) => (0, exports.toConnection)(payload)),
|
|
717
|
-
analytics: (connections.analytics ?? []).map((payload) => (0, exports.toConnection)(payload)),
|
|
718
667
|
payments: connections.payments.map((payload) => (0, exports.toConnection)(payload)),
|
|
719
668
|
};
|
|
720
669
|
}
|
|
@@ -85,6 +85,7 @@ export declare const getCurrentTenantExternalConnections: (tenantState: TenantSt
|
|
|
85
85
|
export declare const toTenantCoreDetailsView: (tenantsBaseView: TenantBaseView[]) => TenantCoreDetailsView[];
|
|
86
86
|
export declare const isTenantBankingOnly: (isDebitCardFlagEnabled: boolean, tenant: Tenant | undefined) => boolean;
|
|
87
87
|
export declare const isTenantCardsOnly: (tenant: Tenant | undefined) => boolean;
|
|
88
|
+
export declare const getIsAccountingClassesEnabled: (state: RootState) => boolean;
|
|
88
89
|
export declare const isTenantBookkeepingEnabled: (tenant: Tenant | undefined) => boolean;
|
|
89
90
|
export declare const isOtherProductsEnabledForTenant: (tenant: Tenant | undefined) => boolean;
|
|
90
91
|
export declare const isTenantTreasuryEnabled: (tenant: Tenant | undefined) => boolean;
|
|
@@ -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.isTenantTreasuryEnabled = exports.isOtherProductsEnabledForTenant = exports.isTenantBookkeepingEnabled = exports.isTenantCardsOnly = exports.isTenantBankingOnly = exports.toTenantCoreDetailsView = exports.getCurrentTenantExternalConnections = exports.isTenantUsingZeniCOA = exports.isZeniDomainTenant = exports.getTenantBaseViewForTenantView = exports.getTenantsCoreDetailsByCheckInDateSelector = exports.getTenantsBaseByCheckInDateSelector = exports.getTenantBaseById = exports.getTenantsByCheckInDateSelector = exports.getCurrentTenant = exports.getTenantBaseViewForTenantId = void 0;
|
|
6
|
+
exports.isTenantTreasuryEnabled = exports.isOtherProductsEnabledForTenant = exports.isTenantBookkeepingEnabled = exports.getIsAccountingClassesEnabled = exports.isTenantCardsOnly = exports.isTenantBankingOnly = exports.toTenantCoreDetailsView = exports.getCurrentTenantExternalConnections = exports.isTenantUsingZeniCOA = exports.isZeniDomainTenant = exports.getTenantBaseViewForTenantView = exports.getTenantsCoreDetailsByCheckInDateSelector = exports.getTenantsBaseByCheckInDateSelector = exports.getTenantBaseById = exports.getTenantsByCheckInDateSelector = exports.getCurrentTenant = exports.getTenantBaseViewForTenantId = void 0;
|
|
7
7
|
exports.getTenant = getTenant;
|
|
8
8
|
exports.getOnboardingTenantByTenantId = getOnboardingTenantByTenantId;
|
|
9
9
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
@@ -280,6 +280,14 @@ const isTenantCardsOnly = (tenant) => {
|
|
|
280
280
|
: false;
|
|
281
281
|
};
|
|
282
282
|
exports.isTenantCardsOnly = isTenantCardsOnly;
|
|
283
|
+
const getIsAccountingClassesEnabled = (state) => {
|
|
284
|
+
const { currentTenantId, tenantsById } = state.tenantState;
|
|
285
|
+
if (currentTenantId == null) {
|
|
286
|
+
return true;
|
|
287
|
+
}
|
|
288
|
+
return tenantsById[currentTenantId]?.isAccountingClassesEnabled ?? true;
|
|
289
|
+
};
|
|
290
|
+
exports.getIsAccountingClassesEnabled = getIsAccountingClassesEnabled;
|
|
283
291
|
const isTenantBookkeepingEnabled = (tenant) => {
|
|
284
292
|
// if the tenants API takes time, tenant can be non null with productSettings as null
|
|
285
293
|
return tenant != null && tenant.productSettings != null
|
|
@@ -12,13 +12,10 @@ import { UserRoleType } from '../userRole/userRoleType';
|
|
|
12
12
|
import { AuthProvider } from './tenantReducer';
|
|
13
13
|
export interface TenantExternalConnections {
|
|
14
14
|
accounting: Connection[];
|
|
15
|
-
analytics: Connection[];
|
|
16
15
|
fetchState: FetchState;
|
|
17
16
|
payments: Connection[];
|
|
18
|
-
saveAnalyticsConnectionState: FetchState;
|
|
19
17
|
saveConnectionState: FetchState;
|
|
20
18
|
error?: ZeniAPIStatus;
|
|
21
|
-
saveAnalyticsConnectionError?: ZeniAPIStatus;
|
|
22
19
|
}
|
|
23
20
|
export interface TenantState extends FetchedState {
|
|
24
21
|
accountLocked: boolean;
|
|
@@ -72,6 +69,7 @@ export interface Tenant {
|
|
|
72
69
|
inviteCreateTime: ZeniDate;
|
|
73
70
|
inviterEmail: string;
|
|
74
71
|
inviterUserId: ID;
|
|
72
|
+
isAccountingClassesEnabled: boolean;
|
|
75
73
|
isCustomerCreated: boolean;
|
|
76
74
|
isEmailGroupCreated: boolean;
|
|
77
75
|
isOnboardingCompleted: boolean;
|
|
@@ -35,9 +35,9 @@ export interface LinkedTransactionLine extends TransactionLineBase {
|
|
|
35
35
|
export interface TransactionWithAccountAndClassLine extends TransactionLineBase {
|
|
36
36
|
account: AccountBase;
|
|
37
37
|
billable: BillableStatus;
|
|
38
|
-
class: ClassBase;
|
|
39
38
|
isCategoryMiscategorized: boolean;
|
|
40
39
|
isClassMiscategorized: boolean;
|
|
40
|
+
class?: ClassBase;
|
|
41
41
|
customer?: CustomerBase;
|
|
42
42
|
vendor?: VendorBase;
|
|
43
43
|
}
|