@zeniai/client-epic-state 5.3.10 → 5.3.12-beta0DI
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/entity/task/taskPayload.d.ts +1 -0
- package/lib/entity/task/taskPayload.js +1 -0
- package/lib/entity/task/taskReducer.d.ts +4 -1
- package/lib/entity/task/taskReducer.js +19 -2
- package/lib/entity/task/taskState.d.ts +3 -0
- package/lib/entity/timeEntry/timeEntryPayload.d.ts +26 -0
- package/lib/entity/timeEntry/timeEntryPayload.js +2 -0
- package/lib/entity/timeEntry/timeEntryReducer.d.ts +8 -0
- package/lib/entity/timeEntry/timeEntryReducer.js +76 -0
- package/lib/entity/timeEntry/timeEntrySelector.d.ts +10 -0
- package/lib/entity/timeEntry/timeEntrySelector.js +32 -0
- package/lib/entity/timeEntry/timeEntryState.d.ts +43 -0
- package/lib/entity/timeEntry/timeEntryState.js +13 -0
- package/lib/epic.d.ts +4 -1
- package/lib/epic.js +9 -0
- package/lib/esm/entity/task/taskPayload.js +1 -0
- package/lib/esm/entity/task/taskReducer.js +18 -1
- package/lib/esm/entity/timeEntry/timeEntryPayload.js +1 -0
- package/lib/esm/entity/timeEntry/timeEntryReducer.js +70 -0
- package/lib/esm/entity/timeEntry/timeEntrySelector.js +23 -0
- package/lib/esm/entity/timeEntry/timeEntryState.js +8 -0
- package/lib/esm/epic.js +9 -0
- package/lib/esm/index.js +4 -1
- package/lib/esm/reducer.js +6 -0
- package/lib/esm/view/taskManager/taskDetailView/taskDetailSelector.js +3 -0
- package/lib/esm/view/taskManager/taskListView/taskList.js +6 -0
- package/lib/esm/view/taskManager/taskListView/taskListFilterHelpers.js +7 -0
- package/lib/esm/view/taskManager/taskListView/taskListSelector.js +27 -11
- package/lib/esm/view/taskManager/taskListView/taskListViewHelpers.js +37 -0
- package/lib/esm/view/taskManager/timeEntryView/epic/fetchTaskCategoriesEpic.js +24 -0
- package/lib/esm/view/taskManager/timeEntryView/epic/fetchTimeEntriesEpic.js +73 -0
- package/lib/esm/view/taskManager/timeEntryView/epic/writeTimeEntryEpic.js +77 -0
- package/lib/esm/view/taskManager/timeEntryView/timeEntryViewPayload.js +1 -0
- package/lib/esm/view/taskManager/timeEntryView/timeEntryViewReducer.js +160 -0
- package/lib/esm/view/taskManager/timeEntryView/timeEntryViewSelector.js +41 -0
- package/lib/esm/view/taskManager/timeEntryView/timeEntryViewState.js +1 -0
- package/lib/index.d.ts +5 -1
- package/lib/index.js +31 -16
- package/lib/reducer.d.ts +2 -0
- package/lib/reducer.js +6 -0
- package/lib/rootStateTypes.d.ts +4 -0
- package/lib/view/taskManager/taskDetailView/taskDetailSelector.d.ts +4 -0
- package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +3 -0
- package/lib/view/taskManager/taskListView/taskList.d.ts +1 -1
- package/lib/view/taskManager/taskListView/taskList.js +6 -0
- package/lib/view/taskManager/taskListView/taskListFilterHelpers.d.ts +4 -0
- package/lib/view/taskManager/taskListView/taskListFilterHelpers.js +9 -1
- package/lib/view/taskManager/taskListView/taskListSelector.d.ts +6 -3
- package/lib/view/taskManager/taskListView/taskListSelector.js +26 -10
- package/lib/view/taskManager/taskListView/taskListViewHelpers.d.ts +1 -1
- package/lib/view/taskManager/taskListView/taskListViewHelpers.js +37 -0
- package/lib/view/taskManager/timeEntryView/epic/fetchTaskCategoriesEpic.d.ts +18 -0
- package/lib/view/taskManager/timeEntryView/epic/fetchTaskCategoriesEpic.js +28 -0
- package/lib/view/taskManager/timeEntryView/epic/fetchTimeEntriesEpic.d.ts +23 -0
- package/lib/view/taskManager/timeEntryView/epic/fetchTimeEntriesEpic.js +78 -0
- package/lib/view/taskManager/timeEntryView/epic/writeTimeEntryEpic.d.ts +23 -0
- package/lib/view/taskManager/timeEntryView/epic/writeTimeEntryEpic.js +83 -0
- package/lib/view/taskManager/timeEntryView/timeEntryViewPayload.d.ts +27 -0
- package/lib/view/taskManager/timeEntryView/timeEntryViewPayload.js +2 -0
- package/lib/view/taskManager/timeEntryView/timeEntryViewReducer.d.ts +48 -0
- package/lib/view/taskManager/timeEntryView/timeEntryViewReducer.js +164 -0
- package/lib/view/taskManager/timeEntryView/timeEntryViewSelector.d.ts +24 -0
- package/lib/view/taskManager/timeEntryView/timeEntryViewSelector.js +46 -0
- package/lib/view/taskManager/timeEntryView/timeEntryViewState.d.ts +21 -0
- package/lib/view/taskManager/timeEntryView/timeEntryViewState.js +5 -0
- package/package.json +1 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { of } from 'rxjs';
|
|
2
|
+
import { catchError, filter, mergeMap } from 'rxjs/operators';
|
|
3
|
+
import { updateTaskTimeSpentMinutes } from '../../../../entity/task/taskReducer';
|
|
4
|
+
import { removeTimeEntry, updateTimeEntries, } from '../../../../entity/timeEntry/timeEntryReducer';
|
|
5
|
+
import { getTimeEntryById } from '../../../../entity/timeEntry/timeEntrySelector';
|
|
6
|
+
import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
|
|
7
|
+
import { deleteTimeEntry, logTime, logTimeFailure, logTimeSuccess, timeEntryWriteFailure, timeEntryWriteSuccess, updateTimeEntryMinutes, } from '../timeEntryViewReducer';
|
|
8
|
+
const unexpected = (what, error) => createZeniAPIStatus('Unexpected Error', `${what} errored out${JSON.stringify(error)}`);
|
|
9
|
+
/**
|
|
10
|
+
* Log time against a task.
|
|
11
|
+
*
|
|
12
|
+
* `mergeMap`, not `switchMap`: two rows on the board can be edited in quick
|
|
13
|
+
* succession and cancelling the first would silently drop that entry.
|
|
14
|
+
*/
|
|
15
|
+
export const logTimeEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(logTime.match), mergeMap((action) => {
|
|
16
|
+
const { taskId, minutes, entryDate, source, identifier } = action.payload;
|
|
17
|
+
return zeniAPI
|
|
18
|
+
.postAndGetJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks/${taskId}/time-entries`, {
|
|
19
|
+
minutes,
|
|
20
|
+
entry_date: entryDate,
|
|
21
|
+
source,
|
|
22
|
+
// Sent only when the caller has one. The server treats it as the
|
|
23
|
+
// entity key, which is what makes a retried timer stop idempotent.
|
|
24
|
+
...(identifier != null ? { identifier } : {}),
|
|
25
|
+
})
|
|
26
|
+
.pipe(mergeMap((response) => {
|
|
27
|
+
if (isSuccessResponse(response) && response.data != null) {
|
|
28
|
+
const { time_entry, task_time_spent_minutes } = response.data;
|
|
29
|
+
return of(updateTimeEntries([time_entry]),
|
|
30
|
+
// The board reads `Task.time_spent` per row, so it has to be
|
|
31
|
+
// told the new total; otherwise the row keeps the old number
|
|
32
|
+
// until something refetches the whole list.
|
|
33
|
+
updateTaskTimeSpentMinutes({
|
|
34
|
+
taskId,
|
|
35
|
+
minutes: task_time_spent_minutes ?? 0,
|
|
36
|
+
}), logTimeSuccess({ taskId, timeEntryId: time_entry.time_entry_id }));
|
|
37
|
+
}
|
|
38
|
+
return of(logTimeFailure({ taskId, status: response.status }));
|
|
39
|
+
}), catchError((error) => of(logTimeFailure({ taskId, status: unexpected('Log time', error) }))));
|
|
40
|
+
}));
|
|
41
|
+
/** Correct an entry's minutes. Owner, or a Zeni user as the admin path. */
|
|
42
|
+
export const updateTimeEntryEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(updateTimeEntryMinutes.match), mergeMap((action) => {
|
|
43
|
+
const { timeEntryId, minutes } = action.payload;
|
|
44
|
+
return zeniAPI
|
|
45
|
+
.putAndGetJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/time-entries/${timeEntryId}`, { minutes })
|
|
46
|
+
.pipe(mergeMap((response) => {
|
|
47
|
+
if (isSuccessResponse(response) && response.data != null) {
|
|
48
|
+
return of(updateTimeEntries([response.data.time_entry]), timeEntryWriteSuccess({ timeEntryId }));
|
|
49
|
+
}
|
|
50
|
+
return of(timeEntryWriteFailure({ timeEntryId, status: response.status }));
|
|
51
|
+
}), catchError((error) => of(timeEntryWriteFailure({
|
|
52
|
+
timeEntryId,
|
|
53
|
+
status: unexpected('Update time entry', error),
|
|
54
|
+
}))));
|
|
55
|
+
}));
|
|
56
|
+
/**
|
|
57
|
+
* Soft delete. The row stays in Datastore for the audit trail but leaves the
|
|
58
|
+
* totals, so the client drops it from the store rather than keeping something
|
|
59
|
+
* every reader would then have to remember to filter.
|
|
60
|
+
*/
|
|
61
|
+
export const deleteTimeEntryEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(deleteTimeEntry.match), mergeMap((action) => {
|
|
62
|
+
const timeEntryId = action.payload;
|
|
63
|
+
// Read the task id BEFORE the delete: the entry is about to leave the
|
|
64
|
+
// store, and the view slice needs to know which task's id list to prune.
|
|
65
|
+
const taskId = getTimeEntryById(state$.value.timeEntryState, timeEntryId)?.taskId;
|
|
66
|
+
return zeniAPI
|
|
67
|
+
.deleteAndGetJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/time-entries/${timeEntryId}`)
|
|
68
|
+
.pipe(mergeMap((response) => {
|
|
69
|
+
if (isSuccessResponse(response)) {
|
|
70
|
+
return of(removeTimeEntry(timeEntryId), timeEntryWriteSuccess({ timeEntryId, removedFromTaskId: taskId }));
|
|
71
|
+
}
|
|
72
|
+
return of(timeEntryWriteFailure({ timeEntryId, status: response.status }));
|
|
73
|
+
}), catchError((error) => of(timeEntryWriteFailure({
|
|
74
|
+
timeEntryId,
|
|
75
|
+
status: unexpected('Delete time entry', error),
|
|
76
|
+
}))));
|
|
77
|
+
}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { createSlice } from '@reduxjs/toolkit';
|
|
2
|
+
import { clearAll } from '../../../rootActions';
|
|
3
|
+
const NOT_STARTED = { fetchState: 'Not-Started', error: undefined };
|
|
4
|
+
export const initialState = {
|
|
5
|
+
timeEntryIdsByTaskId: {},
|
|
6
|
+
fetchStateByTaskId: {},
|
|
7
|
+
timeEntryIdsByRangeKey: {},
|
|
8
|
+
fetchStateByRangeKey: {},
|
|
9
|
+
saveStateByTaskId: {},
|
|
10
|
+
saveStateByTimeEntryId: {},
|
|
11
|
+
taskCategoryFetchState: NOT_STARTED,
|
|
12
|
+
};
|
|
13
|
+
const timeEntryView = createSlice({
|
|
14
|
+
name: 'timeEntryView',
|
|
15
|
+
initialState,
|
|
16
|
+
reducers: {
|
|
17
|
+
fetchTimeEntriesForTask: {
|
|
18
|
+
prepare(taskId, cacheOverride = false) {
|
|
19
|
+
return { payload: { taskId, cacheOverride } };
|
|
20
|
+
},
|
|
21
|
+
reducer(draft, action) {
|
|
22
|
+
draft.fetchStateByTaskId[action.payload.taskId] = {
|
|
23
|
+
fetchState: 'In-Progress',
|
|
24
|
+
error: undefined,
|
|
25
|
+
};
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
fetchTimeEntriesForTaskSuccess(draft, action) {
|
|
29
|
+
const { taskId, timeEntryIds } = action.payload;
|
|
30
|
+
// Replaced, not merged: the server is authoritative about which entries
|
|
31
|
+
// a task has, and a merge would resurrect one that was just deleted.
|
|
32
|
+
draft.timeEntryIdsByTaskId[taskId] = timeEntryIds;
|
|
33
|
+
draft.fetchStateByTaskId[taskId] = {
|
|
34
|
+
fetchState: 'Completed',
|
|
35
|
+
error: undefined,
|
|
36
|
+
};
|
|
37
|
+
},
|
|
38
|
+
fetchTimeEntriesForTaskFailure(draft, action) {
|
|
39
|
+
draft.fetchStateByTaskId[action.payload.taskId] = {
|
|
40
|
+
fetchState: 'Error',
|
|
41
|
+
error: action.payload.status,
|
|
42
|
+
};
|
|
43
|
+
},
|
|
44
|
+
fetchTimeEntriesForRange: {
|
|
45
|
+
prepare(userId, startDate, endDate, cacheOverride = false) {
|
|
46
|
+
return { payload: { userId, startDate, endDate, cacheOverride } };
|
|
47
|
+
},
|
|
48
|
+
reducer(draft, action) {
|
|
49
|
+
const { userId, startDate, endDate } = action.payload;
|
|
50
|
+
draft.fetchStateByRangeKey[`${userId}_${startDate}_${endDate}`] = {
|
|
51
|
+
fetchState: 'In-Progress',
|
|
52
|
+
error: undefined,
|
|
53
|
+
};
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
fetchTimeEntriesForRangeSuccess(draft, action) {
|
|
57
|
+
const { rangeKey, timeEntryIds } = action.payload;
|
|
58
|
+
draft.timeEntryIdsByRangeKey[rangeKey] = timeEntryIds;
|
|
59
|
+
draft.fetchStateByRangeKey[rangeKey] = {
|
|
60
|
+
fetchState: 'Completed',
|
|
61
|
+
error: undefined,
|
|
62
|
+
};
|
|
63
|
+
},
|
|
64
|
+
fetchTimeEntriesForRangeFailure(draft, action) {
|
|
65
|
+
draft.fetchStateByRangeKey[action.payload.rangeKey] = {
|
|
66
|
+
fetchState: 'Error',
|
|
67
|
+
error: action.payload.status,
|
|
68
|
+
};
|
|
69
|
+
},
|
|
70
|
+
logTime: {
|
|
71
|
+
prepare(taskId, minutes, entryDate, source = 'manual', identifier) {
|
|
72
|
+
return { payload: { taskId, minutes, entryDate, source, identifier } };
|
|
73
|
+
},
|
|
74
|
+
reducer(draft, action) {
|
|
75
|
+
draft.saveStateByTaskId[action.payload.taskId] = {
|
|
76
|
+
fetchState: 'In-Progress',
|
|
77
|
+
error: undefined,
|
|
78
|
+
};
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
logTimeSuccess(draft, action) {
|
|
82
|
+
const { taskId, timeEntryId } = action.payload;
|
|
83
|
+
draft.saveStateByTaskId[taskId] = {
|
|
84
|
+
fetchState: 'Completed',
|
|
85
|
+
error: undefined,
|
|
86
|
+
};
|
|
87
|
+
const existing = draft.timeEntryIdsByTaskId[taskId] ?? [];
|
|
88
|
+
// Guarded against a duplicate id: a retried write with the same
|
|
89
|
+
// deterministic identifier returns the SAME entry, and pushing it twice
|
|
90
|
+
// would double it in the breakdown even though the server has one row.
|
|
91
|
+
if (!existing.includes(timeEntryId)) {
|
|
92
|
+
draft.timeEntryIdsByTaskId[taskId] = [...existing, timeEntryId];
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
logTimeFailure(draft, action) {
|
|
96
|
+
draft.saveStateByTaskId[action.payload.taskId] = {
|
|
97
|
+
fetchState: 'Error',
|
|
98
|
+
error: action.payload.status,
|
|
99
|
+
};
|
|
100
|
+
},
|
|
101
|
+
updateTimeEntryMinutes: {
|
|
102
|
+
prepare(timeEntryId, minutes) {
|
|
103
|
+
return { payload: { timeEntryId, minutes } };
|
|
104
|
+
},
|
|
105
|
+
reducer(draft, action) {
|
|
106
|
+
draft.saveStateByTimeEntryId[action.payload.timeEntryId] = {
|
|
107
|
+
fetchState: 'In-Progress',
|
|
108
|
+
error: undefined,
|
|
109
|
+
};
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
deleteTimeEntry(draft, action) {
|
|
113
|
+
draft.saveStateByTimeEntryId[action.payload] = {
|
|
114
|
+
fetchState: 'In-Progress',
|
|
115
|
+
error: undefined,
|
|
116
|
+
};
|
|
117
|
+
},
|
|
118
|
+
timeEntryWriteSuccess(draft, action) {
|
|
119
|
+
const { timeEntryId, removedFromTaskId } = action.payload;
|
|
120
|
+
draft.saveStateByTimeEntryId[timeEntryId] = {
|
|
121
|
+
fetchState: 'Completed',
|
|
122
|
+
error: undefined,
|
|
123
|
+
};
|
|
124
|
+
if (removedFromTaskId != null) {
|
|
125
|
+
draft.timeEntryIdsByTaskId[removedFromTaskId] = (draft.timeEntryIdsByTaskId[removedFromTaskId] ?? []).filter((candidate) => candidate !== timeEntryId);
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
timeEntryWriteFailure(draft, action) {
|
|
129
|
+
draft.saveStateByTimeEntryId[action.payload.timeEntryId] = {
|
|
130
|
+
fetchState: 'Error',
|
|
131
|
+
error: action.payload.status,
|
|
132
|
+
};
|
|
133
|
+
},
|
|
134
|
+
fetchTaskCategories(draft) {
|
|
135
|
+
draft.taskCategoryFetchState = {
|
|
136
|
+
fetchState: 'In-Progress',
|
|
137
|
+
error: undefined,
|
|
138
|
+
};
|
|
139
|
+
},
|
|
140
|
+
fetchTaskCategoriesSuccess(draft) {
|
|
141
|
+
draft.taskCategoryFetchState = {
|
|
142
|
+
fetchState: 'Completed',
|
|
143
|
+
error: undefined,
|
|
144
|
+
};
|
|
145
|
+
},
|
|
146
|
+
fetchTaskCategoriesFailure(draft, action) {
|
|
147
|
+
draft.taskCategoryFetchState = {
|
|
148
|
+
fetchState: 'Error',
|
|
149
|
+
error: action.payload,
|
|
150
|
+
};
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
extraReducers: (builder) => {
|
|
154
|
+
builder.addCase(clearAll, (draft) => {
|
|
155
|
+
Object.assign(draft, initialState);
|
|
156
|
+
});
|
|
157
|
+
},
|
|
158
|
+
});
|
|
159
|
+
export const { fetchTimeEntriesForTask, fetchTimeEntriesForTaskSuccess, fetchTimeEntriesForTaskFailure, fetchTimeEntriesForRange, fetchTimeEntriesForRangeSuccess, fetchTimeEntriesForRangeFailure, logTime, logTimeSuccess, logTimeFailure, updateTimeEntryMinutes, deleteTimeEntry, timeEntryWriteSuccess, timeEntryWriteFailure, fetchTaskCategories, fetchTaskCategoriesSuccess, fetchTaskCategoriesFailure, } = timeEntryView.actions;
|
|
160
|
+
export default timeEntryView.reducer;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { getTimeEntriesByIds } from '../../../entity/timeEntry/timeEntrySelector';
|
|
2
|
+
import { toTimeEntryRangeKey } from './timeEntryViewState';
|
|
3
|
+
const byEntryDateThenCreate = (left, right) => left.entryDate.valueOf() - right.entryDate.valueOf() ||
|
|
4
|
+
left.createTime.valueOf() - right.createTime.valueOf();
|
|
5
|
+
const sumMinutes = (entries) => entries.reduce((total, entry) => total + (entry.minutes || 0), 0);
|
|
6
|
+
/** Every entry on one task, all users — the task detail breakdown. */
|
|
7
|
+
export function getTimeEntriesForTask(state, taskId) {
|
|
8
|
+
const { timeEntryIdsByTaskId, fetchStateByTaskId } = state.timeEntryViewState;
|
|
9
|
+
const timeEntries = getTimeEntriesByIds(state.timeEntryState, timeEntryIdsByTaskId[taskId] ?? []).sort(byEntryDateThenCreate);
|
|
10
|
+
return {
|
|
11
|
+
timeEntries,
|
|
12
|
+
totalMinutes: sumMinutes(timeEntries),
|
|
13
|
+
fetchState: fetchStateByTaskId[taskId]?.fetchState ?? 'Not-Started',
|
|
14
|
+
error: fetchStateByTaskId[taskId]?.error,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/** One user's week — the timesheet grid. */
|
|
18
|
+
export function getTimeEntriesForRange(state, userId, startDate, endDate) {
|
|
19
|
+
const rangeKey = toTimeEntryRangeKey(userId, startDate, endDate);
|
|
20
|
+
const { timeEntryIdsByRangeKey, fetchStateByRangeKey } = state.timeEntryViewState;
|
|
21
|
+
const timeEntries = getTimeEntriesByIds(state.timeEntryState, timeEntryIdsByRangeKey[rangeKey] ?? []).sort(byEntryDateThenCreate);
|
|
22
|
+
const minutesByDate = {};
|
|
23
|
+
timeEntries.forEach((entry) => {
|
|
24
|
+
const key = entry.entryDate.format('YYYY-MM-DD');
|
|
25
|
+
minutesByDate[key] = (minutesByDate[key] ?? 0) + (entry.minutes || 0);
|
|
26
|
+
});
|
|
27
|
+
return {
|
|
28
|
+
rangeKey,
|
|
29
|
+
timeEntries,
|
|
30
|
+
minutesByDate,
|
|
31
|
+
totalMinutes: sumMinutes(timeEntries),
|
|
32
|
+
fetchState: fetchStateByRangeKey[rangeKey]?.fetchState ?? 'Not-Started',
|
|
33
|
+
error: fetchStateByRangeKey[rangeKey]?.error,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/** Save state for the row the user is editing, so two rows saving at once do
|
|
37
|
+
* not share one spinner. */
|
|
38
|
+
export function getTimeEntrySaveState(state, taskId) {
|
|
39
|
+
return (state.timeEntryViewState.saveStateByTaskId[taskId]?.fetchState ??
|
|
40
|
+
'Not-Started');
|
|
41
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const toTimeEntryRangeKey = (userId, startDate, endDate) => `${userId}_${startDate}_${endDate}`;
|
package/lib/index.d.ts
CHANGED
|
@@ -150,6 +150,8 @@ import { DoSignInPayload, deleteConnection, doMagicLinkSignIn, doSignIn, doSignO
|
|
|
150
150
|
import { CurrentTenant, DEFAULT_RECEIPTS_EMAIL, TenantBaseView, TenantCoreDetailsView, TenantView, TenantsBaseOrdered, TenantsOrdered, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getIsAutoReviewIncomeWithoutCustomerEnabled, getReceiptsEmail, getTenantBaseById, getTenantBaseViewForTenantId, getTenantBaseViewForTenantView, getTenantsBaseByCheckInDateSelector, getTenantsByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, isOtherProductsEnabledForTenant, isTenantBankingOnly, isTenantBookkeepingEnabled, isTenantCardsOnly, isTenantUsingZeniCOA, isZeniDomainTenant, toTenantCoreDetailsView } from './entity/tenant/tenantSelector';
|
|
151
151
|
import { CapitalizableAccount, CapitalizableAccounts, CapitalizableClassificationType, CapitalizableMatchPattern, Connection, LoggedInUser, RoleResource, Tenant, TenantProductSettings } from './entity/tenant/tenantState';
|
|
152
152
|
import { toExternalSupportedTool } from './entity/tenant/tenantTypes';
|
|
153
|
+
import { getTaskCategories, getTaskCategoryById } from './entity/timeEntry/timeEntrySelector';
|
|
154
|
+
import { BillingType, TaskCategory, TimeEntry, TimeEntrySource } from './entity/timeEntry/timeEntryState';
|
|
153
155
|
import { ToastNotificationPayload } from './entity/toastNotification/toastNotificationPayload';
|
|
154
156
|
import { pushToastNotification } from './entity/toastNotification/toastNotificationReducer';
|
|
155
157
|
import { getLastNotificationTime, getNotifications } from './entity/toastNotification/toastNotificationSelector';
|
|
@@ -637,6 +639,8 @@ import { ALL_TASK_LIST_TABS, DueDateGroupKey, TASK_LIST_FILTER_CATEGORIES, TASK_
|
|
|
637
639
|
import { bulkUpdateTaskList, dragNDropTasks, fetchTaskList, fetchTaskListPage, initiateTaskListLocalData, removeTaskFromList, updateTaskFilters, updateTaskFromListView, updateTaskListLocalData, updateTaskListSearchText, updateTaskListTab, updateTaskListUIState } from './view/taskManager/taskListView/taskListReducer';
|
|
638
640
|
import { TaskGroupWithTasksList, TaskListSelectorView, TaskWithUserDetails, getAllTasks } from './view/taskManager/taskListView/taskListSelector';
|
|
639
641
|
import { SubtaskSortKey, SubtaskSortOrder, getDueDateValueFromDueDateGroupId, getTaskUpdates, sortSubtasks } from './view/taskManager/taskListView/taskListViewHelpers';
|
|
642
|
+
import { deleteTimeEntry, fetchTaskCategories, fetchTimeEntriesForRange, fetchTimeEntriesForTask, logTime, updateTimeEntryMinutes } from './view/taskManager/timeEntryView/timeEntryViewReducer';
|
|
643
|
+
import { TimeEntryListView, TimesheetWeekView, getTimeEntriesForRange, getTimeEntriesForTask, getTimeEntrySaveState } from './view/taskManager/timeEntryView/timeEntryViewSelector';
|
|
640
644
|
import { fetchTasksCard } from './view/tasksCard/tasksCardReducer';
|
|
641
645
|
import { TasksCardReport } from './view/tasksCard/tasksCardSelector';
|
|
642
646
|
import { fetchTopEx, updateTopExDownloadState, updateTopExTimeFrame } from './view/topEx/topExReducer';
|
|
@@ -975,7 +979,7 @@ export { fetchGlobalMerchantRecommendation, createGlobalMerchant, updateCreateGl
|
|
|
975
979
|
export { approveVendorGlobalReview, rejectVendorGlobalReview, fetchVendorGlobalReviewView, updateSelectedGlobalMerchant, updateVendorGlobalReviewViewUIState, getVendorGlobalReviewView, getTenantMerchantByMerchantId, toVendorGlobalReviewColumnSortKeyType, VendorGlobalReview, VendorGlobalReviewViewUIState, VendorGlobalReviewViewColumnSortKey, VendorGlobalReviewViewSelectorView, VendorGlobalReviewViewState, VendorGlobalReviewViewLocalData, updateVendorGlobalReviewViewLocalData, GlobalReviewPageCurrentSelectionByColumn, GlobalRecommendationFetchSource, };
|
|
976
980
|
export { fetchArAging, updateArAgingUIState, fetchArAgingDetail, updateArAgingDetailUIState, ArAgingReport, ArAgingDetail, NestedAgingBalancesByCustomer, getArAgingReport, getArAgingDetailForCustomer, updateArAgingNodeCollapseState, };
|
|
977
981
|
export { toRecurringBillFrequency, toRecurringBillFrequencyStrict, RecurringBillFrequency, RecurringBillDetail, RecurringBillConfig, RecurringBillStatus, RecurringBillPaymentStatus, };
|
|
978
|
-
export { Task, TaskPayload, TaskListSelectorView, TaskWithUserDetails, TaskListViewSortKey, TaskListUIState, TaskDetailSelectorView, EditTaskLocalData, TaskStatusCodeType, PriorityCodeType, getTaskGroupById, TaskStatus, TaskPriority, TaskCodeType, getAllTasks, fetchTaskList, fetchTaskListPage, getTaskDetail, fetchTaskDetailPage, saveTaskUpdatesToLocalStore, saveTaskDetail, createSubTask, resetSubTaskCreateStatus, fetchSubTasks, CreateSubTaskPayload, archiveTask, CannedResponse, CannedResponsesViewState, fetchCannedResponses, saveCannedResponse, deleteCannedResponse, getCannedResponsesView, updateTaskListSearchText, updateTaskListUIState, allTaskStatus, allTaskPriority, TaskListFilters, updateTaskFilters, TASK_LIST_FILTER_CATEGORIES, TASK_LIST_GROUP_BY_CATEGORIES, TaskListFilterCategoryField, deleteTask, discardTaskUpdatesInLocalStore, TaskFilterCategory, TaskType, TaskGroupWithTasksList, TaskListLocalData, bulkUpdateTaskList, createNewTaskGroup, initiateTaskListLocalData, deleteTaskGroup, updateTaskListLocalData, dragNDropTasks, updateTaskGroupName, TaskGroupState, TaskGroupKey, toTaskListGroupByKeyType, toTaskListGroupByKeyTypeStrict, SubtaskSortKey, SubtaskSortOrder, getTaskUpdates, sortSubtasks, fetchAllTaskGroups, initialTaskDetail, getDueDateValueFromDueDateGroupId, toPriorityCodeType, toTaskStatusCodeType, DueDateGroupKey, toDueDateGroupKeyType, updateTaskFromListView, updateTaskListTab, removeTaskFromList, snoozeTask, unsnoozeTask, convertHHMMStrToMinutes, initialTaskDetailLocalData, TaskListTab, ALL_TASK_LIST_TABS, };
|
|
982
|
+
export { Task, TaskPayload, TaskListSelectorView, TaskWithUserDetails, TaskListViewSortKey, TaskListUIState, TaskDetailSelectorView, EditTaskLocalData, TaskStatusCodeType, PriorityCodeType, getTaskGroupById, TaskStatus, TaskPriority, TaskCodeType, getAllTasks, BillingType, TaskCategory, TimeEntry, TimeEntrySource, TimeEntryListView, TimesheetWeekView, getTaskCategories, getTaskCategoryById, getTimeEntriesForRange, getTimeEntriesForTask, getTimeEntrySaveState, fetchTimeEntriesForTask, fetchTimeEntriesForRange, fetchTaskCategories, logTime, updateTimeEntryMinutes, deleteTimeEntry, fetchTaskList, fetchTaskListPage, getTaskDetail, fetchTaskDetailPage, saveTaskUpdatesToLocalStore, saveTaskDetail, createSubTask, resetSubTaskCreateStatus, fetchSubTasks, CreateSubTaskPayload, archiveTask, CannedResponse, CannedResponsesViewState, fetchCannedResponses, saveCannedResponse, deleteCannedResponse, getCannedResponsesView, updateTaskListSearchText, updateTaskListUIState, allTaskStatus, allTaskPriority, TaskListFilters, updateTaskFilters, TASK_LIST_FILTER_CATEGORIES, TASK_LIST_GROUP_BY_CATEGORIES, TaskListFilterCategoryField, deleteTask, discardTaskUpdatesInLocalStore, TaskFilterCategory, TaskType, TaskGroupWithTasksList, TaskListLocalData, bulkUpdateTaskList, createNewTaskGroup, initiateTaskListLocalData, deleteTaskGroup, updateTaskListLocalData, dragNDropTasks, updateTaskGroupName, TaskGroupState, TaskGroupKey, toTaskListGroupByKeyType, toTaskListGroupByKeyTypeStrict, SubtaskSortKey, SubtaskSortOrder, getTaskUpdates, sortSubtasks, fetchAllTaskGroups, initialTaskDetail, getDueDateValueFromDueDateGroupId, toPriorityCodeType, toTaskStatusCodeType, DueDateGroupKey, toDueDateGroupKeyType, updateTaskFromListView, updateTaskListTab, removeTaskFromList, snoozeTask, unsnoozeTask, convertHHMMStrToMinutes, initialTaskDetailLocalData, TaskListTab, ALL_TASK_LIST_TABS, };
|
|
979
983
|
export { Tag, TagState, TagViewState, getAllTags, TagViewSelectorView, fetchTagList, createTag, deleteTag, };
|
|
980
984
|
export { CardPayment, CardPaymentViewState, SetupIntentData, CardPaymentSelectorView, getAllCardsAndBankPaymentMethods, createCardSetupIntent, confirmCardSetupIntent, addCardPaymentSource, fetchPaymentSources, resetCardPaymentErrorStatuses, clearCardPaymentView, AddCardPaymentSourceType, };
|
|
981
985
|
export { getAuditReportGroupViewSelectorView, getAuditRuleGroupViewSelectorView, getUserFromAllUsers, AuditReportGroupSelectorView, AuditReportGroupViewSelectorView, AuditRuleGroupViewSelectorView, fetchAuditRuleGroupView, fetchAuditReportGroupView, saveReasonForAuditRule, AuditRuleGroup, AuditRuleGroupReport, AuditReportRule, AuditRuleEntityType, AuditRuleEntityIdType, AuditRuleBypassReason, clearAuditReportGroupViewByCompanyId, };
|
package/lib/index.js
CHANGED
|
@@ -71,22 +71,23 @@ exports.initializeCardUserOnboardingLocalData = exports.getCardUserOnboardingVie
|
|
|
71
71
|
exports.resetJeNewScheduleLocalData = exports.removeJeScheduleTransactionKey = exports.initializeJeScheduleLocalData = exports.initializeJeNewSchedule = exports.initializeJeAccountSettingsView = exports.ignoreExpenseAutomationJESchedule = exports.fetchExpenseAutomationJESchedulesPage = exports.clearJeSearchTransactionsForNewSchedule = exports.clearExpenseAutomationJESchedulesView = exports.clearExpenseAutomationJEScheduleLocalData = exports.updateApAgingDetailUIState = exports.getApAgingDetailForVendor = exports.fetchApAgingDetail = exports.updateApAgingUIState = exports.getApAgingReport = exports.fetchApAging = exports.aggregatedReportView = exports.fetchAggregatedReport = exports.toTimeSeriesDuration = exports.convertToTimeSeriesSelectionRange = exports.TIME_SERIES_DURATIONS = exports.anyCardOnHold = exports.getChargeCardById = exports.setCurrentDisplayedCardId = exports.setFirstViewCompleteAfterActivation = exports.setFirstViewAfterActivation = exports.completeCardUserOnboardingActivationWait = exports.startCardUserOnboardingActivationWait = exports.fetchChargeCardsRecurringExpenses = exports.updateChargeCardsSpendLimit = exports.closeChargeCards = exports.unlockChargeCards = exports.lockChargeCards = exports.revokeChargeCardsInvite = exports.updateRowActionCardId = exports.revokeCardInvite = exports.resendCardInvite = exports.updateChargeCardSpendLimitSuccessOrFailure = exports.updateChargeCardSpendLimit = exports.startCVVActivationWait = exports.completeCVVActivationWait = exports.fetchChargeCardTransactionAttachments = exports.updateChargeCardTransactionIsViewReceiptClicked = exports.updateChargeCardTransactionReceiptsShowTickFetchStatus = exports.updateDebitCardPinAttempt = exports.startDebitCardSetPinWait = exports.completeDebitCardSetPinWait = exports.updateChargeCardTransactionUploadReceiptsFetchStatus = exports.saveCardOnboardingUserDetails = exports.updateCardUserOnboardingLocalData = void 0;
|
|
72
72
|
exports.ALL_ONE_TIME_ACCRUAL_REVERT_REASONS = exports.ALL_ONE_TIME_ACCRUAL_IGNORE_REASONS = exports.ALL_JE_SCHEDULE_REVERT_REASONS = exports.ALL_JE_SCHEDULE_IGNORE_REASONS = exports.getJEScheduleTransactionKey = exports.resetAccruedDetailNewScheduleState = exports.resetSelectedJEAccruedScheduleKey = exports.updateSelectedJEAccruedScheduleKey = exports.updateScheduleAccruedDetailsLocalData = exports.updateLinkBillExpenseLocalData = exports.clearSelectedJELinkRowIndex = exports.fetchRecommendedTransactionRowIndex = exports.updatedJELinkInLocalDataAccruedExpenses = exports.updatedJEAccruedLinkWithRecommendedLocalData = exports.updateAmountsInScheduleAccruedDetail = exports.saveScheduleAccruedDetails = exports.resetJEAccruedLinkInLocalData = exports.fetchScheduleAccruedDetailsPage = exports.fetchScheduleAccruedDetails = exports.cancelScheduleAccruedJournalEntry = exports.deleteScheduleAccruedDetail = exports.createNewSchedulesAccrued = exports.updateExpenseAutomationActualMatchingUIState = exports.undoReversalAccruals = exports.searchMatchTransactions = exports.searchMatchAccruals = exports.openMatchNewModal = exports.matchAndReverseAccruals = exports.ignoreActualMatchingSuggestion = exports.fetchExpenseAutomationActualMatchingPage = exports.fetchActualMatchingMatch = exports.fetchExpenseAutomationActualMatching = exports.clearMatchNewModal = exports.closeMatchNewModal = exports.clearExpenseAutomationActualMatchingView = exports.ackCloseMatchAfterUndo = exports.ackCloseMatchAfterIgnore = exports.updateJeScheduleTransactionKeys = exports.updateJeScheduleLocalDataById = exports.updateJeOneTimeAccrualLocalData = exports.removeJeOneTimeAccrualLocalData = exports.updateJeNewScheduleLocalData = exports.updateExpenseAutomationJESchedulesUIState = exports.searchJeTransactionsForNewScheduleSuccess = exports.searchJeTransactionsForNewScheduleFailure = exports.searchJeTransactionsForNewSchedule = exports.saveJeNewScheduleSuccess = exports.saveJeNewScheduleFailure = exports.saveJeNewSchedule = exports.retryExpenseAutomationJESchedule = void 0;
|
|
73
73
|
exports.resetVendorFirstReviewLocalData = exports.updateVendorFirstReviewViewScrollYOffset = exports.fetchVendorFirstReviewAttachments = exports.fetchVendorFirstReviewView = exports.getVendorFirstReviewAttachmentView = exports.getVendorFirstReviewView = exports.getGlobalMerchantAutoCompleteResults = exports.toVendorFirstReviewViewColumnKeyType = exports.getVendorTabView = exports.updateVendorTabViewTab = exports.fetchVendorTabView = exports.resetMarkAsCompleteStatus = exports.markAsCompleteScheduleDetail = exports.getDefaultSelectedTimeframeForScheduleType = exports.getFetchStateForScheduleListByType = exports.updatedJELinkWithRecommendedLocalData = exports.resetJELinkInLocalData = exports.updateAmountsInScheduleDetail = exports.updatedJELinkInLocalData = exports.getThirdPartyIDFromQBOURL = exports.getQBOUrlForLink = exports.updatedSelectedJELinkRowIndex = exports.updateAccruedJEScheduleAccruedByListKey = exports.updateScheduleListDownloadState = exports.updateScheduleDetailsLocalData = exports.createNewSchedules = exports.deleteScheduleDetail = exports.saveScheduleDetails = exports.fetchScheduleDetailsPage = exports.getAccruedScheduleDetailsView = exports.getScheduleDetailsView = exports.fetchScheduleDetails = exports.updateSelectedJEScheduleKey = exports.updateScheduleListSortState = exports.updateScheduleListScrollState = exports.updateScheduleListSearchText = exports.updateScheduleListSubTab = exports.toScheduleSubTabType = exports.toScheduleListTabsFileTypeStrict = exports.toScheduleTypesTypeStrict = exports.toScheduleTypesType = exports.getFetchStateForScheduleAccountList = exports.updateScheduleListLocalData = exports.fetchSchedulesAccount = exports.fetchDownloadSchedules = exports.fetchAccruedScheduleList = exports.fetchScheduleList = exports.getAccruedScheduleListReport = exports.getScheduleListReport = exports.ALL_SCHEDULES_TYPES = void 0;
|
|
74
|
-
exports.
|
|
75
|
-
exports.
|
|
76
|
-
exports.
|
|
77
|
-
exports.
|
|
78
|
-
exports.
|
|
79
|
-
exports.
|
|
80
|
-
exports.
|
|
81
|
-
exports.
|
|
82
|
-
exports.
|
|
83
|
-
exports.
|
|
84
|
-
exports.
|
|
85
|
-
exports.
|
|
86
|
-
exports.
|
|
87
|
-
exports.
|
|
88
|
-
exports.
|
|
89
|
-
exports.
|
|
74
|
+
exports.fetchTaskDetailPage = exports.getTaskDetail = exports.fetchTaskListPage = exports.fetchTaskList = exports.deleteTimeEntry = exports.updateTimeEntryMinutes = exports.logTime = exports.fetchTaskCategories = exports.fetchTimeEntriesForRange = exports.fetchTimeEntriesForTask = exports.getTimeEntrySaveState = exports.getTimeEntriesForTask = exports.getTimeEntriesForRange = exports.getTaskCategoryById = exports.getTaskCategories = exports.getAllTasks = exports.getTaskGroupById = exports.toRecurringBillFrequencyStrict = exports.toRecurringBillFrequency = exports.updateArAgingNodeCollapseState = exports.getArAgingDetailForCustomer = exports.getArAgingReport = exports.updateArAgingDetailUIState = exports.fetchArAgingDetail = exports.updateArAgingUIState = exports.fetchArAging = exports.updateVendorGlobalReviewViewLocalData = exports.toVendorGlobalReviewColumnSortKeyType = exports.getTenantMerchantByMerchantId = exports.getVendorGlobalReviewView = exports.updateVendorGlobalReviewViewUIState = exports.updateSelectedGlobalMerchant = exports.fetchVendorGlobalReviewView = exports.rejectVendorGlobalReview = exports.approveVendorGlobalReview = exports.getGlobalMerchantView = exports.clearGlobalMerchantView = exports.updateCreateGlobalMerchantLocalData = exports.createGlobalMerchant = exports.fetchGlobalMerchantRecommendation = exports.getVendorDetailSelectorView = exports.saveVendorDetailsView = exports.updateReviewVendorDetailLocalData = exports.clearGlobalMerchantAutoCompleteResults = exports.fetchGlobalMerchantAutoCompleteView = exports.updateVendorFirstReviewSortUiState = exports.updateVendorFirstReviewViewLocalData = exports.saveVendorFirstReviewView = exports.clearRecentlySavedErroredVendorData = exports.updateVendorFirstReviewViewPageToken = void 0;
|
|
75
|
+
exports.createCardSetupIntent = exports.getAllCardsAndBankPaymentMethods = exports.deleteTag = exports.createTag = exports.fetchTagList = exports.getAllTags = exports.ALL_TASK_LIST_TABS = exports.initialTaskDetailLocalData = exports.convertHHMMStrToMinutes = exports.unsnoozeTask = exports.snoozeTask = exports.removeTaskFromList = exports.updateTaskListTab = exports.updateTaskFromListView = exports.toDueDateGroupKeyType = exports.toTaskStatusCodeType = exports.toPriorityCodeType = exports.getDueDateValueFromDueDateGroupId = exports.initialTaskDetail = exports.fetchAllTaskGroups = exports.sortSubtasks = exports.getTaskUpdates = exports.toTaskListGroupByKeyTypeStrict = exports.toTaskListGroupByKeyType = exports.updateTaskGroupName = exports.dragNDropTasks = exports.updateTaskListLocalData = exports.deleteTaskGroup = exports.initiateTaskListLocalData = exports.createNewTaskGroup = exports.bulkUpdateTaskList = exports.discardTaskUpdatesInLocalStore = exports.deleteTask = exports.TASK_LIST_GROUP_BY_CATEGORIES = exports.TASK_LIST_FILTER_CATEGORIES = exports.updateTaskFilters = exports.allTaskPriority = exports.allTaskStatus = exports.updateTaskListUIState = exports.updateTaskListSearchText = exports.getCannedResponsesView = exports.deleteCannedResponse = exports.saveCannedResponse = exports.fetchCannedResponses = exports.archiveTask = exports.fetchSubTasks = exports.resetSubTaskCreateStatus = exports.createSubTask = exports.saveTaskDetail = exports.saveTaskUpdatesToLocalStore = void 0;
|
|
76
|
+
exports.getNotificationLocalOverrides = exports.getEffectiveNotificationPreferences = exports.getNotifications = exports.getLastNotificationTime = exports.pushToastNotification = exports.isFeatureInterestRegistered = exports.getRegisteredInterestsByFeature = exports.getRegisteredInterests = exports.getFeatureNotificationView = exports.notifyMeForFeature = exports.fetchRegisteredInterests = exports.getNotificationsForSelectedSubTab = exports.getExternalNotificationsForSelectedSubTab = exports.getNotificationView = exports.updateNotificationViewUIState = exports.updateNotificationViewSubTab = exports.updateNotificationViewCurrentTabAndSubTab = exports.updateNotificationViewTabState = exports.updateNotificationViewNotificationStatus = exports.updateNotificationViewAllNotificationsStatus = exports.fetchNotificationUnreadCountSuccess = exports.fetchNotificationUnreadCount = exports.fetchNotificationView = exports.toNotificationTabTypeStrict = exports.toNotificationSubTabTypeStrict = exports.updateCommentsNotificationsStatuses = exports.updateCommentsNotifications = exports.toNotificationModeStrict = exports.parseOAuthParams = exports.getZeniOAuthApproveRedirectUrl = exports.getZeniOAuthApproveFetchState = exports.getZeniOAuthApproveError = exports.clearZeniOAuthView = exports.approveOAuthConsentSuccess = exports.approveOAuthConsentFailure = exports.approveOAuthConsent = exports.getAuthenticationView = exports.fetchCollaborationAuthToken = exports.clearAuditReportGroupViewByCompanyId = exports.saveReasonForAuditRule = exports.fetchAuditReportGroupView = exports.fetchAuditRuleGroupView = exports.getUserFromAllUsers = exports.getAuditRuleGroupViewSelectorView = exports.getAuditReportGroupViewSelectorView = exports.clearCardPaymentView = exports.resetCardPaymentErrorStatuses = exports.fetchPaymentSources = exports.addCardPaymentSource = exports.confirmCardSetupIntent = void 0;
|
|
77
|
+
exports.updatePortfolioAllocation = exports.fetchTreasuryFunds = exports.fetchTreasurySetupView = exports.acceptTreasuryTerms = exports.getExpressPayView = exports.resetExpressPayLocalData = exports.submitExpressPay = exports.updateExpressPayFormLocalData = exports.fetchExpressPayInitialDetails = exports.getIntlWireVerificationView = exports.updateVerificationFormLocalData = exports.submitInternationalVerificationForm = exports.fetchInternationalVerificationForm = exports.createTaskFromTaskGroupTemplate = exports.getCompanyTaskManagerView = exports.fetchTaskManagerMetrics = exports.fetchCompanyTaskManagerView = exports.fetchCockpitContext = exports.toRecurringFrequency = exports.toDayOfWeek = exports.getRecurringEndDateFromCount = exports.getMinAllowedEndDate = exports.SEMI_WEEKLY_REQUIRED_DAYS_COUNT = exports.ALL_WEEK_DAYS = exports.updateReferViewed = exports.getRewardsPlanCard = exports.fetchRewardsPlan = exports.resendReferralInvite = exports.updateReferralListSortUiState = exports.saveReferralFormDataInLocalStore = exports.clearReferrals = exports.sendReferralInvite = exports.fetchReferrals = exports.DEFAULT_REFERRER_AMOUNT = exports.AmountStatusTypes = exports.StatusTypes = exports.toReferralListViewSortKeyType = exports.getInviteFormView = exports.getReferralListView = exports.toNotificationFrequency = exports.toNotificationChannel = exports.toggleEventChannel = exports.setGroupFrequency = exports.setGroupChannelMaster = exports.saveNotificationPreferences = exports.clearNotificationPreferencesLocalOverrides = exports.clearAllNotificationPreferencesView = exports.hasUnsavedNotificationPreferences = exports.getNotificationRegistry = exports.getNotificationPreferencesSaveState = void 0;
|
|
78
|
+
exports.fetchSuggestedQuestions = exports.fetchSkillVersions = exports.fetchSkillVersionBody = exports.fetchSkillsSuccess = exports.fetchSkillsFailure = exports.fetchSkills = exports.fetchSkillDetail = exports.fetchRoutines = exports.fetchRoutineRuns = exports.fetchChatSessionsForUser = exports.fetchChatHistory = exports.deleteSkill = exports.deleteRoutine = exports.deleteChatSession = exports.createSessionAndSubmit = exports.createSession = exports.closeSkillsBrowser = exports.closeRoutinesBrowser = exports.closeRoutineRuns = exports.clearSkillMutation = exports.clearSkillDetail = exports.clearLastContextMessage = exports.clearDeleteChatSessionStatus = exports.clearCurrentSessionId = exports.clearAiCfoSidePanelHostPageContext = exports.applyAiCfoSidePanelHostPageTransition = exports.acceptMasterTOS = exports.getAiAccountantCockpitView = exports.updateAiAccountantUIState = exports.triggerAiAccountantJob = exports.setSelectedTenantIdsForJobTrigger = exports.fetchAiAccountantJobs = exports.fetchAiAccountantCustomers = exports.cancelAiAccountantOnboarding = exports.getAiAccountantJobsByTenantId = exports.getAiAccountantCustomers = exports.updateAiAccountantJobs = exports.updateAiAccountantCustomer = exports.updateAiAccountantCustomers = exports.toAiAccountantJob = exports.toAiAccountantEnrollment = exports.toAiAccountantCustomer = exports.toAiAccountantOperationType = exports.toAiAccountantJobStatus = exports.toAiAccountantEnrollmentStatus = exports.getAllowedOperationsForStatus = exports.getTreasuryFundsMaximumYield = exports.getTreasurySetupViewDetails = exports.updateFundAllocationLocalData = exports.fetchPortfolioAllocation = void 0;
|
|
79
|
+
exports.ALL_AI_CFO_CHARTS_TYPES = exports.getSyntheticAiCfoAnswerByQuestionAnswerId = exports.getSyntheticAiCfoAnswersForChatSession = exports.getAiCfoSelectorView = exports.getAllQuestionsForChatSession = exports.getQuestionAnswerByIdForChatSession = exports.getAllQuestionAnswersForChatSession = exports.removeSyntheticAiCfoAnswer = exports.updateSyntheticAiCfoAnswer = exports.appendSyntheticAiCfoAnswer = exports.toAiCfoVisualization = exports.toAiCfoExports = exports.clearSession = exports.addQuestionPayload = exports.upsertOrAddQuestionAnswerPayload = exports.upsertAnswerPayload = exports.updateAiCfoAnswerCardPolicyWizardPlan = exports.setSessions = exports.setNewSession = exports.getSuggestedQuestionsForPageContext = exports.getSkillVersions = exports.getSkillVersionBody = exports.getSkillsEnabled = exports.getSkills = exports.getSkillMutation = exports.getSkillDetail = exports.getRoutinesEnabled = exports.getRoutines = exports.getRoutineRuns = exports.getRoutineMutation = exports.getAiCfoView = exports.canCreateRoutine = exports.updateResponseState = exports.updateCurrentInput = exports.updateCotCollapsedState = exports.updateAiCfoViewScrollPosition = exports.submitQuestion = exports.submitFeedback = exports.stopSubmitQuestion = exports.stopSubmit = exports.setSkillVisibility = exports.setSession = exports.setRoutineEnabled = exports.saveSkill = exports.saveRoutine = exports.runRoutine = exports.openSkillsBrowser = exports.openRoutinesBrowser = exports.fetchSuggestedQuestionsSuccess = exports.fetchSuggestedQuestionsFailure = void 0;
|
|
80
|
+
exports.getPolicyDocumentExtractionError = exports.getExtractedCardPolicyRules = exports.getCardPolicyVendorSearchString = exports.getCardPolicyVendorSearchOptions = exports.getCardPolicyVendorSearchFetchState = exports.getCardPolicyTemplatesByIds = exports.getCardPolicyTemplateById = exports.getCardPolicySuggestedBlockMerchants = exports.getCardPolicySuggestedBlockCategories = exports.getCardPolicySuggestedAllowMerchants = exports.getCardPolicySuggestedAllowCategories = exports.getCardPolicyStats = exports.getCardPolicyMccCategoriesFetchState = exports.getCardPolicyMccCategoriesError = exports.getCardPolicyMccCategories = exports.getAllCardPolicyTemplates = exports.updatePolicyRecommendationFromUploadSuccess = exports.updatePolicyRecommendationFromUploadFailure = exports.updatePolicyDocumentExtractionSuccess = exports.updatePolicyDocumentExtractionFailure = exports.updateCreatedCardPolicyTemplate = exports.updateCardPolicyVendorOptionsFailure = exports.updateCardPolicyVendorOptions = exports.updateCardPolicyTemplates = exports.updateCardPolicyStats = exports.updateCardPolicyMccCategoriesFailure = exports.updateCardPolicyMccCategories = exports.removeCardPolicyTemplate = exports.fetchCardPolicyVendorOptions = exports.fetchCardPolicyRecommendationFromUpload = exports.fetchCardPolicyMccCategories = exports.extractPolicyDocument = exports.clearPolicyDocumentExtraction = exports.toMessageType = exports.toMessageSender = exports.ALL_SYNTHETIC_AI_CFO_ANSWER_KINDS = exports.toInteractiveFormTypeStrict = exports.toInteractiveFormType = exports.toAiCfoAnswerResponseTypeStrict = exports.toAiCfoAnswerResponseType = exports.toAiCfoAnswerStateTypeStrict = exports.toAiCfoAnswerStateType = exports.toAiCfoChartTypeStrict = exports.toAiCfoChartType = exports.toAiCfoVisualizationTypeStrict = exports.toAiCfoVisualizationType = exports.ALL_INTERACTIVE_FORM_TYPES = exports.ALL_AI_CFO_ANSWER_RESPONSE_TYPES = exports.ALL_AI_CFO_ANSWER_STATE_TYPES = exports.ALL_AI_CFO_VISUALIZATION_TYPES = void 0;
|
|
81
|
+
exports.buildEmptyLimitRows = exports.buildAiCardPolicyFormDraftSeed = exports.toVendorChipFieldValue = exports.toMccCategoryChipFieldValue = exports.buildVendorChipId = exports.buildMccCategoryChipId = exports.VENDOR_CHIP_ID_PREFIX = exports.MCC_CHIP_ID_PREFIX = exports.toMccCategoryLike = exports.CARD_POLICY_LIMIT_ROW_ID_TRANSACTION = exports.CARD_POLICY_LIMIT_ROW_ID_REQUIRE_RECEIPT = exports.getManualCardPolicyFormDraft = exports.getLastCreatedCardPolicyTemplateIds = exports.getLastCreatedCardPolicyTemplateId = exports.getLastCreateCardPolicyTemplateErrors = exports.getLastCreateCardPolicySourceChatSessionId = exports.getCreateCardPolicyTemplateRequestState = exports.getAiCardPolicyFormDraft = exports.updateManualCardPolicyFormDraft = exports.updateCreateCardPolicyTemplateRequestState = exports.updateAiCardPolicyFormDraftFromUploadPlan = exports.updateAiCardPolicyFormDraft = exports.seedManualCardPolicyFormDraft = exports.seedAiCardPolicyFormDraft = exports.createCardPolicyTemplates = exports.clearManualCardPolicyFormDraft = exports.clearCreateCardPolicy = exports.clearAiCardPolicyFormDraft = exports.applyExtractedPolicyToManualCardPolicyDraft = exports.applyExtractedPolicyToAiCardPolicyDraft = exports.toUpdateCardPolicyTemplateRequestBody = exports.toExtractedCardPolicyRules = exports.toCreateCardPolicyTemplatesRequestBody = exports.toCreateCardPolicyTemplateRequestBody = exports.toCardPolicyVendorSearchOption = exports.toCardPolicyTemplateList = exports.toCardPolicyTemplate = exports.toCardPolicyStats = exports.toCardPolicyEditFormDraft = exports.toBulkCreateCardPolicyTemplateError = exports.toCardPolicyTemplateStatus = exports.toCardPolicyTemplateMode = exports.ALL_CARD_POLICY_TEMPLATE_STATUSES = exports.ALL_CARD_POLICY_TEMPLATE_MODES = exports.getUploadedPolicyDocumentFileName = exports.getPolicyRecommendationFromUploadFetchState = exports.getPolicyRecommendationFromUploadError = exports.getPolicyRecommendationFromUploadChatSessionId = exports.getPolicyRecommendationFromUploadAnswerId = exports.getPolicyDocumentExtractionFetchState = void 0;
|
|
82
|
+
exports.BULK_UPLOAD_BAR_COMPLETE_HOLD_MS = exports.BULK_UPLOAD_AUTOMATCHING_TIMEOUT_MS = exports.getAutoTransferRuleHistory = exports.getAutoTransferRuleById = exports.getAutoTransferRules = exports.clearRuleUpdateLocalData = exports.updateRuleLocalData = exports.fetchAutoTransferReviewDetail = exports.fetchAutoTransferRuleHistory = exports.deleteAutoTransferRule = exports.updateAutoTransferRule = exports.createAutoTransferRule = exports.fetchAutoTransferRules = exports.getTreasuryTaxLetters = exports.fetchTreasuryTaxLetterList = exports.getTreasuryStatements = exports.fetchTreasuryStatementList = exports.getTreasuryTransferMoney = exports.clearTreasuryTransferMoney = exports.updateTreasuryTransferMoneyLocalData = exports.executeTreasuryTransferMoney = exports.getTreasuryDetail = exports.updateTreasuryTransactionListUIState = exports.fetchTreasuryTransactionList = exports.fetchTreasuryOverviewDetail = exports.getUpdateCardPolicyFetchState = exports.getCardPolicyFormDraft = exports.getCardPolicyDetailView = exports.getCardPolicyDetailFetchState = exports.updateCardPolicyFormDraft = exports.updateCardPolicyFetchStatus = exports.updateCardPolicyDetailFetchStatus = exports.updateCardPolicy = exports.fetchCardPolicyDetail = exports.getCardPolicyTemplateIds = exports.getCardPolicyListView = exports.getCardPolicyListFetchState = exports.getArchiveCardPolicyFetchState = exports.updateCardPolicyListFetchStatus = exports.updateArchiveCardPolicyFetchStatus = exports.prependCardPolicyTemplateIds = exports.fetchCardPolicyList = exports.archiveCardPolicy = exports.toManualCardPolicyTemplateRequestFromDraft = exports.toBulkCardPolicyTemplateRequestsFromDraft = exports.toCardPolicyTemplateRequestFromDraft = exports.applyAiCardPolicyFormDraftUpdate = exports.deriveAiPolicyReviewRowsFromInputs = exports.buildManualCardPolicyFormDraftSeed = exports.buildUploadReviewRows = void 0;
|
|
83
|
+
exports.updateRecordPaymentFormDraft = exports.submitRecordPayment = exports.initializeRecordPaymentDraft = exports.resetRecordPayment = exports.initialInvoicingCreateInvoiceFormLocalData = exports.createInvoiceFormLocalDataToRequest = exports.blankInvoicingCreateInvoiceLineItem = exports.updateInvoicingCreateInvoiceFormDraft = exports.resetCreateInvoice = exports.fetchCreateInvoiceFormPage = exports.createInvoice = exports.getInvoiceDetail = exports.fetchInvoiceDetailPage = exports.fetchInvoiceDetail = exports.getInvoiceListView = exports.ALL_INVOICING_INVOICE_TAB_IDS = exports.updateInvoiceListFilters = exports.setInvoiceActiveTab = exports.fetchInvoiceListPage = exports.fetchInvoiceList = exports.fetchInvoiceKPIs = exports.fetchInvoiceCounts = exports.getInvoicesByIds = exports.getInvoiceById = exports.updateInvoices = exports.removeInvoice = exports.mapAuditLogEntry = exports.toAuditLogEntityRouteOption = exports.isInvoicingEntityLinkable = exports.buildInvoicingEntityPath = exports.toInvoicingDiscountLifecycleActionOption = exports.toInvoicingDiscountLifecycleAction = exports.toInvoicingCatalogProductLifecycleActionOption = exports.toInvoicingCatalogItemLifecycleActionOption = exports.toInvoicingCatalogProductLifecycleAction = exports.toInvoicingCatalogItemLifecycleAction = exports.toInvoicingSubscriptionLifecycleActionOption = exports.toInvoicingSubscriptionLifecycleAction = exports.toInvoicingDunningAction = exports.INVOICING_DISCOUNT_LIFECYCLE_ACTIONS = exports.INVOICING_CATALOG_PRODUCT_LIFECYCLE_ACTIONS = exports.INVOICING_CATALOG_ITEM_LIFECYCLE_ACTIONS = exports.INVOICING_SUBSCRIPTION_LIFECYCLE_ACTIONS = exports.INVOICING_DUNNING_ACTIONS = exports.toKycProvidedDocumentTypeFromAllowed = exports.toKycProvidedDocumentType = exports.DEFAULT_SESSION_CONFIG = exports.SessionManager = exports.getTransactionActivityLogView = exports.fetchTransactionActivityLog = void 0;
|
|
84
|
+
exports.submitInvoicingSubscriptionForm = exports.resetEditInvoicingSubscriptionDetailView = exports.initializeInvoicingSubscriptionAddress = exports.fetchInvoicingSubscriptionFormPage = exports.fetchInvoicingSubscriptionEstimate = exports.clearInvoicingSubscriptionEstimate = exports.getInvoicingCustomerFormView = exports.initialInvoicingCustomerFormLocalData = exports.entityToInvoicingCustomerFormLocalData = exports.INVOICING_CUSTOMER_BILLING_ADDRESS_TYPE = exports.updateInvoicingCustomerFormDraft = exports.submitInvoicingCustomerFormSuccess = exports.submitInvoicingCustomerFormFailure = exports.submitInvoicingCustomerForm = exports.resetEditInvoicingCustomerDetailView = exports.initializeInvoicingCustomerAddress = exports.getRecordPaymentView = exports.getRecordPaymentInvoiceOptions = exports.getRecordPaymentFormView = exports.getCreateInvoiceFormView = exports.getInvoicingAuditView = exports.fetchInvoicingAuditLog = exports.getInvoicingOverview = exports.buildPeriodOptions = exports.fetchInvoicingOverview = exports.clearInvoicingOverview = exports.initialRecordPaymentFormLocalData = exports.localDataToRecordPaymentPayload = exports.localDataToInvoiceRecordPaymentBody = exports.initializeRecordPaymentDraftFromInvoice = exports.getCreateCreditNoteView = exports.getCreateCreditNoteFormView = exports.initialCreateCreditNoteFormLocalData = exports.localDataToCreateCreditNotePayload = exports.updateCreateCreditNoteFormDraft = exports.submitCreateCreditNote = exports.resetCreateCreditNote = exports.createCreditNoteSuccess = exports.createCreditNoteFailure = exports.getIssueCreditNoteView = exports.initialIssueCreditNoteFormLocalData = exports.localDataToIssueCreditNotePayload = exports.initializeIssueCreditNoteDraftFromInvoice = exports.computeIssueCreditNoteTotal = exports.updateIssueCreditNoteFormDraft = exports.submitIssueCreditNote = exports.resetIssueCreditNote = exports.issueCreditNoteSuccess = exports.issueCreditNoteFailure = exports.initializeIssueCreditNoteDraft = void 0;
|
|
85
|
+
exports.fetchInvoicingMigrationSessions = exports.fetchInvoicingMigrationSession = exports.fetchInvoicingMigrationDiagnostics = exports.fetchInvoicingDataImportStatus = exports.runInvoicingPaymentAction = exports.runInvoicingDunningAction = exports.runInvoicingSubscriptionAction = exports.runInvoicingDiscountAction = exports.runInvoicingCatalogProductAction = exports.runInvoicingCatalogPlanAction = exports.fetchInvoicingCatalogItemDetailPage = exports.shouldDefaultAdjustmentCreditNote = exports.isBackdatedInvoiceDate = exports.buildVoidInvoiceSubmitBody = exports.updateInvoicingInvoice = exports.runInvoicingInvoiceAction = exports.getInvoicingCouponFormView = exports.getEditInvoicingCouponDetailViewState = exports.initialInvoicingCouponFormLocalData = exports.entityToInvoicingCouponFormLocalData = exports.updateInvoicingCouponFormDraft = exports.submitInvoicingCouponForm = exports.saveInvoicingCoupon = exports.resetEditInvoicingCouponDetailView = exports.fetchInvoicingCouponDetailPage = exports.getSavedInvoicingCatalogItemKind = exports.getSavedInvoicingCatalogItemId = exports.getInvoicingCatalogItemFormView = exports.getInvoicingApplicableCatalogItemOptions = exports.isTieredCatalogPricingModel = exports.initialInvoicingCatalogItemFormLocalData = exports.invoicingProductToCatalogItemFormSubFamily = exports.entityToInvoicingCatalogItemFormLocalData = exports.blankInvoicingCatalogTier = exports.blankInvoicingCatalogSubFamily = exports.INVOICING_CATALOG_TIER_TYPE_VALUES = exports.INVOICING_CATALOG_PRORATION_VALUES = exports.INVOICING_CATALOG_PRICING_MODEL_VALUES = exports.INVOICING_CATALOG_APPLICABILITY_VALUES = exports.updateInvoicingCatalogItemFormDraft = exports.submitInvoicingCatalogItemForm = exports.resetEditInvoicingCatalogItemDetailView = exports.getInvoicingSubscriptionFormView = exports.getEditInvoicingSubscriptionDetailViewState = exports.toInvoicingSubscriptionQuantity = exports.invoicingSubscriptionTodayIso = exports.initialInvoicingSubscriptionFormLocalData = exports.entityToInvoicingSubscriptionFormLocalData = exports.INVOICING_SUBSCRIPTION_SHIPPING_ADDRESS_TYPE = exports.updateInvoicingSubscriptionFormDraft = void 0;
|
|
86
|
+
exports.getInvoicingSubscriptionById = exports.fetchInvoicingSubscriptionDetailPage = exports.fetchInvoicingSubscriptionDetail = exports.getInvoicingSubscriptionListView = exports.INVOICING_SUBSCRIPTION_COLUMNS = exports.ALL_INVOICING_SUBSCRIPTION_TAB_IDS = exports.ALL_INVOICING_SUBSCRIPTION_SORT_KEYS = exports.updateInvoicingSubscriptionFilters = exports.setInvoicingSubscriptionActiveTab = exports.fetchInvoicingSubscriptionListPage = exports.fetchInvoicingSubscriptionList = exports.fetchInvoicingSubscriptionCounts = exports.updateInvoicingSubscriptions = exports.removeInvoicingSubscription = exports.resetPromotionalCreditAction = exports.submitAddPromotionalCredits = exports.getInvoicingSetupIntentFetchState = exports.getInvoicingSetupIntent = exports.getInvoicingSentPaymentLinkMagicUrl = exports.getInvoicingSentPaymentLinkEmail = exports.getInvoicingPlaidLinkToken = exports.getInvoicingPaymentMethodSaveState = exports.getInvoicingPaymentLinkSendState = exports.sendInvoicingPaymentLink = exports.saveInvoicingPaymentMethod = exports.resetInvoicingCustomerPaymentMethod = exports.fetchInvoicingPlaidLinkToken = exports.createInvoicingSetupIntent = exports.fetchInvoicingPaymentLinkEmailPreviewPage = exports.fetchInvoicingCustomerDetailPage = exports.fetchInvoicingCustomerDetail = exports.getInvoicingCustomerListView = exports.INVOICING_CUSTOMER_COLUMNS = exports.ALL_INVOICING_CUSTOMER_TAB_IDS = exports.ALL_INVOICING_CUSTOMER_SORT_KEYS = exports.updateInvoicingCustomerFilters = exports.setInvoicingCustomerActiveTab = exports.fetchInvoicingCustomerListPage = exports.fetchInvoicingCustomerList = exports.fetchInvoicingCustomerCounts = exports.updateInvoicingCustomers = exports.removeInvoicingCustomer = exports.INVOICING_LIST_PAGE_SIZE = exports.uploadInvoicingMigrationFiles = exports.startInvoicingMigration = exports.rollbackInvoicingMigration = exports.retryInvoicingMigration = exports.connectInvoicingChargebee = exports.getInvoicingDataImportView = exports.setInvoicingActiveMigrationSessionId = void 0;
|
|
87
|
+
exports.fetchInvoicingDunningCaseList = exports.fetchInvoicingDunningCaseCounts = exports.updateInvoicingDunningCases = exports.removeInvoicingDunningCase = exports.fetchInvoicingCouponDetail = exports.getInvoicingCouponById = exports.getInvoicingCouponListView = exports.getInvoicingCouponListNextCursor = exports.getInvoicingCouponListItems = exports.getInvoicingCouponListHasMore = exports.getInvoicingCouponListFilters = exports.getInvoicingCouponListFetchState = exports.getInvoicingCouponCounts = exports.INVOICING_COUPON_COLUMNS = exports.ALL_INVOICING_COUPON_TAB_IDS = exports.ALL_INVOICING_COUPON_SORT_KEYS = exports.updateInvoicingCouponFilters = exports.setInvoicingCouponActiveTab = exports.fetchInvoicingCouponListPage = exports.fetchInvoicingCouponList = exports.fetchInvoicingCouponCounts = exports.updateInvoicingCoupons = exports.removeInvoicingCoupon = exports.getInvoicingCreditNoteDetail = exports.getInvoicingCreditNoteById = exports.fetchInvoicingCreditNoteDetail = exports.getInvoicingCreditNoteListView = exports.INVOICING_CREDIT_NOTE_COLUMNS = exports.ALL_INVOICING_CREDIT_NOTE_TAB_IDS = exports.ALL_INVOICING_CREDIT_NOTE_SORT_KEYS = exports.updateInvoicingCreditNoteFilters = exports.setInvoicingCreditNoteActiveTab = exports.fetchInvoicingCreditNoteListPage = exports.fetchInvoicingCreditNoteList = exports.fetchInvoicingCreditNoteCounts = exports.updateInvoicingCreditNotes = exports.removeInvoicingCreditNote = exports.getInvoicingTransactionDetail = exports.getInvoicingTransactionById = exports.fetchInvoicingTransactionDetail = exports.getInvoicingTransactionListView = exports.INVOICING_TRANSACTION_COLUMNS = exports.ALL_INVOICING_TRANSACTION_TAB_IDS = exports.ALL_INVOICING_TRANSACTION_SORT_KEYS = exports.updateInvoicingTransactionFilters = exports.setInvoicingTransactionActiveTab = exports.fetchInvoicingTransactionListPage = exports.fetchInvoicingTransactionList = exports.updateInvoicingTransactions = exports.removeInvoicingTransaction = void 0;
|
|
88
|
+
exports.INVOICING_BUSINESS_ADDRESS_TYPE = exports.invoicingQboSettingsLocalDataToPayload = exports.initialInvoicingQboSettingsLocalData = exports.entityToInvoicingQboSettingsLocalData = exports.getInvoicingSettingsView = exports.getInvoicingSettingsHubView = exports.getInvoicingSettingsFetchState = exports.getInvoicingSettings = exports.getInvoicingQboSettingsFormView = exports.getInvoicingBrandingFormView = exports.updateInvoicingSettings = exports.updateInvoicingQboSettingsDraft = exports.updateInvoicingBrandingFormDraft = exports.submitInvoicingQboSettings = exports.submitInvoicingBrandingForm = exports.saveInvoicingSettings = exports.resetSaveInvoicingSettings = exports.resetInvoicingQboSettingsDraft = exports.resetInvoicingBrandingFormDraft = exports.fetchInvoicingSettings = exports.disconnectInvoicingStripe = exports.connectInvoicingStripe = exports.getLowestInvoicingCatalogPricePointAmount = exports.getInvoicingCatalogItemById = exports.fetchInvoicingCatalogItemDetail = exports.getInvoicingCatalogListView = exports.updateInvoicingCatalogProductFilters = exports.updateInvoicingCatalogPlanFilters = exports.fetchInvoicingCatalogProductList = exports.fetchInvoicingCatalogPlanList = exports.fetchInvoicingCatalogListPage = exports.fetchInvoicingCatalogCounts = exports.updateInvoicingCatalogItems = exports.removeInvoicingCatalogItem = exports.mergeInvoicingCatalogPricePoint = exports.getInvoicingDunningEmailPreview = exports.getInvoicingDunningCaseDetail = exports.getInvoicingDunningCaseById = exports.invalidateInvoicingDunningEmailPreview = exports.fetchInvoicingDunningEmailPreviewPage = exports.fetchInvoicingDunningCaseDetailPage = exports.fetchInvoicingDunningCaseDetail = exports.clearInvoicingDunningCaseDetailView = exports.getInvoicingDunningCaseListView = exports.INVOICING_DUNNING_CASE_COLUMNS = exports.ALL_INVOICING_DUNNING_CASE_TAB_IDS = exports.ALL_INVOICING_DUNNING_CASE_SORT_KEYS = exports.updateInvoicingDunningCaseFilters = exports.setInvoicingDunningCaseActiveTab = exports.fetchInvoicingDunningCaseListPage = void 0;
|
|
89
|
+
exports.updateCustomerSummarySortUiState = exports.updateCustomerSummaryScrollYOffset = exports.updateCustomerSummaryRevenueSelection = exports.updateCustomerDetailSelectedTab = exports.updateCustomerAllTransactionsTabData = exports.saveCustomerSummaryDetail = exports.resetCustomerSummaryDetailUiState = exports.fetchCustomerSummaryList = exports.fetchCustomerSummaryDetail = exports.isPendingReviewAccrual = exports.isManuallyReversedAccrual = exports.isAutoReversedAccrual = exports.getExpenseAutomationActualMatchingView = exports.getExpenseAutomationActualMatchingMatchView = exports.parseActualMatchingMatchId = exports.getCloseMatchAfterUndoMatchId = exports.getCloseMatchAfterUndo = exports.getCloseMatchAfterIgnoreMatchId = exports.getActualMatchingMatchModalConfirmStatus = exports.getActualMatchingReversalDate = exports.getActualMatchingAmount = exports.isPendingReviewRow = exports.isRenderableOneTimeAccrual = exports.isOneTimeAccrualRow = exports.isExistingTabRow = exports.isAiAccountantSchedule = exports.isAccruedScheduleRow = exports.getJEScheduleRowType = exports.getExpenseAutomationJEOneTimeAccrualDetailView = exports.getInvoicingOnboardingGateView = exports.getInvoicingConfigView = exports.updateInvoicingConfig = exports.resetInvoicingConfigActionStates = exports.fetchInvoicingConfig = exports.enableInvoicing = exports.acceptInvoicingTerms = exports.toInvoicingQboCustomerMatchingMode = exports.toInvoicingNamedOptionsByKey = exports.getInvoicingQboAccountMappingId = exports.INVOICING_QBO_CUSTOMER_MATCHING_MODES = exports.getInvoicingQboView = exports.invoicingAccountsForQboAccountTypes = exports.startInvoicingQboBackfill = exports.retryInvoicingQboSyncTask = exports.fetchInvoicingQboSyncHealth = exports.fetchInvoicingQboConnection = exports.fetchInvoicingAccountingPickers = exports.isStripeConnectedFromSettings = exports.initialInvoicingBrandingFormLocalData = exports.entityToInvoicingBrandingFormLocalData = void 0;
|
|
90
|
+
exports.CUSTOMER_REVENUE_KEYS = exports.isCustomersTabVisible = exports.getCustomerSummaryTrendFilter = exports.getCustomerSummarySelectedTabType = exports.getCustomerSummaryList = exports.getCustomerSummaryDetail = exports.getCustomerSummaryAllTransactionsTabData = exports.updateCustomerTrendFilter = void 0;
|
|
90
91
|
const allowedValue_1 = require("./commonStateTypes/allowedValue");
|
|
91
92
|
Object.defineProperty(exports, "isAllowedValueWithCode", { enumerable: true, get: function () { return allowedValue_1.isAllowedValueWithCode; } });
|
|
92
93
|
Object.defineProperty(exports, "isAllowedValueWithID", { enumerable: true, get: function () { return allowedValue_1.isAllowedValueWithID; } });
|
|
@@ -378,6 +379,9 @@ Object.defineProperty(exports, "isZeniDomainTenant", { enumerable: true, get: fu
|
|
|
378
379
|
Object.defineProperty(exports, "toTenantCoreDetailsView", { enumerable: true, get: function () { return tenantSelector_1.toTenantCoreDetailsView; } });
|
|
379
380
|
const tenantTypes_1 = require("./entity/tenant/tenantTypes");
|
|
380
381
|
Object.defineProperty(exports, "toExternalSupportedTool", { enumerable: true, get: function () { return tenantTypes_1.toExternalSupportedTool; } });
|
|
382
|
+
const timeEntrySelector_1 = require("./entity/timeEntry/timeEntrySelector");
|
|
383
|
+
Object.defineProperty(exports, "getTaskCategories", { enumerable: true, get: function () { return timeEntrySelector_1.getTaskCategories; } });
|
|
384
|
+
Object.defineProperty(exports, "getTaskCategoryById", { enumerable: true, get: function () { return timeEntrySelector_1.getTaskCategoryById; } });
|
|
381
385
|
const toastNotificationReducer_1 = require("./entity/toastNotification/toastNotificationReducer");
|
|
382
386
|
Object.defineProperty(exports, "pushToastNotification", { enumerable: true, get: function () { return toastNotificationReducer_1.pushToastNotification; } });
|
|
383
387
|
const toastNotificationSelector_1 = require("./entity/toastNotification/toastNotificationSelector");
|
|
@@ -2214,6 +2218,17 @@ const taskListViewHelpers_1 = require("./view/taskManager/taskListView/taskListV
|
|
|
2214
2218
|
Object.defineProperty(exports, "getDueDateValueFromDueDateGroupId", { enumerable: true, get: function () { return taskListViewHelpers_1.getDueDateValueFromDueDateGroupId; } });
|
|
2215
2219
|
Object.defineProperty(exports, "getTaskUpdates", { enumerable: true, get: function () { return taskListViewHelpers_1.getTaskUpdates; } });
|
|
2216
2220
|
Object.defineProperty(exports, "sortSubtasks", { enumerable: true, get: function () { return taskListViewHelpers_1.sortSubtasks; } });
|
|
2221
|
+
const timeEntryViewReducer_1 = require("./view/taskManager/timeEntryView/timeEntryViewReducer");
|
|
2222
|
+
Object.defineProperty(exports, "deleteTimeEntry", { enumerable: true, get: function () { return timeEntryViewReducer_1.deleteTimeEntry; } });
|
|
2223
|
+
Object.defineProperty(exports, "fetchTaskCategories", { enumerable: true, get: function () { return timeEntryViewReducer_1.fetchTaskCategories; } });
|
|
2224
|
+
Object.defineProperty(exports, "fetchTimeEntriesForRange", { enumerable: true, get: function () { return timeEntryViewReducer_1.fetchTimeEntriesForRange; } });
|
|
2225
|
+
Object.defineProperty(exports, "fetchTimeEntriesForTask", { enumerable: true, get: function () { return timeEntryViewReducer_1.fetchTimeEntriesForTask; } });
|
|
2226
|
+
Object.defineProperty(exports, "logTime", { enumerable: true, get: function () { return timeEntryViewReducer_1.logTime; } });
|
|
2227
|
+
Object.defineProperty(exports, "updateTimeEntryMinutes", { enumerable: true, get: function () { return timeEntryViewReducer_1.updateTimeEntryMinutes; } });
|
|
2228
|
+
const timeEntryViewSelector_1 = require("./view/taskManager/timeEntryView/timeEntryViewSelector");
|
|
2229
|
+
Object.defineProperty(exports, "getTimeEntriesForRange", { enumerable: true, get: function () { return timeEntryViewSelector_1.getTimeEntriesForRange; } });
|
|
2230
|
+
Object.defineProperty(exports, "getTimeEntriesForTask", { enumerable: true, get: function () { return timeEntryViewSelector_1.getTimeEntriesForTask; } });
|
|
2231
|
+
Object.defineProperty(exports, "getTimeEntrySaveState", { enumerable: true, get: function () { return timeEntryViewSelector_1.getTimeEntrySaveState; } });
|
|
2217
2232
|
const tasksCardReducer_1 = require("./view/tasksCard/tasksCardReducer");
|
|
2218
2233
|
Object.defineProperty(exports, "fetchTasksCard", { enumerable: true, get: function () { return tasksCardReducer_1.fetchTasksCard; } });
|
|
2219
2234
|
const topExReducer_1 = require("./view/topEx/topExReducer");
|
package/lib/reducer.d.ts
CHANGED
|
@@ -166,6 +166,7 @@ declare const reducers: import("redux").Reducer<import("redux").CombinedState<{
|
|
|
166
166
|
taskGroupTemplateViewState: import("./view/taskManager/taskGroupTemplateView/taskGroupTemplateViewState").TaskGroupTemplateViewState;
|
|
167
167
|
taskGroupViewState: import("./view/taskManager/taskGroupView/taskGroupViewState").TaskGroupViewState;
|
|
168
168
|
taskListState: import("./view/taskManager/taskListView/taskList").TaskListState;
|
|
169
|
+
timeEntryViewState: import("./view/taskManager/timeEntryView/timeEntryViewState").TimeEntryViewState;
|
|
169
170
|
tagViewState: import(".").TagViewState;
|
|
170
171
|
tasksCardState: import("./view/tasksCard/tasksCardState").TasksCardState;
|
|
171
172
|
topExState: import("./view/topEx/topExState").TopExState;
|
|
@@ -266,6 +267,7 @@ declare const reducers: import("redux").Reducer<import("redux").CombinedState<{
|
|
|
266
267
|
subscriptionState: import("./entity/subscription/subscription/subscriptionState").SubscriptionState;
|
|
267
268
|
subscriptionSummaryState: import("./entity/subscription/subscriptionSummary/subscriptionSummaryState").SubscriptionSummaryState;
|
|
268
269
|
tagState: import(".").TagState;
|
|
270
|
+
timeEntryState: import("./entity/timeEntry/timeEntryState").TimeEntryState;
|
|
269
271
|
taskGroupState: import(".").TaskGroupState;
|
|
270
272
|
taskGroupTemplateState: import("./entity/taskGroupTemplate/taskGroupTemplateState").TaskGroupTemplateState;
|
|
271
273
|
taskState: import("./entity/task/taskState").TaskState;
|