@zeniai/client-epic-state 5.0.3-beta0ND → 5.0.3-betaND3
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/task/taskPayload.d.ts +1 -0
- package/lib/entity/task/taskPayload.js +46 -39
- package/lib/entity/task/taskState.d.ts +2 -0
- package/lib/entity/tenant/tenantReducer.d.ts +1 -5
- package/lib/entity/tenant/tenantReducer.js +2 -23
- package/lib/entity/tenant/tenantState.d.ts +0 -1
- package/lib/esm/coreEpics.js +1 -2
- package/lib/esm/entity/task/taskPayload.js +46 -39
- package/lib/esm/entity/tenant/tenantReducer.js +1 -21
- package/lib/esm/index.js +2 -5
- package/lib/esm/view/taskManager/taskListView/epics/bulkUpdateTaskListEpic.js +4 -0
- package/lib/esm/view/taskManager/taskListView/epics/fetchTaskListEpic.js +6 -3
- package/lib/esm/view/taskManager/taskListView/epics/updateTaskFromListViewEpic.js +6 -2
- package/lib/esm/view/taskManager/taskListView/taskListPayload.js +5 -1
- package/lib/esm/view/taskManager/taskListView/taskListReducer.js +11 -0
- package/lib/esm/view/taskManager/taskListView/taskListSelector.js +27 -4
- package/lib/index.d.ts +2 -5
- package/lib/index.js +30 -36
- package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
- package/lib/view/taskManager/taskListView/epics/bulkUpdateTaskListEpic.d.ts +2 -0
- package/lib/view/taskManager/taskListView/epics/bulkUpdateTaskListEpic.js +4 -0
- package/lib/view/taskManager/taskListView/epics/fetchTaskListEpic.js +6 -3
- package/lib/view/taskManager/taskListView/epics/updateTaskFromListViewEpic.js +6 -2
- package/lib/view/taskManager/taskListView/taskList.d.ts +2 -0
- package/lib/view/taskManager/taskListView/taskListPayload.d.ts +10 -1
- package/lib/view/taskManager/taskListView/taskListPayload.js +7 -0
- package/lib/view/taskManager/taskListView/taskListReducer.d.ts +4 -1
- package/lib/view/taskManager/taskListView/taskListReducer.js +11 -0
- package/lib/view/taskManager/taskListView/taskListSelector.d.ts +4 -1
- package/lib/view/taskManager/taskListView/taskListSelector.js +27 -4
- package/package.json +1 -1
- package/lib/entity/tenant/SessionManager.d.ts +0 -38
- package/lib/entity/tenant/SessionManager.js +0 -171
- package/lib/entity/tenant/epic/sessionHeartbeatEpic.d.ts +0 -16
- package/lib/entity/tenant/epic/sessionHeartbeatEpic.js +0 -16
- package/lib/entity/tenant/sessionTypes.d.ts +0 -26
- package/lib/entity/tenant/sessionTypes.js +0 -12
- package/lib/esm/entity/tenant/SessionManager.js +0 -167
- package/lib/esm/entity/tenant/epic/sessionHeartbeatEpic.js +0 -12
- package/lib/esm/entity/tenant/sessionTypes.js +0 -9
package/lib/coreEpics.js
CHANGED
|
@@ -24,7 +24,6 @@ const resendVerifyDeviceOTPEpic_1 = require("./entity/tenant/epic/resendVerifyDe
|
|
|
24
24
|
const saveExternalConnectionEpic_1 = require("./entity/tenant/epic/saveExternalConnectionEpic");
|
|
25
25
|
const sendEmailMagicLinkToUserEpic_1 = require("./entity/tenant/epic/sendEmailMagicLinkToUserEpic");
|
|
26
26
|
const signInUserEpic_1 = require("./entity/tenant/epic/signInUserEpic");
|
|
27
|
-
const sessionHeartbeatEpic_1 = require("./entity/tenant/epic/sessionHeartbeatEpic");
|
|
28
27
|
const signOutUserEpic_1 = require("./entity/tenant/epic/signOutUserEpic");
|
|
29
28
|
const verifyDeviceWithTwoFAEpic_1 = require("./entity/tenant/epic/verifyDeviceWithTwoFAEpic");
|
|
30
29
|
// ── Toast Notification Epic ──────────────────────────────────────────
|
|
@@ -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,
|
|
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
|
|
@@ -5,43 +5,50 @@ const formatMinutesToFromHHMM_1 = require("../../commonStateTypes/fiscalYearHelp
|
|
|
5
5
|
const recurringViewHelper_1 = require("../../view/common/recurringViewHelper");
|
|
6
6
|
const zeniDayJS_1 = require("../../zeniDayJS");
|
|
7
7
|
const taskState_1 = require("./taskState");
|
|
8
|
-
const mapTaskPayloadToTask = (payload) =>
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
8
|
+
const mapTaskPayloadToTask = (payload) => {
|
|
9
|
+
const task = {
|
|
10
|
+
id: payload.task_id,
|
|
11
|
+
assignees: payload.assignees,
|
|
12
|
+
createdBy: payload.created_by,
|
|
13
|
+
description: payload.description,
|
|
14
|
+
fileIds: payload.file_ids,
|
|
15
|
+
isArchived: payload.is_archived,
|
|
16
|
+
isDeleted: payload.is_deleted,
|
|
17
|
+
name: payload.name,
|
|
18
|
+
syncToken: payload.sync_token ?? '',
|
|
19
|
+
priority: {
|
|
20
|
+
code: (0, taskState_1.toPriorityCodeType)(payload.priority.code),
|
|
21
|
+
name: payload.priority.name,
|
|
22
|
+
},
|
|
23
|
+
status: {
|
|
24
|
+
code: (0, taskState_1.toTaskStatusCodeType)(payload.status.code),
|
|
25
|
+
name: payload.status.name,
|
|
26
|
+
},
|
|
27
|
+
tagIds: payload.tags.map((tag) => tag.tag_id),
|
|
28
|
+
type: { code: (0, taskState_1.toTaskCodeType)(payload.type.code), name: payload.type.name },
|
|
29
|
+
recurringEndDate: payload.recurring_end_date != null
|
|
30
|
+
? (0, zeniDayJS_1.date)(payload.recurring_end_date)
|
|
31
|
+
: undefined,
|
|
32
|
+
recurringFrequency: payload.recurring_frequency != null
|
|
33
|
+
? (0, recurringViewHelper_1.toRecurringFrequencyStrict)(payload.recurring_frequency.code)
|
|
34
|
+
: undefined,
|
|
35
|
+
recurringStartDate: payload.recurring_start_date != null
|
|
36
|
+
? (0, zeniDayJS_1.date)(payload.recurring_start_date)
|
|
37
|
+
: undefined,
|
|
38
|
+
createTime: (0, zeniDayJS_1.date)(payload.create_time),
|
|
39
|
+
dueDate: payload.due_date != null ? (0, zeniDayJS_1.date)(payload.due_date) : undefined,
|
|
40
|
+
updateTime: payload.update_time != null ? (0, zeniDayJS_1.date)(payload.update_time) : undefined,
|
|
41
|
+
companyId: payload.company_id,
|
|
42
|
+
taskGroupIds: payload.task_group_ids != null ? payload.task_group_ids : [],
|
|
43
|
+
timeSpent: payload.time_spent != null
|
|
44
|
+
? (0, formatMinutesToFromHHMM_1.convertMinutesToHHMM)(payload.time_spent)
|
|
45
|
+
: (0, formatMinutesToFromHHMM_1.convertMinutesToHHMM)(0),
|
|
46
|
+
groupAssignees: payload.group_assignees ?? [],
|
|
47
|
+
};
|
|
48
|
+
const parentTaskId = payload.parent_task_id;
|
|
49
|
+
if (typeof parentTaskId === 'string' && parentTaskId.length > 0) {
|
|
50
|
+
task.parentTaskId = parentTaskId;
|
|
51
|
+
}
|
|
52
|
+
return task;
|
|
53
|
+
};
|
|
47
54
|
exports.mapTaskPayloadToTask = mapTaskPayloadToTask;
|
|
@@ -21,6 +21,8 @@ export interface Task {
|
|
|
21
21
|
type: TaskType;
|
|
22
22
|
companyId?: ID;
|
|
23
23
|
dueDate?: ZeniDate;
|
|
24
|
+
/** Present when this task is a subtask of another task. */
|
|
25
|
+
parentTaskId?: ID;
|
|
24
26
|
recurringEndDate?: ZeniDate;
|
|
25
27
|
recurringFrequency?: RecurringFrequencyType;
|
|
26
28
|
recurringStartDate?: ZeniDate;
|
|
@@ -51,11 +51,7 @@ export declare const updateTenants: import("@reduxjs/toolkit").ActionCreatorWith
|
|
|
51
51
|
accountLockTime?: string;
|
|
52
52
|
accountUnlockTime?: string;
|
|
53
53
|
isAccountLocked?: boolean;
|
|
54
|
-
}, "tenant/sendEmailMagicLinkToUserFailure">, updateSignInState: import("@reduxjs/toolkit").ActionCreatorWithPayload<FetchState, "tenant/updateSignInState">, doSignOut: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/doSignOut">, signOutSuccess: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/signOutSuccess">,
|
|
55
|
-
expiresAt: string;
|
|
56
|
-
}, "tenant/sessionHeartbeatSuccess", never, never>, sessionHeartbeatFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[error: ZeniAPIStatus<Record<string, unknown>>], {
|
|
57
|
-
error: ZeniAPIStatus<Record<string, unknown>>;
|
|
58
|
-
}, "tenant/sessionHeartbeatFailure", never, never>, updateLoggedInUser: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[userPayload: LoggedInUserPayload, zeniSessionId: string, authProvider: AuthProvider], {
|
|
54
|
+
}, "tenant/sendEmailMagicLinkToUserFailure">, updateSignInState: import("@reduxjs/toolkit").ActionCreatorWithPayload<FetchState, "tenant/updateSignInState">, doSignOut: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/doSignOut">, signOutSuccess: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/signOutSuccess">, updateLoggedInUser: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[userPayload: LoggedInUserPayload, zeniSessionId: string, authProvider: AuthProvider], {
|
|
59
55
|
userPayload: LoggedInUserPayload;
|
|
60
56
|
zeniSessionId: string;
|
|
61
57
|
authProvider: AuthProvider;
|
|
@@ -4,8 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
var _a;
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.resendVerifyDeviceOTPSuccess = exports.resendVerifyDeviceOTP = exports.verifyDeviceWithTwoFAFailure = exports.verifyDeviceWithTwoFASuccess = exports.verifyDeviceWithTwoFA = exports.updateTenantMasterTOSInfo = exports.updateTenantAccountingClassesEnabled = 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.
|
|
8
|
-
exports.toConnection = exports.toRoleResource = exports.resendVerifyDeviceOTPFailure = void 0;
|
|
7
|
+
exports.toConnection = exports.toRoleResource = exports.resendVerifyDeviceOTPFailure = exports.resendVerifyDeviceOTPSuccess = exports.resendVerifyDeviceOTP = exports.verifyDeviceWithTwoFAFailure = exports.verifyDeviceWithTwoFASuccess = exports.verifyDeviceWithTwoFA = exports.updateTenantMasterTOSInfo = exports.updateTenantAccountingClassesEnabled = 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");
|
|
@@ -437,26 +436,6 @@ const tenant = (0, toolkit_1.createSlice)({
|
|
|
437
436
|
signOutSuccess(draft) {
|
|
438
437
|
draft.loggedInUser = undefined;
|
|
439
438
|
draft.currentTenantId = undefined;
|
|
440
|
-
draft.sessionExpiresAt = undefined;
|
|
441
|
-
},
|
|
442
|
-
sendSessionHeartbeat() {
|
|
443
|
-
// No state change needed — epic handles the API call
|
|
444
|
-
},
|
|
445
|
-
sessionHeartbeatSuccess: {
|
|
446
|
-
prepare(expiresAt) {
|
|
447
|
-
return { payload: { expiresAt } };
|
|
448
|
-
},
|
|
449
|
-
reducer(draft, action) {
|
|
450
|
-
draft.sessionExpiresAt = action.payload.expiresAt;
|
|
451
|
-
},
|
|
452
|
-
},
|
|
453
|
-
sessionHeartbeatFailure: {
|
|
454
|
-
prepare(error) {
|
|
455
|
-
return { payload: { error } };
|
|
456
|
-
},
|
|
457
|
-
reducer(draft, action) {
|
|
458
|
-
draft.error = action.payload.error;
|
|
459
|
-
},
|
|
460
439
|
},
|
|
461
440
|
fetchSubscriptionSummaryForTenant: {
|
|
462
441
|
prepare(tenantId) {
|
|
@@ -564,7 +543,7 @@ const tenant = (0, toolkit_1.createSlice)({
|
|
|
564
543
|
},
|
|
565
544
|
},
|
|
566
545
|
});
|
|
567
|
-
_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.
|
|
546
|
+
_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.updateTenantAccountingClassesEnabled = _a.updateTenantAccountingClassesEnabled, 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;
|
|
568
547
|
exports.default = tenant.reducer;
|
|
569
548
|
/**
|
|
570
549
|
* Converts tenants payload to Tenant and User State
|
package/lib/esm/coreEpics.js
CHANGED
|
@@ -22,7 +22,6 @@ import { resendVerifyDeviceOTPEpic } from './entity/tenant/epic/resendVerifyDevi
|
|
|
22
22
|
import { saveExternalConnectionEpic } from './entity/tenant/epic/saveExternalConnectionEpic';
|
|
23
23
|
import { sendEmailMagicLinkToUserEpic } from './entity/tenant/epic/sendEmailMagicLinkToUserEpic';
|
|
24
24
|
import { doSignInEpic } from './entity/tenant/epic/signInUserEpic';
|
|
25
|
-
import { sessionHeartbeatEpic } from './entity/tenant/epic/sessionHeartbeatEpic';
|
|
26
25
|
import { doSignOutEpic } from './entity/tenant/epic/signOutUserEpic';
|
|
27
26
|
import { verifyDeviceWithTwoFAEpic } from './entity/tenant/epic/verifyDeviceWithTwoFAEpic';
|
|
28
27
|
// ── Toast Notification Epic ──────────────────────────────────────────
|
|
@@ -47,7 +46,7 @@ import { verifyOtpEpic } from './view/twoFactorAuthentication/verifyOtpEpic';
|
|
|
47
46
|
// RootActionType is only available in the dynamically imported epic.ts.
|
|
48
47
|
const coreRootEpic = combineEpics(
|
|
49
48
|
// Auth & tenant
|
|
50
|
-
clearAllEpic, doMagicLinkSignInEpic, doSignInEpic, doSignOutEpic,
|
|
49
|
+
clearAllEpic, doMagicLinkSignInEpic, doSignInEpic, doSignOutEpic, fetchActiveTenantEpic, fetchAllTenantsEpic, fetchExcludedResourcesEpic, fetchExternalConnectionsEpic, fetchSubscriptionSummaryForTenantEpic, resendVerifyDeviceOTPEpic, saveExternalConnectionEpic, sendEmailMagicLinkToUserEpic, verifyDeviceWithTwoFAEpic,
|
|
51
50
|
// Toast
|
|
52
51
|
pushToastNotificationEpic,
|
|
53
52
|
// Collaboration
|
|
@@ -2,42 +2,49 @@ import { convertMinutesToHHMM } from '../../commonStateTypes/fiscalYearHelpers/f
|
|
|
2
2
|
import { toRecurringFrequencyStrict } from '../../view/common/recurringViewHelper';
|
|
3
3
|
import { date } from '../../zeniDayJS';
|
|
4
4
|
import { toPriorityCodeType, toTaskCodeType, toTaskStatusCodeType, } from './taskState';
|
|
5
|
-
export const mapTaskPayloadToTask = (payload) =>
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
5
|
+
export const mapTaskPayloadToTask = (payload) => {
|
|
6
|
+
const task = {
|
|
7
|
+
id: payload.task_id,
|
|
8
|
+
assignees: payload.assignees,
|
|
9
|
+
createdBy: payload.created_by,
|
|
10
|
+
description: payload.description,
|
|
11
|
+
fileIds: payload.file_ids,
|
|
12
|
+
isArchived: payload.is_archived,
|
|
13
|
+
isDeleted: payload.is_deleted,
|
|
14
|
+
name: payload.name,
|
|
15
|
+
syncToken: payload.sync_token ?? '',
|
|
16
|
+
priority: {
|
|
17
|
+
code: toPriorityCodeType(payload.priority.code),
|
|
18
|
+
name: payload.priority.name,
|
|
19
|
+
},
|
|
20
|
+
status: {
|
|
21
|
+
code: toTaskStatusCodeType(payload.status.code),
|
|
22
|
+
name: payload.status.name,
|
|
23
|
+
},
|
|
24
|
+
tagIds: payload.tags.map((tag) => tag.tag_id),
|
|
25
|
+
type: { code: toTaskCodeType(payload.type.code), name: payload.type.name },
|
|
26
|
+
recurringEndDate: payload.recurring_end_date != null
|
|
27
|
+
? date(payload.recurring_end_date)
|
|
28
|
+
: undefined,
|
|
29
|
+
recurringFrequency: payload.recurring_frequency != null
|
|
30
|
+
? toRecurringFrequencyStrict(payload.recurring_frequency.code)
|
|
31
|
+
: undefined,
|
|
32
|
+
recurringStartDate: payload.recurring_start_date != null
|
|
33
|
+
? date(payload.recurring_start_date)
|
|
34
|
+
: undefined,
|
|
35
|
+
createTime: date(payload.create_time),
|
|
36
|
+
dueDate: payload.due_date != null ? date(payload.due_date) : undefined,
|
|
37
|
+
updateTime: payload.update_time != null ? date(payload.update_time) : undefined,
|
|
38
|
+
companyId: payload.company_id,
|
|
39
|
+
taskGroupIds: payload.task_group_ids != null ? payload.task_group_ids : [],
|
|
40
|
+
timeSpent: payload.time_spent != null
|
|
41
|
+
? convertMinutesToHHMM(payload.time_spent)
|
|
42
|
+
: convertMinutesToHHMM(0),
|
|
43
|
+
groupAssignees: payload.group_assignees ?? [],
|
|
44
|
+
};
|
|
45
|
+
const parentTaskId = payload.parent_task_id;
|
|
46
|
+
if (typeof parentTaskId === 'string' && parentTaskId.length > 0) {
|
|
47
|
+
task.parentTaskId = parentTaskId;
|
|
48
|
+
}
|
|
49
|
+
return task;
|
|
50
|
+
};
|
|
@@ -428,26 +428,6 @@ const tenant = createSlice({
|
|
|
428
428
|
signOutSuccess(draft) {
|
|
429
429
|
draft.loggedInUser = undefined;
|
|
430
430
|
draft.currentTenantId = undefined;
|
|
431
|
-
draft.sessionExpiresAt = undefined;
|
|
432
|
-
},
|
|
433
|
-
sendSessionHeartbeat() {
|
|
434
|
-
// No state change needed — epic handles the API call
|
|
435
|
-
},
|
|
436
|
-
sessionHeartbeatSuccess: {
|
|
437
|
-
prepare(expiresAt) {
|
|
438
|
-
return { payload: { expiresAt } };
|
|
439
|
-
},
|
|
440
|
-
reducer(draft, action) {
|
|
441
|
-
draft.sessionExpiresAt = action.payload.expiresAt;
|
|
442
|
-
},
|
|
443
|
-
},
|
|
444
|
-
sessionHeartbeatFailure: {
|
|
445
|
-
prepare(error) {
|
|
446
|
-
return { payload: { error } };
|
|
447
|
-
},
|
|
448
|
-
reducer(draft, action) {
|
|
449
|
-
draft.error = action.payload.error;
|
|
450
|
-
},
|
|
451
431
|
},
|
|
452
432
|
fetchSubscriptionSummaryForTenant: {
|
|
453
433
|
prepare(tenantId) {
|
|
@@ -555,7 +535,7 @@ const tenant = createSlice({
|
|
|
555
535
|
},
|
|
556
536
|
},
|
|
557
537
|
});
|
|
558
|
-
export const { updateTenants, fetchAllTenants, updateTenantsSuccess, updateTenantsFailure, fetchActiveTenant, updateTenantSuccess, updateTenantFailure, updateCurrentTenant, fetchExcludedResources, updateExcludedResourcesSuccess, updateExcludedResourcesFailure, doSignIn, doMagicLinkSignIn, magicLinkSignInSuccess, magicLinkSignInFailure, sendEmailMagicLinkToUser, sendEmailMagicLinkToUserSuccess, sendEmailMagicLinkToUserFailure, updateSignInState, doSignOut, signOutSuccess,
|
|
538
|
+
export const { updateTenants, fetchAllTenants, updateTenantsSuccess, updateTenantsFailure, fetchActiveTenant, updateTenantSuccess, updateTenantFailure, updateCurrentTenant, fetchExcludedResources, updateExcludedResourcesSuccess, updateExcludedResourcesFailure, doSignIn, doMagicLinkSignIn, magicLinkSignInSuccess, magicLinkSignInFailure, sendEmailMagicLinkToUser, sendEmailMagicLinkToUserSuccess, sendEmailMagicLinkToUserFailure, updateSignInState, doSignOut, signOutSuccess, updateLoggedInUser, fetchExternalConnections, saveExternalConnection, saveExternalConnectionSuccess, saveExternalConnectionFailure, fetchExternalConnectionsFailure, fetchExternalConnectionsSuccess, clearAll, fetchSubscriptionSummaryForTenant, updateSubscriptionSummaryForTenantSuccess, updateSubscriptionSummaryForTenantFailure, updateOnboardingTenants, removeOnboardingTenant, updateTenantReimbursementInfo, updateReferViewedForLoggedInUser, updateTreasuryVideoViewedForLoggedInUser, resetSignInState, trigger2FA, updateTenantAccountingClassesEnabled, updateTenantMasterTOSInfo, verifyDeviceWithTwoFA, verifyDeviceWithTwoFASuccess, verifyDeviceWithTwoFAFailure, resendVerifyDeviceOTP, resendVerifyDeviceOTPSuccess, resendVerifyDeviceOTPFailure, } = tenant.actions;
|
|
559
539
|
export default tenant.reducer;
|
|
560
540
|
/**
|
|
561
541
|
* Converts tenants payload to Tenant and User State
|
package/lib/esm/index.js
CHANGED
|
@@ -59,7 +59,7 @@ import { closeSnackbar, openSnackbar } from './entity/snackbar/snackbarReducer';
|
|
|
59
59
|
import { getSnackbar } from './entity/snackbar/snackbarSelector';
|
|
60
60
|
import { toPriorityCodeType, toTaskStatusCodeType, } from './entity/task/taskState';
|
|
61
61
|
import { getTaskGroupById } from './entity/taskGroup/taskGroupSelector';
|
|
62
|
-
import { clearAll, doMagicLinkSignIn, doSignIn, doSignOut,
|
|
62
|
+
import { clearAll, doMagicLinkSignIn, doSignIn, doSignOut, fetchActiveTenant, fetchAllTenants, fetchExcludedResources as fetchExcludedResourcesForTenant, fetchExternalConnections as fetchExternalConnectionsForTenant, fetchSubscriptionSummaryForTenant, resendVerifyDeviceOTP, resetSignInState, saveExternalConnection as saveExternalConnectionForTenant, sendEmailMagicLinkToUser, updateCurrentTenant, updateSignInState, verifyDeviceWithTwoFA, } from './entity/tenant/tenantReducer';
|
|
63
63
|
import { getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantBaseById, getTenantBaseViewForTenantId, getTenantBaseViewForTenantView, getTenantsBaseByCheckInDateSelector, getTenantsByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, isOtherProductsEnabledForTenant, isTenantBankingOnly, isTenantBookkeepingEnabled, isTenantCardsOnly, isTenantUsingZeniCOA, isZeniDomainTenant, toTenantCoreDetailsView, } from './entity/tenant/tenantSelector';
|
|
64
64
|
import { pushToastNotification } from './entity/toastNotification/toastNotificationReducer';
|
|
65
65
|
import { getLastNotificationTime, getNotifications, } from './entity/toastNotification/toastNotificationSelector';
|
|
@@ -433,7 +433,7 @@ export { toTimeframeTick, mapTimePeriodtoTimeframeTick, toTimePeriod, toAbsolute
|
|
|
433
433
|
export { toVendorSpendTrendFilterTabsTypeStrict, } from './entity/vendorExpense/vendorExpenseSelector';
|
|
434
434
|
export { getNumberOfPeriods };
|
|
435
435
|
export { SCHEDULE_DAYS_OF_MONTH, toScheduleDaysOfMonth, toMonth, toMonthStrict, toQuarter, toQuarterStrict, };
|
|
436
|
-
export { getTenantBaseById, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doMagicLinkSignIn, verifyDeviceWithTwoFA, resendVerifyDeviceOTP, sendEmailMagicLinkToUser, doSignIn, updateSignInState, doSignOut,
|
|
436
|
+
export { getTenantBaseById, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doMagicLinkSignIn, verifyDeviceWithTwoFA, resendVerifyDeviceOTP, sendEmailMagicLinkToUser, doSignIn, updateSignInState, doSignOut, resetSignInState, fetchExcludedResourcesForTenant, fetchExternalConnectionsForTenant, saveExternalConnectionForTenant, fetchSubscriptionSummaryForTenant, isTenantBankingOnly, isTenantCardsOnly, isTenantBookkeepingEnabled, isOtherProductsEnabledForTenant, };
|
|
437
437
|
export { toAccountType, toAccountGroupType, getAccountGroupKey, };
|
|
438
438
|
export { getClassById } from './entity/class/classSelector';
|
|
439
439
|
export { getForecast };
|
|
@@ -631,6 +631,3 @@ export { getAutoTransferRules, getAutoTransferRuleById, getAutoTransferRuleHisto
|
|
|
631
631
|
export { BULK_UPLOAD_AUTOMATCHING_TIMEOUT_MS, BULK_UPLOAD_BAR_COMPLETE_HOLD_MS, } from './view/expenseAutomationView/helpers/bulkUploadTiming';
|
|
632
632
|
export { fetchTransactionActivityLog } from './view/transactionActivityLogView/transactionActivityLogViewReducer';
|
|
633
633
|
export { getTransactionActivityLogView, } from './view/transactionActivityLogView/transactionActivityLogViewSelector';
|
|
634
|
-
// ── Session Management ──────────────────────────────────────────────
|
|
635
|
-
export { SessionManager } from './entity/tenant/SessionManager';
|
|
636
|
-
export { DEFAULT_SESSION_CONFIG } from './entity/tenant/sessionTypes';
|
|
@@ -87,5 +87,9 @@ const toTaskPayload = (state, task) => {
|
|
|
87
87
|
task_group_ids: task.taskGroupIds,
|
|
88
88
|
time_spent: convertHHMMStrToMinutes(task.timeSpent),
|
|
89
89
|
};
|
|
90
|
+
const parentTaskId = task.parentTaskId;
|
|
91
|
+
if (typeof parentTaskId === 'string' && parentTaskId.length > 0) {
|
|
92
|
+
taskPayload.parent_task_id = parentTaskId;
|
|
93
|
+
}
|
|
90
94
|
return taskPayload;
|
|
91
95
|
};
|
|
@@ -3,16 +3,19 @@ import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
|
|
|
3
3
|
import { updateTags } from '../../../../entity/tag/tagReducer';
|
|
4
4
|
import { updateTasks } from '../../../../entity/task/taskReducer';
|
|
5
5
|
import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
|
|
6
|
+
import { flattenTasksAndSubtasksForEntity, } from '../taskListPayload';
|
|
6
7
|
import { fetchTaskList, updateTaskList, updateTaskListFetchStatus, } from '../taskListReducer';
|
|
7
8
|
export const fetchTaskListEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchTaskList.match), switchMap(() => {
|
|
8
9
|
return zeniAPI
|
|
9
10
|
.getJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks?query=${encodeURIComponent(`{"task_type": "all"}`)}`)
|
|
10
11
|
.pipe(mergeMap((response) => {
|
|
11
12
|
if (isSuccessResponse(response) && response.data != null) {
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
const { tasks } = response.data;
|
|
14
|
+
const tasksForEntity = flattenTasksAndSubtasksForEntity(tasks);
|
|
15
|
+
return of(updateTasks(tasksForEntity), updateTaskList({
|
|
16
|
+
data: tasks,
|
|
14
17
|
updateType: 'replace',
|
|
15
|
-
}), updateTags(
|
|
18
|
+
}), updateTags(tasksForEntity.map((task) => task.tags).flat()));
|
|
16
19
|
}
|
|
17
20
|
else {
|
|
18
21
|
return of(updateTaskListFetchStatus({
|
|
@@ -6,9 +6,13 @@ import { updateTaskFromListView, updateTasksListOnUpdateTaskFailure, updateTasks
|
|
|
6
6
|
import { getTaskPayload } from './bulkUpdateTaskListEpic';
|
|
7
7
|
export const updateTaskFromListViewEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(updateTaskFromListView.match), switchMap((action) => {
|
|
8
8
|
const state = state$.value;
|
|
9
|
-
const { task, updates } = action.payload;
|
|
9
|
+
const { task, updates, parentTaskId } = action.payload;
|
|
10
10
|
const taskId = task.id;
|
|
11
|
-
const
|
|
11
|
+
const mergedUpdates = { ...updates };
|
|
12
|
+
if (typeof parentTaskId === 'string' && parentTaskId.length > 0) {
|
|
13
|
+
mergedUpdates.parentTaskId = parentTaskId;
|
|
14
|
+
}
|
|
15
|
+
const taskData = getTaskPayload(state, taskId, mergedUpdates);
|
|
12
16
|
return zeniAPI
|
|
13
17
|
.putAndGetJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks/${taskId}`, { ...taskData })
|
|
14
18
|
.pipe(mergeMap((response) => {
|
|
@@ -30,6 +30,7 @@ const initialTaskIdsByDueDate = {
|
|
|
30
30
|
upcoming: [],
|
|
31
31
|
};
|
|
32
32
|
export const initialState = {
|
|
33
|
+
subtaskIdsByParentTaskId: {},
|
|
33
34
|
taskIds: [],
|
|
34
35
|
taskIdsByGroupsIds: {},
|
|
35
36
|
taskIdsByPriority: initialTaskIdsByPriority,
|
|
@@ -89,6 +90,7 @@ const taskList = createSlice({
|
|
|
89
90
|
const { data } = action.payload;
|
|
90
91
|
draft.fetchState = 'Completed';
|
|
91
92
|
draft.error = undefined;
|
|
93
|
+
draft.subtaskIdsByParentTaskId = buildSubtaskIdsByParentTaskId(data);
|
|
92
94
|
const { taskIds, taskIdsGroupedByPriority, taskIdsByGroupIds, taskIdsGroupedByStatus, taskIdsByAssignees, taskIdsByDueDate, taskIdsByTags, } = getGroupedTaskIds(data);
|
|
93
95
|
draft.taskIds = taskIds;
|
|
94
96
|
draft.taskIdsByGroupsIds = taskIdsByGroupIds;
|
|
@@ -488,6 +490,15 @@ const getTagsGroupKey = (tags) => {
|
|
|
488
490
|
tagIds.sort();
|
|
489
491
|
return tagIds.join(',');
|
|
490
492
|
};
|
|
493
|
+
const buildSubtaskIdsByParentTaskId = (tasks) => {
|
|
494
|
+
const subtaskIdsByParentTaskId = {};
|
|
495
|
+
tasks.forEach((task) => {
|
|
496
|
+
if (task.subtasks != null && task.subtasks.length > 0) {
|
|
497
|
+
subtaskIdsByParentTaskId[task.task_id] = task.subtasks.map((s) => s.task_id);
|
|
498
|
+
}
|
|
499
|
+
});
|
|
500
|
+
return subtaskIdsByParentTaskId;
|
|
501
|
+
};
|
|
491
502
|
const getGroupedTaskIds = (tasks) => {
|
|
492
503
|
const taskIds = [];
|
|
493
504
|
const taskIdsByGroupIds = {};
|
|
@@ -43,6 +43,30 @@ const sortTasksList = (tagState, tasksList, sortKey, sortOrder) => {
|
|
|
43
43
|
}, sortOrder);
|
|
44
44
|
return tasksInOrder;
|
|
45
45
|
};
|
|
46
|
+
const taskToTaskWithUserDetails = (task, userState, userRoleState, addressState) => ({
|
|
47
|
+
...task,
|
|
48
|
+
assigneeUsers: task.assignees
|
|
49
|
+
.map((userId) => getUserAndUserRole(userState, userRoleState, addressState, userId))
|
|
50
|
+
.filter((value) => value != null),
|
|
51
|
+
subtasks: [],
|
|
52
|
+
});
|
|
53
|
+
const attachSubtasksForTask = (taskWithAssignees, taskListState, taskState, userState, userRoleState, addressState) => {
|
|
54
|
+
const subtaskIds = taskListState.subtaskIdsByParentTaskId[taskWithAssignees.id] ?? [];
|
|
55
|
+
if (subtaskIds.length === 0) {
|
|
56
|
+
return { ...taskWithAssignees, subtasks: [] };
|
|
57
|
+
}
|
|
58
|
+
const subtasks = subtaskIds
|
|
59
|
+
.map((subtaskId) => {
|
|
60
|
+
const subtask = getTaskById(taskState, subtaskId);
|
|
61
|
+
if (subtask == null) {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
const withAssignees = taskToTaskWithUserDetails(subtask, userState, userRoleState, addressState);
|
|
65
|
+
return attachSubtasksForTask(withAssignees, taskListState, taskState, userState, userRoleState, addressState);
|
|
66
|
+
})
|
|
67
|
+
.filter((value) => value != null);
|
|
68
|
+
return { ...taskWithAssignees, subtasks };
|
|
69
|
+
};
|
|
46
70
|
const getTasksWithUserDetails = ({ taskListState, taskState, userState, userRoleState, addressState, taskIds, tagState, }) => {
|
|
47
71
|
const { sortKey, searchText } = taskListState.uiState;
|
|
48
72
|
const sortOrder = getSortOrder(taskListState.uiState.sortOrder);
|
|
@@ -50,10 +74,8 @@ const getTasksWithUserDetails = ({ taskListState, taskState, userState, userRole
|
|
|
50
74
|
.map((taskId) => {
|
|
51
75
|
const task = getTaskById(taskState, taskId);
|
|
52
76
|
if (task != null) {
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
.filter((value) => value != null);
|
|
56
|
-
return { ...task, assigneeUsers };
|
|
77
|
+
const taskWithAssignees = taskToTaskWithUserDetails(task, userState, userRoleState, addressState);
|
|
78
|
+
return attachSubtasksForTask(taskWithAssignees, taskListState, taskState, userState, userRoleState, addressState);
|
|
57
79
|
}
|
|
58
80
|
return undefined;
|
|
59
81
|
})
|
|
@@ -334,6 +356,7 @@ export const getAllTasks = createSelector((state) => state.taskListState, (state
|
|
|
334
356
|
return {
|
|
335
357
|
uiState: taskListState.uiState,
|
|
336
358
|
filters: taskListState.filters,
|
|
359
|
+
subtaskIdsByParentTaskId: taskListState.subtaskIdsByParentTaskId,
|
|
337
360
|
taskGroupTemplates,
|
|
338
361
|
fetchState: fetchState,
|
|
339
362
|
userList: getUserList(userState, userRoleState, userListViewState, 'taskManagerCandidate'),
|
package/lib/index.d.ts
CHANGED
|
@@ -123,7 +123,7 @@ import { PriorityCodeType, Task, TaskCodeType, TaskPriority, TaskStatus, TaskSta
|
|
|
123
123
|
import { getTaskGroupById } from './entity/taskGroup/taskGroupSelector';
|
|
124
124
|
import { TaskGroupState } from './entity/taskGroup/taskGroupState';
|
|
125
125
|
import { TaskGroupTemplate } from './entity/taskGroupTemplate/taskGroupTemplateState';
|
|
126
|
-
import { DoSignInPayload, clearAll, doMagicLinkSignIn, doSignIn, doSignOut,
|
|
126
|
+
import { DoSignInPayload, clearAll, doMagicLinkSignIn, doSignIn, doSignOut, fetchActiveTenant, fetchAllTenants, fetchExcludedResources as fetchExcludedResourcesForTenant, fetchExternalConnections as fetchExternalConnectionsForTenant, fetchSubscriptionSummaryForTenant, resendVerifyDeviceOTP, resetSignInState, saveExternalConnection as saveExternalConnectionForTenant, sendEmailMagicLinkToUser, updateCurrentTenant, updateSignInState, verifyDeviceWithTwoFA } from './entity/tenant/tenantReducer';
|
|
127
127
|
import { CurrentTenant, TenantBaseView, TenantCoreDetailsView, TenantView, TenantsBaseOrdered, TenantsOrdered, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantBaseById, getTenantBaseViewForTenantId, getTenantBaseViewForTenantView, getTenantsBaseByCheckInDateSelector, getTenantsByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, isOtherProductsEnabledForTenant, isTenantBankingOnly, isTenantBookkeepingEnabled, isTenantCardsOnly, isTenantUsingZeniCOA, isZeniDomainTenant, toTenantCoreDetailsView } from './entity/tenant/tenantSelector';
|
|
128
128
|
import { Connection, LoggedInUser, RoleResource, Tenant, TenantProductSettings } from './entity/tenant/tenantState';
|
|
129
129
|
import { ToastNotificationPayload } from './entity/toastNotification/toastNotificationPayload';
|
|
@@ -643,7 +643,7 @@ export { TimeframeTick, TimeframeTickWithMetaData, toTimeframeTick, mapTimePerio
|
|
|
643
643
|
export { VendorSpendTrendFilterTabType, toVendorSpendTrendFilterTabsTypeStrict, } from './entity/vendorExpense/vendorExpenseSelector';
|
|
644
644
|
export { getNumberOfPeriods };
|
|
645
645
|
export { SCHEDULE_DAYS_OF_MONTH, ScheduleDaysOfMonth, toScheduleDaysOfMonth, Day, Month, toMonth, toMonthStrict, Quarter, toQuarter, toQuarterStrict, AbsoluteDay, TimePeriod, };
|
|
646
|
-
export { Tenant, TenantView, LoggedInUser, TenantBaseView, CurrentTenant, TenantProductSettings, getTenantBaseById, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, TenantsBaseOrdered, TenantsOrdered, TenantCoreDetailsView, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doMagicLinkSignIn, verifyDeviceWithTwoFA, resendVerifyDeviceOTP, sendEmailMagicLinkToUser, doSignIn, updateSignInState, DoSignInPayload, doSignOut,
|
|
646
|
+
export { Tenant, TenantView, LoggedInUser, TenantBaseView, CurrentTenant, TenantProductSettings, getTenantBaseById, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, TenantsBaseOrdered, TenantsOrdered, TenantCoreDetailsView, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doMagicLinkSignIn, verifyDeviceWithTwoFA, resendVerifyDeviceOTP, sendEmailMagicLinkToUser, doSignIn, updateSignInState, DoSignInPayload, doSignOut, resetSignInState, RoleResource, Connection, fetchExcludedResourcesForTenant, fetchExternalConnectionsForTenant, saveExternalConnectionForTenant, fetchSubscriptionSummaryForTenant, isTenantBankingOnly, isTenantCardsOnly, isTenantBookkeepingEnabled, isOtherProductsEnabledForTenant, };
|
|
647
647
|
export { Account, AccountType, AccountBase, StatementCloseDay, toAccountType, AccountReport, NestedAccountReport, AccountWithBalanceReport, AccountGroup, AccountGroupReportV2, AccountGroupType, toAccountGroupType, AccountGroupReport, getAccountGroupKey, AccountGroupKey, RecommendedAccountBase, };
|
|
648
648
|
export { Class, ClassBase, RecommendedClassBase, } from './entity/class/classState';
|
|
649
649
|
export { getClassById } from './entity/class/classSelector';
|
|
@@ -901,6 +901,3 @@ export { BULK_UPLOAD_AUTOMATCHING_TIMEOUT_MS, BULK_UPLOAD_BAR_COMPLETE_HOLD_MS,
|
|
|
901
901
|
export { fetchTransactionActivityLog } from './view/transactionActivityLogView/transactionActivityLogViewReducer';
|
|
902
902
|
export { TransactionActivityLogViewSelectorView, getTransactionActivityLogView, } from './view/transactionActivityLogView/transactionActivityLogViewSelector';
|
|
903
903
|
export { UserGroup } from './entity/userGroups/userGroupsState';
|
|
904
|
-
export { SessionManager } from './entity/tenant/SessionManager';
|
|
905
|
-
export type { SessionCallbacks, SessionConfig } from './entity/tenant/sessionTypes';
|
|
906
|
-
export { DEFAULT_SESSION_CONFIG } from './entity/tenant/sessionTypes';
|