@zeniai/client-epic-state 4.10.6 → 4.10.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/lib/commonPayloadTypes/commonPayload.d.ts +8 -0
  2. package/lib/commonPayloadTypes/commonPayload.js +20 -0
  3. package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
  4. package/lib/commonStateTypes/viewAndReport/viewAndReport.js +1 -0
  5. package/lib/entity/account/accountState.d.ts +1 -1
  6. package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
  7. package/lib/entity/class/classReducer.d.ts +4 -4
  8. package/lib/entity/class/classState.d.ts +1 -1
  9. package/lib/entity/forecast/forecastState.d.ts +1 -1
  10. package/lib/entity/notification/notificationPayload.d.ts +46 -0
  11. package/lib/entity/notification/notificationPayload.js +144 -0
  12. package/lib/entity/notification/notificationReducer.d.ts +20 -0
  13. package/lib/entity/notification/notificationReducer.js +118 -0
  14. package/lib/entity/notification/notificationSelector.d.ts +9 -0
  15. package/lib/entity/notification/notificationSelector.js +36 -0
  16. package/lib/entity/notification/notificationState.d.ts +7 -0
  17. package/lib/entity/notification/notificationState.js +2 -0
  18. package/lib/entity/notification/types/notificationSelectorTypes.d.ts +8 -0
  19. package/lib/entity/notification/types/notificationSelectorTypes.js +2 -0
  20. package/lib/entity/notification/types/notificationStateTypes.d.ts +50 -0
  21. package/lib/entity/notification/types/notificationStateTypes.js +2 -0
  22. package/lib/entity/notification/types/notificationTypes.d.ts +24 -0
  23. package/lib/entity/notification/types/notificationTypes.js +58 -0
  24. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  25. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  26. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  27. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  28. package/lib/entity/snackbar/snackbarTypes.js +1 -0
  29. package/lib/entity/tenant/clearAllEpic.d.ts +4 -2
  30. package/lib/entity/tenant/clearAllEpic.js +5 -1
  31. package/lib/epic.d.ts +7 -3
  32. package/lib/epic.js +5 -1
  33. package/lib/index.d.ts +10 -2
  34. package/lib/index.js +29 -8
  35. package/lib/reducer.d.ts +6 -0
  36. package/lib/reducer.js +6 -0
  37. package/lib/view/auditReportView/auditReportViewState.d.ts +2 -2
  38. package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
  39. package/lib/view/cardBalance/cardBalanceSelector.d.ts +1 -1
  40. package/lib/view/cashBalance/cashBalanceSelector.d.ts +1 -1
  41. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
  42. package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
  43. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  44. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  45. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
  46. package/lib/view/notificationView/epics/fetchNotificationUnreadCountEpic.d.ts +10 -0
  47. package/lib/view/notificationView/epics/fetchNotificationUnreadCountEpic.js +39 -0
  48. package/lib/view/notificationView/epics/fetchNotificationViewEpic.d.ts +9 -0
  49. package/lib/view/notificationView/epics/fetchNotificationViewEpic.js +56 -0
  50. package/lib/view/notificationView/epics/updateNotificationViewAllNotificationsStatusEpic.d.ts +9 -0
  51. package/lib/view/notificationView/epics/updateNotificationViewAllNotificationsStatusEpic.js +50 -0
  52. package/lib/view/notificationView/epics/updateNotificationViewNotificationStatusEpic.d.ts +9 -0
  53. package/lib/view/notificationView/epics/updateNotificationViewNotificationStatusEpic.js +86 -0
  54. package/lib/view/notificationView/notificationView.helpers.d.ts +2 -0
  55. package/lib/view/notificationView/notificationView.helpers.js +11 -0
  56. package/lib/view/notificationView/notificationViewPayload.d.ts +48 -0
  57. package/lib/view/notificationView/notificationViewPayload.js +2 -0
  58. package/lib/view/notificationView/notificationViewReducer.d.ts +64 -0
  59. package/lib/view/notificationView/notificationViewReducer.js +372 -0
  60. package/lib/view/notificationView/notificationViewSelector.d.ts +29 -0
  61. package/lib/view/notificationView/notificationViewSelector.js +89 -0
  62. package/lib/view/notificationView/notificationViewState.d.ts +31 -0
  63. package/lib/view/notificationView/notificationViewState.js +19 -0
  64. package/lib/view/people/changeZeniPersonRolesEpic.d.ts +1 -1
  65. package/lib/view/people/deletePersonEpic.d.ts +1 -1
  66. package/lib/view/people/invitePeopleEpic.d.ts +1 -1
  67. package/lib/view/people/inviteZeniPeopleEpic.d.ts +1 -1
  68. package/lib/view/people/resendInviteEpic.d.ts +1 -1
  69. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
  70. package/lib/view/settingsView/epic/saveNotificationSettingsEpic.d.ts +1 -1
  71. package/lib/view/taskManager/taskDetailView/epics/fetchTaskDetailEpic.d.ts +2 -1
  72. package/lib/view/taskManager/taskDetailView/epics/fetchTaskDetailEpic.js +37 -5
  73. package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
  74. package/lib/view/topEx/topExSelector.d.ts +1 -1
  75. package/lib/view/zeniAccountsPromoCard/zeniAccountsPromoCardSelector.d.ts +1 -1
  76. package/lib/zeniAPI.d.ts +2 -0
  77. package/lib/zeniAPI.js +8 -0
  78. package/package.json +2 -1
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapNotificationPayloadToNotification = void 0;
4
+ const zeniDayJS_1 = require("../../zeniDayJS");
5
+ const commonPayload_1 = require("../../commonPayloadTypes/commonPayload");
6
+ const notificationTypes_1 = require("./types/notificationTypes");
7
+ /**
8
+ * Helpers
9
+ */
10
+ const toNotificationUpdates = (payload) => {
11
+ const { field, type, old_value, new_value } = payload;
12
+ const oldValue = {
13
+ text: '',
14
+ list: [],
15
+ codeNamePair: null,
16
+ };
17
+ const newValue = {
18
+ text: '',
19
+ list: [],
20
+ codeNamePair: null,
21
+ };
22
+ const updateType = (0, notificationTypes_1.toNotificationUpdateValueType)(type);
23
+ const oldValuePayload = old_value;
24
+ const newValuePayload = new_value;
25
+ switch (updateType) {
26
+ case 'list':
27
+ if (oldValuePayload != null && Array.isArray(oldValuePayload) === false) {
28
+ console.warn(`Invalid old_value - ${oldValuePayload} for type - ${type}`);
29
+ }
30
+ else {
31
+ oldValue[updateType] = Array.isArray(oldValuePayload)
32
+ ? oldValuePayload
33
+ : [];
34
+ }
35
+ if (newValuePayload != null && Array.isArray(newValuePayload) === false) {
36
+ console.warn(`Invalid new_value - ${newValuePayload} for type - ${type}`);
37
+ }
38
+ else {
39
+ newValue[updateType] = Array.isArray(newValuePayload)
40
+ ? newValuePayload
41
+ : [];
42
+ }
43
+ break;
44
+ case 'code_name_pair':
45
+ if (oldValuePayload != null &&
46
+ (0, commonPayload_1.isAllowedValueWithCodeOptionalPayload)(oldValuePayload) === false) {
47
+ console.warn(`Invalid old_value - ${oldValuePayload} for type - ${type}`);
48
+ }
49
+ else {
50
+ oldValue['codeNamePair'] =
51
+ oldValuePayload != null &&
52
+ (0, commonPayload_1.isAllowedValueWithCodePayload)(oldValuePayload)
53
+ ? (0, commonPayload_1.toAllowedValueWithCode)(oldValuePayload)
54
+ : null;
55
+ }
56
+ if (newValuePayload != null &&
57
+ (0, commonPayload_1.isAllowedValueWithCodeOptionalPayload)(newValuePayload) === false) {
58
+ console.warn(`Invalid new_value - ${newValuePayload} for type - ${type}`);
59
+ }
60
+ else {
61
+ newValue['codeNamePair'] =
62
+ newValuePayload != null &&
63
+ (0, commonPayload_1.isAllowedValueWithCodePayload)(newValuePayload)
64
+ ? (0, commonPayload_1.toAllowedValueWithCode)(newValuePayload)
65
+ : null;
66
+ }
67
+ break;
68
+ case 'string':
69
+ default:
70
+ if (oldValuePayload != null && typeof oldValuePayload !== 'string') {
71
+ console.warn(`Invalid old_value - ${oldValuePayload} for type - ${type}`);
72
+ }
73
+ else {
74
+ oldValue['text'] = oldValuePayload == null ? '' : oldValuePayload;
75
+ }
76
+ if (newValuePayload != null && typeof newValuePayload !== 'string') {
77
+ console.warn(`Invalid new_value - ${newValuePayload} for type - ${type}`);
78
+ }
79
+ else {
80
+ newValue['text'] = newValuePayload == null ? '' : newValuePayload;
81
+ }
82
+ break;
83
+ }
84
+ return {
85
+ field,
86
+ type: updateType,
87
+ oldValue,
88
+ newValue,
89
+ };
90
+ };
91
+ const toNotificationAdditionalInfo = (payload) => {
92
+ if (payload == null) {
93
+ return null;
94
+ }
95
+ const { due_date } = payload;
96
+ return { dueDate: (0, zeniDayJS_1.dateInUTC)(due_date) };
97
+ };
98
+ const toNotificationMetaData = (payload) => {
99
+ const { tags, event_description, event_title, event_status, updates, additional_info, } = payload;
100
+ return {
101
+ tags,
102
+ eventDescription: event_description,
103
+ eventTitle: event_title,
104
+ eventStatus: event_status != null && (0, commonPayload_1.isAllowedValueWithCodePayload)(event_status)
105
+ ? (0, commonPayload_1.toAllowedValueWithCode)(event_status)
106
+ : undefined,
107
+ updates: updates.map((update) => toNotificationUpdates(update)),
108
+ additionalInfo: toNotificationAdditionalInfo(additional_info),
109
+ };
110
+ };
111
+ const toNotificationActivity = (payload) => {
112
+ const { activity_type, metadata } = payload;
113
+ return {
114
+ activityType: (0, notificationTypes_1.toNotificationActivityType)(activity_type),
115
+ metadata: toNotificationMetaData(metadata),
116
+ };
117
+ };
118
+ const toNotificationEventData = (payload) => {
119
+ const { entity_id, create_timestamp, title, description, authors, activities } = payload;
120
+ return {
121
+ entitiyId: entity_id,
122
+ createTimestamp: (0, zeniDayJS_1.dateInUTC)(create_timestamp),
123
+ title,
124
+ description: description !== null && description !== void 0 ? description : '',
125
+ authorIds: authors.map((author) => author.user_id),
126
+ activities: activities.map((activity) => toNotificationActivity(activity)),
127
+ };
128
+ };
129
+ const mapNotificationPayloadToNotification = (payload) => {
130
+ const { notification_identifier, user_notification_id, create_time, update_time, status, mode, tenant_id, user_id, notification_group, data, } = payload;
131
+ return {
132
+ notificationId: user_notification_id,
133
+ notificationIdentifier: (0, notificationTypes_1.toNotificationIdentifier)(notification_identifier),
134
+ updateTime: (0, zeniDayJS_1.dateInUTC)(update_time),
135
+ createTime: (0, zeniDayJS_1.dateInUTC)(create_time),
136
+ status: (0, notificationTypes_1.toNotificationStatus)(status),
137
+ mode: (0, notificationTypes_1.toNotificationMode)(mode),
138
+ tenantId: tenant_id,
139
+ userId: user_id,
140
+ notificationGroup: (0, notificationTypes_1.toNotificationGroup)(notification_group),
141
+ eventData: toNotificationEventData(data),
142
+ };
143
+ };
144
+ exports.mapNotificationPayloadToNotification = mapNotificationPayloadToNotification;
@@ -0,0 +1,20 @@
1
+ import { CoreNotificationData } from '@cord-sdk/types';
2
+ import { UpdateType } from '../../commonStateTypes/common';
3
+ import { NotificationPayload } from './notificationPayload';
4
+ import { NotificationState } from './notificationState';
5
+ export declare const initialState: NotificationState;
6
+ export declare const updateAllNotifications: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[notifications: NotificationPayload[], updateType?: UpdateType | undefined], {
7
+ notifications: NotificationPayload[];
8
+ updateType: UpdateType;
9
+ }, string, never, never>, updateNotificationsStatuses: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[notificationIds: string[], newStatus: "unread" | "read"], {
10
+ notificationIds: string[];
11
+ newStatus: "unread" | "read";
12
+ }, string, never, never>, updateCommentsNotifications: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[notifications: CoreNotificationData[], updateType?: UpdateType | undefined], {
13
+ notifications: CoreNotificationData[];
14
+ updateType: UpdateType;
15
+ }, string, never, never>, updateCommentsNotificationsStatuses: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[notificationIds: string[], newStatus: "unread" | "read"], {
16
+ notificationIds: string[];
17
+ newStatus: "unread" | "read";
18
+ }, string, never, never>, removeNotification: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, removeCommentNotification: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, clearAllNotifications: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
19
+ declare const _default: import("@reduxjs/toolkit").Reducer<NotificationState, import("@reduxjs/toolkit").AnyAction>;
20
+ export default _default;
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ var _a;
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.clearAllNotifications = exports.removeCommentNotification = exports.removeNotification = exports.updateCommentsNotificationsStatuses = exports.updateCommentsNotifications = exports.updateNotificationsStatuses = exports.updateAllNotifications = exports.initialState = void 0;
8
+ const toolkit_1 = require("@reduxjs/toolkit");
9
+ const assignWith_1 = __importDefault(require("lodash/assignWith"));
10
+ const notificationPayload_1 = require("./notificationPayload");
11
+ exports.initialState = {
12
+ notificationById: {},
13
+ commentsNotificationById: {},
14
+ };
15
+ const notification = (0, toolkit_1.createSlice)({
16
+ name: 'notification',
17
+ initialState: exports.initialState,
18
+ reducers: {
19
+ updateAllNotifications: {
20
+ reducer(draft, action) {
21
+ doUpdateNotifications(draft.notificationById, action.payload.notifications, action.payload.updateType);
22
+ },
23
+ prepare(notifications, updateType = 'merge') {
24
+ return {
25
+ payload: {
26
+ notifications,
27
+ updateType,
28
+ },
29
+ };
30
+ },
31
+ },
32
+ updateNotificationsStatuses: {
33
+ reducer(draft, action) {
34
+ const { notificationIds, newStatus } = action.payload;
35
+ notificationIds.forEach((notificationId) => {
36
+ if (draft.notificationById[notificationId] != null) {
37
+ draft.notificationById[notificationId].status = newStatus;
38
+ }
39
+ });
40
+ },
41
+ prepare(notificationIds, newStatus) {
42
+ return {
43
+ payload: {
44
+ notificationIds,
45
+ newStatus,
46
+ },
47
+ };
48
+ },
49
+ },
50
+ updateCommentsNotifications: {
51
+ reducer(draft, action) {
52
+ doUpdateCommentsNotifications(draft.commentsNotificationById, action.payload.notifications, action.payload.updateType);
53
+ },
54
+ prepare(notifications, updateType = 'merge') {
55
+ return {
56
+ payload: {
57
+ notifications,
58
+ updateType,
59
+ },
60
+ };
61
+ },
62
+ },
63
+ updateCommentsNotificationsStatuses: {
64
+ reducer(draft, action) {
65
+ const { notificationIds, newStatus } = action.payload;
66
+ notificationIds.forEach((notificationId) => {
67
+ if (draft.commentsNotificationById[notificationId] != null) {
68
+ draft.commentsNotificationById[notificationId].readStatus =
69
+ newStatus;
70
+ }
71
+ });
72
+ },
73
+ prepare(notificationIds, newStatus) {
74
+ return {
75
+ payload: {
76
+ notificationIds,
77
+ newStatus,
78
+ },
79
+ };
80
+ },
81
+ },
82
+ removeNotification(draft, action) {
83
+ delete draft.notificationById[action.payload];
84
+ },
85
+ removeCommentNotification(draft, action) {
86
+ delete draft.commentsNotificationById[action.payload];
87
+ },
88
+ clearAllNotifications(draft) {
89
+ Object.assign(draft, exports.initialState);
90
+ },
91
+ },
92
+ });
93
+ _a = notification.actions, exports.updateAllNotifications = _a.updateAllNotifications, exports.updateNotificationsStatuses = _a.updateNotificationsStatuses, exports.updateCommentsNotifications = _a.updateCommentsNotifications, exports.updateCommentsNotificationsStatuses = _a.updateCommentsNotificationsStatuses, exports.removeNotification = _a.removeNotification, exports.removeCommentNotification = _a.removeCommentNotification, exports.clearAllNotifications = _a.clearAllNotifications;
94
+ exports.default = notification.reducer;
95
+ /**
96
+ * Helpers
97
+ */
98
+ const doUpdateNotifications = (draft, notifications, updateType) => {
99
+ notifications.forEach((notification) => {
100
+ const latestNotification = (0, notificationPayload_1.mapNotificationPayloadToNotification)(notification);
101
+ if (latestNotification.notificationId in draft && updateType === 'merge') {
102
+ (0, assignWith_1.default)(draft[latestNotification.notificationId], latestNotification, (objValue, srcValue) => srcValue !== null && srcValue !== void 0 ? srcValue : objValue); // IMPORTANT: replace the value only when source has valid value. Otherwise keep the existing value!);
103
+ }
104
+ else {
105
+ draft[latestNotification.notificationId] = latestNotification;
106
+ }
107
+ });
108
+ };
109
+ const doUpdateCommentsNotifications = (draft, notifications, updateType) => {
110
+ notifications.forEach((notification) => {
111
+ if (notification.id in draft && updateType === 'merge') {
112
+ (0, assignWith_1.default)(draft[notification.id], notification, (objValue, srcValue) => srcValue !== null && srcValue !== void 0 ? srcValue : objValue); // IMPORTANT: replace the value only when source has valid value. Otherwise keep the existing value!);
113
+ }
114
+ else {
115
+ draft[notification.id] = notification;
116
+ }
117
+ });
118
+ };
@@ -0,0 +1,9 @@
1
+ import { CoreNotificationData } from '@cord-sdk/types';
2
+ import { ID } from '../../commonStateTypes/common';
3
+ import { NotificationState } from './notificationState';
4
+ import { NotificationWithAuthors } from './types/notificationSelectorTypes';
5
+ import { UserState } from '../user/userState';
6
+ export declare function getNotificationsByNotificationIds(notificationState: NotificationState, userState: UserState, notificationIds: ID[]): NotificationWithAuthors[];
7
+ export declare function getNotificationByNotificationId(notificationState: NotificationState, userState: UserState, notificationId: ID): NotificationWithAuthors | undefined;
8
+ export declare function getCommentsNotificationsByNotificationIds(notificationState: NotificationState, notificationIds: ID[]): CoreNotificationData[];
9
+ export declare function getCommentsNotificationByNotificationId(notificationState: NotificationState, notificationId: ID): CoreNotificationData | undefined;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getCommentsNotificationByNotificationId = exports.getCommentsNotificationsByNotificationIds = exports.getNotificationByNotificationId = exports.getNotificationsByNotificationIds = void 0;
7
+ const omit_1 = __importDefault(require("lodash/omit"));
8
+ const userSelector_1 = require("../user/userSelector");
9
+ function getNotificationsByNotificationIds(notificationState, userState, notificationIds) {
10
+ const notifications = notificationIds
11
+ .map((notificationId) => getNotificationByNotificationId(notificationState, userState, notificationId))
12
+ .filter((value) => value != null);
13
+ return notifications;
14
+ }
15
+ exports.getNotificationsByNotificationIds = getNotificationsByNotificationIds;
16
+ function getNotificationByNotificationId(notificationState, userState, notificationId) {
17
+ const notification = notificationState.notificationById[notificationId];
18
+ if (notification != null) {
19
+ const notificationWithAuthors = Object.assign(Object.assign({}, notification), { eventData: Object.assign(Object.assign({}, (0, omit_1.default)(notification.eventData, ['authorIds'])), { authors: (0, userSelector_1.getUsersByUserIds)(userState, notification.eventData.authorIds) }) });
20
+ return notificationWithAuthors;
21
+ }
22
+ return undefined;
23
+ }
24
+ exports.getNotificationByNotificationId = getNotificationByNotificationId;
25
+ function getCommentsNotificationsByNotificationIds(notificationState, notificationIds) {
26
+ const notifications = notificationIds
27
+ .map((notificationId) => getCommentsNotificationByNotificationId(notificationState, notificationId))
28
+ .filter((value) => value != null);
29
+ return notifications;
30
+ }
31
+ exports.getCommentsNotificationsByNotificationIds = getCommentsNotificationsByNotificationIds;
32
+ function getCommentsNotificationByNotificationId(notificationState, notificationId) {
33
+ var _a;
34
+ return ((_a = notificationState.commentsNotificationById[notificationId]) !== null && _a !== void 0 ? _a : undefined);
35
+ }
36
+ exports.getCommentsNotificationByNotificationId = getCommentsNotificationByNotificationId;
@@ -0,0 +1,7 @@
1
+ import { CoreNotificationData } from '@cord-sdk/types';
2
+ import { ID } from '../../commonStateTypes/common';
3
+ import { Notification } from './types/notificationStateTypes';
4
+ export interface NotificationState {
5
+ notificationById: Record<ID, Notification>;
6
+ commentsNotificationById: Record<ID, CoreNotificationData>;
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ import { User } from '../../user/userState';
2
+ import { NotificationEventData, Notification } from './notificationStateTypes';
3
+ export interface NotificationEventDataWithAuthors extends Omit<NotificationEventData, 'authorIds'> {
4
+ authors: User[];
5
+ }
6
+ export interface NotificationWithAuthors extends Omit<Notification, 'eventData'> {
7
+ eventData: NotificationEventDataWithAuthors;
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,50 @@
1
+ import { ZeniDate } from '../../../zeniDayJS';
2
+ import { NotificationIdentifierType, NotificationStatus, NotificationMode, NotificationGroup, NotificationActivityType, NotificationUpdateValue } from './notificationTypes';
3
+ import { AllowedValueWithCode } from '../../../commonStateTypes/allowedValue';
4
+ import { ID } from '../../../commonStateTypes/common';
5
+ export interface NotificationValueFormat {
6
+ text: string;
7
+ list: string[];
8
+ codeNamePair: AllowedValueWithCode | null;
9
+ }
10
+ export interface NotificationUpdates {
11
+ field: string;
12
+ type: NotificationUpdateValue;
13
+ oldValue: NotificationValueFormat;
14
+ newValue: NotificationValueFormat;
15
+ }
16
+ export interface NotificationAdditionalInfo {
17
+ dueDate: ZeniDate;
18
+ }
19
+ export interface NotificationMetaData {
20
+ tags: string[];
21
+ eventDescription: string;
22
+ eventTitle: string;
23
+ eventStatus?: AllowedValueWithCode;
24
+ updates: NotificationUpdates[];
25
+ additionalInfo: NotificationAdditionalInfo | null;
26
+ }
27
+ export interface NotificationActivity {
28
+ activityType: NotificationActivityType;
29
+ metadata: NotificationMetaData;
30
+ }
31
+ export interface NotificationEventData {
32
+ entitiyId: ID;
33
+ createTimestamp: ZeniDate;
34
+ title: string;
35
+ description: string;
36
+ authorIds: ID[];
37
+ activities: NotificationActivity[];
38
+ }
39
+ export interface Notification {
40
+ notificationId: ID;
41
+ notificationIdentifier: NotificationIdentifierType;
42
+ updateTime: ZeniDate;
43
+ createTime: ZeniDate;
44
+ status: NotificationStatus;
45
+ mode: NotificationMode;
46
+ tenantId: ID;
47
+ userId: ID;
48
+ notificationGroup: NotificationGroup;
49
+ eventData: NotificationEventData;
50
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,24 @@
1
+ export declare const ALL_NOTIFICATION_GROUPS: readonly ["task_manager"];
2
+ export declare const toNotificationGroup: (v: string) => "task_manager";
3
+ export declare const toNotificationGroupStrict: (v: string) => "task_manager" | undefined;
4
+ export declare type NotificationGroup = ReturnType<typeof toNotificationGroup>;
5
+ export declare const ALL_NOTIFICATION_STATUSES: readonly ["read", "unread"];
6
+ export declare const toNotificationStatus: (v: string) => "unread" | "read";
7
+ export declare const toNotificationStatusStrict: (v: string) => "unread" | "read" | undefined;
8
+ export declare type NotificationStatus = ReturnType<typeof toNotificationStatus>;
9
+ export declare const ALL_NOTIFICATION_MODES: readonly ["dashboard", "email"];
10
+ export declare const toNotificationMode: (v: string) => "dashboard" | "email";
11
+ export declare const toNotificationModeStrict: (v: string) => "dashboard" | "email" | undefined;
12
+ export declare type NotificationMode = ReturnType<typeof toNotificationMode>;
13
+ export declare const ALL_TASK_MANAGER_NOTIFICATION_ACTIVITY_TYPES: readonly ["task_assigned", "task_status_updated", "task_activities", "task_created", "task_deleted", "task_archived", "task_due", "task_overdue"];
14
+ export declare const ALL_NOTIFICATION_ACTIVITY_TYPES: readonly ["task_assigned", "task_status_updated", "task_activities", "task_created", "task_deleted", "task_archived", "task_due", "task_overdue"];
15
+ export declare const toNotificationActivityType: (v: string) => "task_assigned" | "task_status_updated" | "task_activities" | "task_created" | "task_deleted" | "task_archived" | "task_due" | "task_overdue";
16
+ export declare const toNotificationActivityTypeStrict: (v: string) => "task_assigned" | "task_status_updated" | "task_activities" | "task_created" | "task_deleted" | "task_archived" | "task_due" | "task_overdue" | undefined;
17
+ export declare type NotificationActivityType = ReturnType<typeof toNotificationActivityType>;
18
+ export declare const ALL_NOTIFICATION_UPDATE_VALUE_TYPES: readonly ["string", "list", "code_name_pair"];
19
+ export declare const toNotificationUpdateValueType: (v: string) => "string" | "list" | "code_name_pair";
20
+ export declare const toNotificationUpdateValueTypeStrict: (v: string) => "string" | "list" | "code_name_pair" | undefined;
21
+ export declare type NotificationUpdateValue = ReturnType<typeof toNotificationUpdateValueType>;
22
+ export declare const getNotificationIdentifier: (notificationGroup: NotificationGroup, notificationType: NotificationActivityType) => "task_manager.task_assigned.notification" | "task_manager.task_status_updated.notification" | "task_manager.task_activities.notification" | "task_manager.task_created.notification" | "task_manager.task_deleted.notification" | "task_manager.task_archived.notification" | "task_manager.task_due.notification" | "task_manager.task_overdue.notification";
23
+ export declare type NotificationIdentifierType = ReturnType<typeof getNotificationIdentifier>;
24
+ export declare const toNotificationIdentifier: (notification_identifier: string) => NotificationIdentifierType;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toNotificationIdentifier = exports.getNotificationIdentifier = exports.toNotificationUpdateValueTypeStrict = exports.toNotificationUpdateValueType = exports.ALL_NOTIFICATION_UPDATE_VALUE_TYPES = exports.toNotificationActivityTypeStrict = exports.toNotificationActivityType = exports.ALL_NOTIFICATION_ACTIVITY_TYPES = exports.ALL_TASK_MANAGER_NOTIFICATION_ACTIVITY_TYPES = exports.toNotificationModeStrict = exports.toNotificationMode = exports.ALL_NOTIFICATION_MODES = exports.toNotificationStatusStrict = exports.toNotificationStatus = exports.ALL_NOTIFICATION_STATUSES = exports.toNotificationGroupStrict = exports.toNotificationGroup = exports.ALL_NOTIFICATION_GROUPS = void 0;
4
+ const stringToUnion_1 = require("../../../commonStateTypes/stringToUnion");
5
+ exports.ALL_NOTIFICATION_GROUPS = ['task_manager'];
6
+ const toNotificationGroup = (v) => (0, stringToUnion_1.stringToUnion)(v, exports.ALL_NOTIFICATION_GROUPS);
7
+ exports.toNotificationGroup = toNotificationGroup;
8
+ const toNotificationGroupStrict = (v) => (0, stringToUnion_1.stringToUnionStrict)(v, exports.ALL_NOTIFICATION_GROUPS);
9
+ exports.toNotificationGroupStrict = toNotificationGroupStrict;
10
+ exports.ALL_NOTIFICATION_STATUSES = ['read', 'unread'];
11
+ const toNotificationStatus = (v) => (0, stringToUnion_1.stringToUnion)(v, exports.ALL_NOTIFICATION_STATUSES);
12
+ exports.toNotificationStatus = toNotificationStatus;
13
+ const toNotificationStatusStrict = (v) => (0, stringToUnion_1.stringToUnionStrict)(v, exports.ALL_NOTIFICATION_STATUSES);
14
+ exports.toNotificationStatusStrict = toNotificationStatusStrict;
15
+ exports.ALL_NOTIFICATION_MODES = ['dashboard', 'email'];
16
+ const toNotificationMode = (v) => (0, stringToUnion_1.stringToUnion)(v, exports.ALL_NOTIFICATION_MODES);
17
+ exports.toNotificationMode = toNotificationMode;
18
+ const toNotificationModeStrict = (v) => (0, stringToUnion_1.stringToUnionStrict)(v, exports.ALL_NOTIFICATION_MODES);
19
+ exports.toNotificationModeStrict = toNotificationModeStrict;
20
+ exports.ALL_TASK_MANAGER_NOTIFICATION_ACTIVITY_TYPES = [
21
+ 'task_assigned',
22
+ 'task_status_updated',
23
+ 'task_activities',
24
+ 'task_created',
25
+ 'task_deleted',
26
+ 'task_archived',
27
+ 'task_due',
28
+ 'task_overdue',
29
+ ];
30
+ exports.ALL_NOTIFICATION_ACTIVITY_TYPES = [
31
+ ...exports.ALL_TASK_MANAGER_NOTIFICATION_ACTIVITY_TYPES, // We'll add more feature based lists here
32
+ ];
33
+ const toNotificationActivityType = (v) => (0, stringToUnion_1.stringToUnion)(v, exports.ALL_NOTIFICATION_ACTIVITY_TYPES);
34
+ exports.toNotificationActivityType = toNotificationActivityType;
35
+ const toNotificationActivityTypeStrict = (v) => (0, stringToUnion_1.stringToUnionStrict)(v, exports.ALL_NOTIFICATION_ACTIVITY_TYPES);
36
+ exports.toNotificationActivityTypeStrict = toNotificationActivityTypeStrict;
37
+ exports.ALL_NOTIFICATION_UPDATE_VALUE_TYPES = [
38
+ 'string',
39
+ 'list',
40
+ 'code_name_pair',
41
+ ];
42
+ const toNotificationUpdateValueType = (v) => (0, stringToUnion_1.stringToUnion)(v, exports.ALL_NOTIFICATION_UPDATE_VALUE_TYPES);
43
+ exports.toNotificationUpdateValueType = toNotificationUpdateValueType;
44
+ const toNotificationUpdateValueTypeStrict = (v) => (0, stringToUnion_1.stringToUnionStrict)(v, exports.ALL_NOTIFICATION_UPDATE_VALUE_TYPES);
45
+ exports.toNotificationUpdateValueTypeStrict = toNotificationUpdateValueTypeStrict;
46
+ const getNotificationIdentifier = (notificationGroup, notificationType) => `${notificationGroup}.${notificationType}.notification`;
47
+ exports.getNotificationIdentifier = getNotificationIdentifier;
48
+ const toNotificationIdentifier = (notification_identifier // Expected format from platform is - {notification_group}.{notification_type}.notification
49
+ ) => {
50
+ const notificationIdentifiers = notification_identifier.split('.');
51
+ if (notificationIdentifiers.length < 3 ||
52
+ notificationIdentifiers[2] !== 'notification') {
53
+ throw new Error(`Invalid notificationIdentifier received - ${notification_identifier}`);
54
+ }
55
+ const [notification_group, notification_type] = notificationIdentifiers;
56
+ return (0, exports.getNotificationIdentifier)((0, exports.toNotificationGroup)(notification_group), (0, exports.toNotificationActivityType)(notification_type));
57
+ };
58
+ exports.toNotificationIdentifier = toNotificationIdentifier;
@@ -10,5 +10,5 @@ export interface SectionAccountsView {
10
10
  nestedAccountIds: NestedAccountIDHierarchy[];
11
11
  accountGroupKeys: AccountGroupKey[];
12
12
  }
13
- export declare function getSectionAccountViewKey(sectionId: ID, reportId: ReportIDPlusForecastID): `${string}-cash_balance` | `${string}-card_balance` | `${string}-operating_expenses` | `${string}-operating_expenses_by_classes` | `${string}-revenue` | `${string}-revenue_by_classes` | `${string}-net_burn_or_income` | `${string}-net_burn_or_income_story_card` | `${string}-net_burn_or_income_by_classes` | `${string}-cash_position` | `${string}-top_expenses` | `${string}-profit_and_loss` | `${string}-profit_and_loss_by_classes` | `${string}-balance_sheet` | `${string}-cash_flow` | `${string}-dashboard` | `${string}-finance_statement` | `${string}-transaction_list_of_account` | `${string}-transaction_list_missing_receipt` | `${string}-transaction_list_of_account_by_class` | `${string}-transaction_detail` | `${string}-cash_in_cash_out` | `${string}-insights_dashboard` | `${string}-company_details` | `${string}-class_list` | `${string}-account_list` | `${string}-account_list_by_type` | `${string}-vendor` | `${string}-task_card` | `${string}-bill_pay` | `${string}-reimbursement` | `${string}-bill_pay_card` | `${string}-reimbursement_card` | `${string}-bill_pay_promo_card` | `${string}-zeni_accounts` | `${string}-zeni_accounts_promo_card` | `${string}-charge_cards` | `${string}-reimbursement_promo_card` | `${string}-onboarding` | `${string}-operating_expenses_by_vendor` | `${string}-operating_expenses_by_vendor_summary` | `${string}-vendors_tab` | `${string}-accounts_payable_aging` | `${string}-accounts_receivable_aging` | `${string}-vendor_global_review` | `${string}-prepaid_expenses` | `${string}-fixed_assets` | `${string}-cash_balance+${string}` | `${string}-card_balance+${string}` | `${string}-operating_expenses+${string}` | `${string}-operating_expenses_by_classes+${string}` | `${string}-revenue+${string}` | `${string}-revenue_by_classes+${string}` | `${string}-net_burn_or_income+${string}` | `${string}-net_burn_or_income_story_card+${string}` | `${string}-net_burn_or_income_by_classes+${string}` | `${string}-cash_position+${string}` | `${string}-top_expenses+${string}` | `${string}-profit_and_loss+${string}` | `${string}-profit_and_loss_by_classes+${string}` | `${string}-balance_sheet+${string}` | `${string}-cash_flow+${string}` | `${string}-dashboard+${string}` | `${string}-finance_statement+${string}` | `${string}-transaction_list_of_account+${string}` | `${string}-transaction_list_missing_receipt+${string}` | `${string}-transaction_list_of_account_by_class+${string}` | `${string}-transaction_detail+${string}` | `${string}-cash_in_cash_out+${string}` | `${string}-insights_dashboard+${string}` | `${string}-company_details+${string}` | `${string}-class_list+${string}` | `${string}-account_list+${string}` | `${string}-account_list_by_type+${string}` | `${string}-vendor+${string}` | `${string}-task_card+${string}` | `${string}-bill_pay+${string}` | `${string}-reimbursement+${string}` | `${string}-bill_pay_card+${string}` | `${string}-reimbursement_card+${string}` | `${string}-bill_pay_promo_card+${string}` | `${string}-zeni_accounts+${string}` | `${string}-zeni_accounts_promo_card+${string}` | `${string}-charge_cards+${string}` | `${string}-reimbursement_promo_card+${string}` | `${string}-onboarding+${string}` | `${string}-operating_expenses_by_vendor+${string}` | `${string}-operating_expenses_by_vendor_summary+${string}` | `${string}-vendors_tab+${string}` | `${string}-accounts_payable_aging+${string}` | `${string}-accounts_receivable_aging+${string}` | `${string}-vendor_global_review+${string}` | `${string}-prepaid_expenses+${string}` | `${string}-fixed_assets+${string}`;
13
+ export declare function getSectionAccountViewKey(sectionId: ID, reportId: ReportIDPlusForecastID): `${string}-cash_balance` | `${string}-card_balance` | `${string}-operating_expenses` | `${string}-operating_expenses_by_classes` | `${string}-revenue` | `${string}-revenue_by_classes` | `${string}-net_burn_or_income` | `${string}-net_burn_or_income_story_card` | `${string}-net_burn_or_income_by_classes` | `${string}-cash_position` | `${string}-top_expenses` | `${string}-profit_and_loss` | `${string}-profit_and_loss_by_classes` | `${string}-balance_sheet` | `${string}-cash_flow` | `${string}-dashboard` | `${string}-finance_statement` | `${string}-transaction_list_of_account` | `${string}-transaction_list_missing_receipt` | `${string}-transaction_list_of_account_by_class` | `${string}-transaction_detail` | `${string}-cash_in_cash_out` | `${string}-insights_dashboard` | `${string}-company_details` | `${string}-class_list` | `${string}-account_list` | `${string}-account_list_by_type` | `${string}-vendor` | `${string}-task_card` | `${string}-bill_pay` | `${string}-reimbursement` | `${string}-bill_pay_card` | `${string}-reimbursement_card` | `${string}-bill_pay_promo_card` | `${string}-zeni_accounts` | `${string}-zeni_accounts_promo_card` | `${string}-charge_cards` | `${string}-reimbursement_promo_card` | `${string}-onboarding` | `${string}-operating_expenses_by_vendor` | `${string}-operating_expenses_by_vendor_summary` | `${string}-vendors_tab` | `${string}-accounts_payable_aging` | `${string}-accounts_receivable_aging` | `${string}-vendor_global_review` | `${string}-prepaid_expenses` | `${string}-fixed_assets` | `${string}-notification` | `${string}-cash_balance+${string}` | `${string}-card_balance+${string}` | `${string}-operating_expenses+${string}` | `${string}-operating_expenses_by_classes+${string}` | `${string}-revenue+${string}` | `${string}-revenue_by_classes+${string}` | `${string}-net_burn_or_income+${string}` | `${string}-net_burn_or_income_story_card+${string}` | `${string}-net_burn_or_income_by_classes+${string}` | `${string}-cash_position+${string}` | `${string}-top_expenses+${string}` | `${string}-profit_and_loss+${string}` | `${string}-profit_and_loss_by_classes+${string}` | `${string}-balance_sheet+${string}` | `${string}-cash_flow+${string}` | `${string}-dashboard+${string}` | `${string}-finance_statement+${string}` | `${string}-transaction_list_of_account+${string}` | `${string}-transaction_list_missing_receipt+${string}` | `${string}-transaction_list_of_account_by_class+${string}` | `${string}-transaction_detail+${string}` | `${string}-cash_in_cash_out+${string}` | `${string}-insights_dashboard+${string}` | `${string}-company_details+${string}` | `${string}-class_list+${string}` | `${string}-account_list+${string}` | `${string}-account_list_by_type+${string}` | `${string}-vendor+${string}` | `${string}-task_card+${string}` | `${string}-bill_pay+${string}` | `${string}-reimbursement+${string}` | `${string}-bill_pay_card+${string}` | `${string}-reimbursement_card+${string}` | `${string}-bill_pay_promo_card+${string}` | `${string}-zeni_accounts+${string}` | `${string}-zeni_accounts_promo_card+${string}` | `${string}-charge_cards+${string}` | `${string}-reimbursement_promo_card+${string}` | `${string}-onboarding+${string}` | `${string}-operating_expenses_by_vendor+${string}` | `${string}-operating_expenses_by_vendor_summary+${string}` | `${string}-vendors_tab+${string}` | `${string}-accounts_payable_aging+${string}` | `${string}-accounts_receivable_aging+${string}` | `${string}-vendor_global_review+${string}` | `${string}-prepaid_expenses+${string}` | `${string}-fixed_assets+${string}` | `${string}-notification+${string}`;
14
14
  export declare type SectionAccountKey = ReturnType<typeof getSectionAccountViewKey>;
@@ -8,5 +8,5 @@ export interface SectionClassesView {
8
8
  nestedClassesIds: NestedClassIDHierarchy[];
9
9
  balancesByPeriod?: COABalanceGroupedByPeriod;
10
10
  }
11
- export declare function getSectionClassesViewKey(sectionId: ID, reportId: ReportID): `${string}-cash_balance` | `${string}-card_balance` | `${string}-operating_expenses` | `${string}-operating_expenses_by_classes` | `${string}-revenue` | `${string}-revenue_by_classes` | `${string}-net_burn_or_income` | `${string}-net_burn_or_income_story_card` | `${string}-net_burn_or_income_by_classes` | `${string}-cash_position` | `${string}-top_expenses` | `${string}-profit_and_loss` | `${string}-profit_and_loss_by_classes` | `${string}-balance_sheet` | `${string}-cash_flow` | `${string}-dashboard` | `${string}-finance_statement` | `${string}-transaction_list_of_account` | `${string}-transaction_list_missing_receipt` | `${string}-transaction_list_of_account_by_class` | `${string}-transaction_detail` | `${string}-cash_in_cash_out` | `${string}-insights_dashboard` | `${string}-company_details` | `${string}-class_list` | `${string}-account_list` | `${string}-account_list_by_type` | `${string}-vendor` | `${string}-task_card` | `${string}-bill_pay` | `${string}-reimbursement` | `${string}-bill_pay_card` | `${string}-reimbursement_card` | `${string}-bill_pay_promo_card` | `${string}-zeni_accounts` | `${string}-zeni_accounts_promo_card` | `${string}-charge_cards` | `${string}-reimbursement_promo_card` | `${string}-onboarding` | `${string}-operating_expenses_by_vendor` | `${string}-operating_expenses_by_vendor_summary` | `${string}-vendors_tab` | `${string}-accounts_payable_aging` | `${string}-accounts_receivable_aging` | `${string}-vendor_global_review` | `${string}-prepaid_expenses` | `${string}-fixed_assets`;
11
+ export declare function getSectionClassesViewKey(sectionId: ID, reportId: ReportID): `${string}-cash_balance` | `${string}-card_balance` | `${string}-operating_expenses` | `${string}-operating_expenses_by_classes` | `${string}-revenue` | `${string}-revenue_by_classes` | `${string}-net_burn_or_income` | `${string}-net_burn_or_income_story_card` | `${string}-net_burn_or_income_by_classes` | `${string}-cash_position` | `${string}-top_expenses` | `${string}-profit_and_loss` | `${string}-profit_and_loss_by_classes` | `${string}-balance_sheet` | `${string}-cash_flow` | `${string}-dashboard` | `${string}-finance_statement` | `${string}-transaction_list_of_account` | `${string}-transaction_list_missing_receipt` | `${string}-transaction_list_of_account_by_class` | `${string}-transaction_detail` | `${string}-cash_in_cash_out` | `${string}-insights_dashboard` | `${string}-company_details` | `${string}-class_list` | `${string}-account_list` | `${string}-account_list_by_type` | `${string}-vendor` | `${string}-task_card` | `${string}-bill_pay` | `${string}-reimbursement` | `${string}-bill_pay_card` | `${string}-reimbursement_card` | `${string}-bill_pay_promo_card` | `${string}-zeni_accounts` | `${string}-zeni_accounts_promo_card` | `${string}-charge_cards` | `${string}-reimbursement_promo_card` | `${string}-onboarding` | `${string}-operating_expenses_by_vendor` | `${string}-operating_expenses_by_vendor_summary` | `${string}-vendors_tab` | `${string}-accounts_payable_aging` | `${string}-accounts_receivable_aging` | `${string}-vendor_global_review` | `${string}-prepaid_expenses` | `${string}-fixed_assets` | `${string}-notification`;
12
12
  export declare type SectionClassesKey = ReturnType<typeof getSectionClassesViewKey>;
@@ -4,9 +4,9 @@ import { SectionClassesViewStateV2 } from './sectionClassesViewState';
4
4
  import { CurrencyPayload } from '../../commonPayloadTypes/v2/viewAndReportPayloadv2';
5
5
  import { SectionByClassCOABalanceGroupedPayloadV2 } from '../../commonPayloadTypes/classesView/reportByClassPayloadV2';
6
6
  export declare const initialState: SectionClassesViewStateV2;
7
- export declare const updateSectionClassesView: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[timeframe: "month" | "year" | "quarter", sectionId: string, reportId: "cash_balance" | "card_balance" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "charge_cards" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets", sectionPayload: SectionByClassCOABalanceGroupedPayloadV2, classesMetadataPayload: ClassMetadataPayload[], accountsMetadataPayload: AccountMetadataPayload[], currencyPayload: CurrencyPayload], {
7
+ export declare const updateSectionClassesView: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[timeframe: "month" | "year" | "quarter", sectionId: string, reportId: "cash_balance" | "card_balance" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "charge_cards" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification", sectionPayload: SectionByClassCOABalanceGroupedPayloadV2, classesMetadataPayload: ClassMetadataPayload[], accountsMetadataPayload: AccountMetadataPayload[], currencyPayload: CurrencyPayload], {
8
8
  timeframe: "month" | "year" | "quarter";
9
- reportId: "cash_balance" | "card_balance" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "charge_cards" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets";
9
+ reportId: "cash_balance" | "card_balance" | "operating_expenses" | "operating_expenses_by_classes" | "revenue" | "revenue_by_classes" | "net_burn_or_income" | "net_burn_or_income_story_card" | "net_burn_or_income_by_classes" | "cash_position" | "top_expenses" | "profit_and_loss" | "profit_and_loss_by_classes" | "balance_sheet" | "cash_flow" | "dashboard" | "finance_statement" | "transaction_list_of_account" | "transaction_list_missing_receipt" | "transaction_list_of_account_by_class" | "transaction_detail" | "cash_in_cash_out" | "insights_dashboard" | "company_details" | "class_list" | "account_list" | "account_list_by_type" | "vendor" | "task_card" | "bill_pay" | "reimbursement" | "bill_pay_card" | "reimbursement_card" | "bill_pay_promo_card" | "zeni_accounts" | "zeni_accounts_promo_card" | "charge_cards" | "reimbursement_promo_card" | "onboarding" | "operating_expenses_by_vendor" | "operating_expenses_by_vendor_summary" | "vendors_tab" | "accounts_payable_aging" | "accounts_receivable_aging" | "vendor_global_review" | "prepaid_expenses" | "fixed_assets" | "notification";
10
10
  sectionId: string;
11
11
  sectionPayload: SectionByClassCOABalanceGroupedPayloadV2;
12
12
  classesMetadataPayload: ClassMetadataPayload[];
@@ -1,4 +1,4 @@
1
- export declare const toSnackbarMessageSection: (v: string) => "common" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_setup" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "bill_pay_setup" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "zeni_account_accept_term" | "update_vendor" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "charge_card_setup" | "charge_card_accept_term" | "create_schedule" | "save_schedule" | "delete_schedule" | "save_task_detail" | "delete_task" | "archive_task" | "update_charge_card" | "issue_charge_card" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "settings_accounting_accounts_updated";
1
+ export declare const toSnackbarMessageSection: (v: string) => "common" | "transactionDetails_updatingPastTransactions" | "transactionDetails_transactionUpdated" | "cockpit_month_end_email_sent" | "cockpit_month_end_email_save" | "cockpit_month_end_email_attachment_upload" | "people_invite_people" | "people_invite_multiple_people" | "people_delete_person" | "people_update_person" | "reimbursement_updated" | "reimbursement_deleted" | "reimbursement_cancelled_deleted" | "reimbursement_cancelled" | "reimbursement_approved" | "reimbursement_rejected" | "reimbursement_sent_for_approval" | "account_added" | "business_verification_save" | "business_verification_submit" | "business_verification_from_bills_submit" | "plaid_connection" | "unlink_deposit_account" | "reimbursement_setup" | "reimbursement_approval_create" | "reimbursement_duplicate_approval_create" | "reimbursement_approval_update" | "reimbursement_duplicate_approval_update" | "reimbursement_approval_delete" | "reimbursement_create_mileage" | "reimbursement_update_mileage" | "reimbursement_accept_term" | "reimbursement_accept_employee_term" | "bill_pay_setup" | "zeni_accounts_setup" | "bill_pay_approval_create" | "bill_pay_duplicate_approval_create" | "bill_pay_approval_update" | "bill_pay_duplicate_approval_update" | "bill_pay_approval_delete" | "bill_pay_updated" | "bill_pay_deleted" | "bill_pay_cancelled_deleted" | "bill_pay_cancelled" | "bill_pay_approved" | "real_time_approver_added" | "bill_pay_rejected" | "bill_pay_sent_for_approval" | "bill_pay_accept_term" | "zeni_account_accept_term" | "update_vendor" | "delete_bank_account" | "create_bank_account" | "create_bank_account_ach" | "create_bank_account_wire" | "create_bank_account_international" | "transfer_money" | "update_zeni_account_nickname" | "create_checking_account" | "deposit_check" | "create_vendor" | "onboarding_customer_view" | "onboarding_customer_view_complete" | "onboarding_customer_identity_verification_save" | "onboarding_customer_identity_verification_submit" | "onboarding_customer_business_verification_save" | "onboarding_customer_business_verification_submit" | "retry_bank_account_connection" | "dashboard_invite_sent" | "onboarding_info_saved" | "approve_original_merchant" | "approve_global_merchant" | "reject_global_merchant" | "create_global_merchant" | "fetch_global_merchant_no_recommendation" | "save_vendor_renamed" | "save_vendor_sent_for_review" | "save_vendor_marked_as_employee" | "charge_card_setup" | "charge_card_accept_term" | "create_schedule" | "save_schedule" | "delete_schedule" | "save_task_detail" | "fetch_task_detail" | "delete_task" | "archive_task" | "update_charge_card" | "issue_charge_card" | "notification_settings_saved" | "referral_invite_sent" | "notification_mark_as_read" | "settings_accounting_accounts_updated";
2
2
  export declare type SnackbarMessageSections = ReturnType<typeof toSnackbarMessageSection>;
3
3
  export declare const toSnackbarMessageSectionTexts: (v: string) => "failed" | "success";
4
4
  export declare type SnackbarMessageSectionTexts = ReturnType<typeof toSnackbarMessageSectionTexts>;
@@ -87,6 +87,7 @@ const ALL_SNACKBAR_MESSAGE_SECTIONS = [
87
87
  'save_schedule',
88
88
  'delete_schedule',
89
89
  'save_task_detail',
90
+ 'fetch_task_detail',
90
91
  'delete_task',
91
92
  'archive_task',
92
93
  'update_charge_card',