@zeniai/client-epic-state 5.1.71 → 5.1.72-betaAK0
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/invoicing/invoicingCommonPayload.d.ts +42 -0
- package/lib/entity/invoicing/invoicingCommonPayload.js +66 -1
- package/lib/entity/tenant/clearAllEpic.d.ts +2 -1
- package/lib/entity/tenant/clearAllEpic.js +2 -0
- package/lib/epic.d.ts +2 -1
- package/lib/epic.js +7 -1
- package/lib/esm/entity/invoicing/invoicingCommonPayload.js +61 -0
- package/lib/esm/entity/tenant/clearAllEpic.js +2 -0
- package/lib/esm/epic.js +7 -1
- package/lib/esm/index.js +6 -2
- package/lib/esm/reducer.js +3 -0
- package/lib/esm/view/invoicing/invoicingConfigView/invoicingConfigViewReducer.js +7 -1
- package/lib/esm/view/invoicing/invoicingConfigView/invoicingConfigViewSelector.js +3 -0
- package/lib/esm/view/invoicing/invoicingQboView/epics/fetchInvoicingQboAccountsEpic.js +25 -0
- package/lib/esm/view/invoicing/invoicingQboView/epics/fetchInvoicingQboClassesEpic.js +15 -0
- package/lib/esm/view/invoicing/invoicingQboView/epics/fetchInvoicingQboConnectionEpic.js +15 -0
- package/lib/esm/view/invoicing/invoicingQboView/epics/fetchInvoicingQboSyncHealthEpic.js +15 -0
- package/lib/esm/view/invoicing/invoicingQboView/epics/invoicingQboViewActionType.js +1 -0
- package/lib/esm/view/invoicing/invoicingQboView/epics/retryInvoicingQboSyncTaskEpic.js +23 -0
- package/lib/esm/view/invoicing/invoicingQboView/epics/startInvoicingQboBackfillEpic.js +18 -0
- package/lib/esm/view/invoicing/invoicingQboView/invoicingQboViewPayload.js +47 -0
- package/lib/esm/view/invoicing/invoicingQboView/invoicingQboViewReducer.js +128 -0
- package/lib/esm/view/invoicing/invoicingQboView/invoicingQboViewSelector.js +20 -0
- package/lib/esm/view/invoicing/invoicingQboView/invoicingQboViewState.js +1 -0
- package/lib/esm/view/notificationPreferencesView/epics/saveNotificationPreferencesEpic.js +13 -16
- package/lib/esm/view/notificationPreferencesView/notificationPreferencesViewPayload.js +7 -2
- package/lib/esm/view/notificationPreferencesView/notificationPreferencesViewReducer.js +55 -10
- package/lib/esm/view/notificationPreferencesView/notificationPreferencesViewSelector.js +23 -13
- package/lib/esm/view/notificationPreferencesView/notificationPreferencesViewState.js +1 -0
- package/lib/index.d.ts +8 -2
- package/lib/index.js +32 -14
- package/lib/reducer.d.ts +3 -0
- package/lib/reducer.js +3 -0
- package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewPayload.d.ts +4 -1
- package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewReducer.d.ts +1 -1
- package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewReducer.js +6 -0
- package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewSelector.d.ts +4 -1
- package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewSelector.js +3 -0
- package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewState.d.ts +4 -1
- package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboAccountsEpic.d.ts +6 -0
- package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboAccountsEpic.js +29 -0
- package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboClassesEpic.d.ts +6 -0
- package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboClassesEpic.js +19 -0
- package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboConnectionEpic.d.ts +6 -0
- package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboConnectionEpic.js +19 -0
- package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboSyncHealthEpic.d.ts +6 -0
- package/lib/view/invoicing/invoicingQboView/epics/fetchInvoicingQboSyncHealthEpic.js +19 -0
- package/lib/view/invoicing/invoicingQboView/epics/invoicingQboViewActionType.d.ts +2 -0
- package/lib/view/invoicing/invoicingQboView/epics/invoicingQboViewActionType.js +2 -0
- package/lib/view/invoicing/invoicingQboView/epics/retryInvoicingQboSyncTaskEpic.d.ts +6 -0
- package/lib/view/invoicing/invoicingQboView/epics/retryInvoicingQboSyncTaskEpic.js +27 -0
- package/lib/view/invoicing/invoicingQboView/epics/startInvoicingQboBackfillEpic.d.ts +6 -0
- package/lib/view/invoicing/invoicingQboView/epics/startInvoicingQboBackfillEpic.js +22 -0
- package/lib/view/invoicing/invoicingQboView/invoicingQboViewPayload.d.ts +79 -0
- package/lib/view/invoicing/invoicingQboView/invoicingQboViewPayload.js +52 -0
- package/lib/view/invoicing/invoicingQboView/invoicingQboViewReducer.d.ts +25 -0
- package/lib/view/invoicing/invoicingQboView/invoicingQboViewReducer.js +132 -0
- package/lib/view/invoicing/invoicingQboView/invoicingQboViewSelector.d.ts +21 -0
- package/lib/view/invoicing/invoicingQboView/invoicingQboViewSelector.js +24 -0
- package/lib/view/invoicing/invoicingQboView/invoicingQboViewState.d.ts +14 -0
- package/lib/view/invoicing/invoicingQboView/invoicingQboViewState.js +2 -0
- package/lib/view/notificationPreferencesView/epics/saveNotificationPreferencesEpic.d.ts +2 -8
- package/lib/view/notificationPreferencesView/epics/saveNotificationPreferencesEpic.js +10 -13
- package/lib/view/notificationPreferencesView/notificationPreferencesViewPayload.d.ts +2 -1
- package/lib/view/notificationPreferencesView/notificationPreferencesViewPayload.js +7 -2
- package/lib/view/notificationPreferencesView/notificationPreferencesViewReducer.d.ts +6 -1
- package/lib/view/notificationPreferencesView/notificationPreferencesViewReducer.js +56 -11
- package/lib/view/notificationPreferencesView/notificationPreferencesViewSelector.js +23 -15
- package/lib/view/notificationPreferencesView/notificationPreferencesViewState.d.ts +1 -0
- package/lib/view/notificationPreferencesView/notificationPreferencesViewState.js +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,19 +1,14 @@
|
|
|
1
|
-
import { EMPTY,
|
|
2
|
-
import { catchError,
|
|
1
|
+
import { EMPTY, of } from 'rxjs';
|
|
2
|
+
import { catchError, filter, finalize, mergeMap, switchMap, takeUntil, withLatestFrom, } from 'rxjs/operators';
|
|
3
3
|
import { openSnackbar } from '../../../entity/snackbar/snackbarReducer';
|
|
4
4
|
import { createZeniAPIStatus, isSuccessResponse, } from '../../../responsePayload';
|
|
5
5
|
import { notificationPreferencesUrl } from '../notificationPreferencesEndpoint';
|
|
6
6
|
import { mapPreferencesToPayload, } from '../notificationPreferencesViewPayload';
|
|
7
|
-
import { clearAllNotificationPreferencesView, clearNotificationPreferencesLocalOverrides, saveNotificationPreferences, saveNotificationPreferencesFailure, saveNotificationPreferencesSuccess,
|
|
7
|
+
import { clearAllNotificationPreferencesView, clearNotificationPreferencesLocalOverrides, saveNotificationPreferences, saveNotificationPreferencesFailure, saveNotificationPreferencesSuccess, } from '../notificationPreferencesViewReducer';
|
|
8
8
|
import { getNotificationLocalOverrides } from '../notificationPreferencesViewSelector';
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
//
|
|
12
|
-
// defer saves until they pause. Consider a max-wait wrapper if this
|
|
13
|
-
// becomes a UX problem.
|
|
14
|
-
debounceTime(DEBOUNCE_MS), withLatestFrom(state$),
|
|
15
|
-
// `switchMap` unsubscribes from any in-flight PUT observable when a new
|
|
16
|
-
// debounced batch fires. The prior HTTP request has already left the
|
|
9
|
+
export const saveNotificationPreferencesEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter((action) => saveNotificationPreferences.match(action)), withLatestFrom(state$),
|
|
10
|
+
// `switchMap` unsubscribes from any in-flight PUT observable when a newer
|
|
11
|
+
// Save fires. The prior HTTP request has already left the
|
|
17
12
|
// client — the network call is NOT cancelled — but its response is
|
|
18
13
|
// ignored, so stale success/failure actions cannot clobber the newer
|
|
19
14
|
// batch's state. Server-side ordering is arrival-order LWW.
|
|
@@ -48,7 +43,7 @@ switchMap(([, state]) => {
|
|
|
48
43
|
const isCancelledSince = () => cancelEpochAtDispatch <
|
|
49
44
|
state$.value.notificationPreferencesViewState.cancelEpoch;
|
|
50
45
|
// Abort the in-flight HTTP request when `switchMap` disposes this
|
|
51
|
-
// observable (
|
|
46
|
+
// observable (a newer Save fires, tenant switch, unmount).
|
|
52
47
|
// Without an AbortSignal, `switchMap` would drop the response
|
|
53
48
|
// client-side but the older PUT would still land on the server —
|
|
54
49
|
// under patch-semantic LWW, a slower older PUT arriving after a
|
|
@@ -74,7 +69,7 @@ switchMap(([, state]) => {
|
|
|
74
69
|
];
|
|
75
70
|
if (!isCancelledSince()) {
|
|
76
71
|
// Surface a user-visible error — without it the UI reverts to
|
|
77
|
-
// server truth after
|
|
72
|
+
// server truth after the save and the failed toggle looks like
|
|
78
73
|
// a mystery UI bug.
|
|
79
74
|
actions.push(errorSnackbar);
|
|
80
75
|
}
|
|
@@ -110,7 +105,9 @@ switchMap(([, state]) => {
|
|
|
110
105
|
// under patch-semantic LWW. Cursor Bugbot 3637969823 + 3641372002.
|
|
111
106
|
takeUntil(actions$.pipe(filter((action) => clearNotificationPreferencesLocalOverrides.match(action) ||
|
|
112
107
|
clearAllNotificationPreferencesView.match(action)))));
|
|
113
|
-
//
|
|
114
|
-
//
|
|
115
|
-
|
|
108
|
+
// `saveNotificationPreferences` (the trigger) already flipped
|
|
109
|
+
// savePreferencesState to In-Progress via its reducer case, so the PUT
|
|
110
|
+
// observable is returned directly — re-emitting the trigger here would
|
|
111
|
+
// loop the epic on itself.
|
|
112
|
+
return request$;
|
|
116
113
|
}));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { toNotificationChannel, toNotificationFrequency, } from '../../entity/notificationRegistry/notificationRegistryState';
|
|
2
|
-
const
|
|
2
|
+
const mapChannelEnabledMap = (raw) => {
|
|
3
3
|
if (raw == null) {
|
|
4
4
|
return {};
|
|
5
5
|
}
|
|
@@ -20,7 +20,8 @@ export const mapPayloadToPreferences = (payload) => {
|
|
|
20
20
|
toNotificationFrequency(frequency),
|
|
21
21
|
]));
|
|
22
22
|
return {
|
|
23
|
-
eventEnabledByChannel:
|
|
23
|
+
eventEnabledByChannel: mapChannelEnabledMap(payload?.event_enabled_by_channel),
|
|
24
|
+
groupChannelEnabledByGroupId: mapChannelEnabledMap(payload?.group_channel_enabled_by_group_id),
|
|
24
25
|
groupFrequencyByGroupId,
|
|
25
26
|
};
|
|
26
27
|
};
|
|
@@ -29,6 +30,10 @@ export const mapPreferencesToPayload = (preferences) => {
|
|
|
29
30
|
if (Object.keys(preferences.eventEnabledByChannel).length > 0) {
|
|
30
31
|
payload.event_enabled_by_channel = preferences.eventEnabledByChannel;
|
|
31
32
|
}
|
|
33
|
+
if (Object.keys(preferences.groupChannelEnabledByGroupId).length > 0) {
|
|
34
|
+
payload.group_channel_enabled_by_group_id =
|
|
35
|
+
preferences.groupChannelEnabledByGroupId;
|
|
36
|
+
}
|
|
32
37
|
if (Object.keys(preferences.groupFrequencyByGroupId).length > 0) {
|
|
33
38
|
payload.group_frequency_by_group_id = preferences.groupFrequencyByGroupId;
|
|
34
39
|
}
|
|
@@ -18,8 +18,18 @@ const mergePreferences = (base, patch) => {
|
|
|
18
18
|
...channels,
|
|
19
19
|
};
|
|
20
20
|
});
|
|
21
|
+
const groupChannelEnabledByGroupId = {
|
|
22
|
+
...base.groupChannelEnabledByGroupId,
|
|
23
|
+
};
|
|
24
|
+
Object.entries(patch.groupChannelEnabledByGroupId).forEach(([groupId, channels]) => {
|
|
25
|
+
groupChannelEnabledByGroupId[groupId] = {
|
|
26
|
+
...(base.groupChannelEnabledByGroupId[groupId] ?? {}),
|
|
27
|
+
...channels,
|
|
28
|
+
};
|
|
29
|
+
});
|
|
21
30
|
return {
|
|
22
31
|
eventEnabledByChannel,
|
|
32
|
+
groupChannelEnabledByGroupId,
|
|
23
33
|
groupFrequencyByGroupId: {
|
|
24
34
|
...base.groupFrequencyByGroupId,
|
|
25
35
|
...patch.groupFrequencyByGroupId,
|
|
@@ -30,16 +40,16 @@ const mergePreferences = (base, patch) => {
|
|
|
30
40
|
// to the server from `localOverrides` — AND whose current value still equals
|
|
31
41
|
// what was saved. Any new edits the user added while the PUT was in flight
|
|
32
42
|
// (either new keys not present in `saved`, OR same keys the user flipped back
|
|
33
|
-
// to a different value) are preserved so the next
|
|
43
|
+
// to a different value) are preserved so the next Save picks them up.
|
|
34
44
|
//
|
|
35
45
|
// Presence-only subtraction (the prior implementation) silently dropped a
|
|
36
|
-
// same-key re-edit that landed AFTER
|
|
46
|
+
// same-key re-edit that landed AFTER a Save fired but BEFORE the response
|
|
37
47
|
// returned. Concrete case:
|
|
38
48
|
// 1. toggle evt1.email = false → localOverrides = {evt1:{email:false}}
|
|
39
|
-
// 2.
|
|
49
|
+
// 2. Save → PUT #1 fires with savedOverrides = {evt1:{email:false}}
|
|
40
50
|
// 3. user re-toggles evt1.email = true → localOverrides = {evt1:{email:true}}
|
|
41
51
|
// 4. PUT #1 success → subtract dropped `email` on presence, so the true
|
|
42
|
-
// re-edit disappeared and next
|
|
52
|
+
// re-edit disappeared and the next Save found nothing to send.
|
|
43
53
|
const subtractSavedOverrides = (current, saved) => {
|
|
44
54
|
const eventEnabledByChannel = {};
|
|
45
55
|
Object.entries(current.eventEnabledByChannel).forEach(([eventId, channels]) => {
|
|
@@ -61,13 +71,38 @@ const subtractSavedOverrides = (current, saved) => {
|
|
|
61
71
|
eventEnabledByChannel[eventId] = remainingChannels;
|
|
62
72
|
}
|
|
63
73
|
});
|
|
74
|
+
// Same value-equality subtraction as eventEnabledByChannel above — a
|
|
75
|
+
// group-channel master the user re-flipped while a PUT was in flight must
|
|
76
|
+
// survive so the next Save re-sends it.
|
|
77
|
+
const groupChannelEnabledByGroupId = {};
|
|
78
|
+
Object.entries(current.groupChannelEnabledByGroupId).forEach(([groupId, channels]) => {
|
|
79
|
+
const savedChannels = saved.groupChannelEnabledByGroupId[groupId];
|
|
80
|
+
if (savedChannels == null) {
|
|
81
|
+
groupChannelEnabledByGroupId[groupId] = channels;
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const remainingChannels = {};
|
|
85
|
+
Object.keys(channels).forEach((channel) => {
|
|
86
|
+
if (!(channel in savedChannels) ||
|
|
87
|
+
channels[channel] !== savedChannels[channel]) {
|
|
88
|
+
remainingChannels[channel] = channels[channel];
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
if (Object.keys(remainingChannels).length > 0) {
|
|
92
|
+
groupChannelEnabledByGroupId[groupId] = remainingChannels;
|
|
93
|
+
}
|
|
94
|
+
});
|
|
64
95
|
const groupFrequencyByGroupId = {};
|
|
65
96
|
Object.entries(current.groupFrequencyByGroupId).forEach(([groupId, frequency]) => {
|
|
66
97
|
if (saved.groupFrequencyByGroupId[groupId] !== frequency) {
|
|
67
98
|
groupFrequencyByGroupId[groupId] = frequency;
|
|
68
99
|
}
|
|
69
100
|
});
|
|
70
|
-
return {
|
|
101
|
+
return {
|
|
102
|
+
eventEnabledByChannel,
|
|
103
|
+
groupChannelEnabledByGroupId,
|
|
104
|
+
groupFrequencyByGroupId,
|
|
105
|
+
};
|
|
71
106
|
};
|
|
72
107
|
const notificationPreferencesView = createSlice({
|
|
73
108
|
name: 'notificationPreferencesView',
|
|
@@ -123,8 +158,8 @@ const notificationPreferencesView = createSlice({
|
|
|
123
158
|
// snapshot of the server-known preferences (empty maps included), so
|
|
124
159
|
// REPLACE `preferences` rather than merging — merging would leak keys
|
|
125
160
|
// the server has since removed. DO NOT touch `localOverrides`: a refetch
|
|
126
|
-
// that fires while the user has
|
|
127
|
-
//
|
|
161
|
+
// that fires while the user has unsaved edits must not silently drop
|
|
162
|
+
// them; the save-success path is the only clearer.
|
|
128
163
|
// A `null`/`undefined` payload isn't a snapshot at all (e.g. the
|
|
129
164
|
// envelope key was omitted); no-op instead of wiping preferences.
|
|
130
165
|
if (action.payload.preferences == null) {
|
|
@@ -177,8 +212,8 @@ const notificationPreferencesView = createSlice({
|
|
|
177
212
|
// In-flight-edit invariant: `savedOverrides` is the exact snapshot the
|
|
178
213
|
// epic PUT to the server. Subtracting those keys from `localOverrides`
|
|
179
214
|
// (instead of clearing it wholesale) preserves any edits the user
|
|
180
|
-
// added AFTER the
|
|
181
|
-
// next
|
|
215
|
+
// added AFTER the Save fired but BEFORE the response landed. The
|
|
216
|
+
// next Save will pick them up. Clearing wholesale drops
|
|
182
217
|
// in-flight edits from both UI (once server echo lands) and server.
|
|
183
218
|
// Cancel/in-flight-save race: `cancelEpoch` monotonically increases
|
|
184
219
|
// on every Cancel. If the save captured a lower epoch at dispatch,
|
|
@@ -204,6 +239,16 @@ const notificationPreferencesView = createSlice({
|
|
|
204
239
|
draft.preferences = mergePreferences(draft.preferences, patch);
|
|
205
240
|
draft.localOverrides = subtractSavedOverrides(draft.localOverrides, action.payload.savedOverrides);
|
|
206
241
|
},
|
|
242
|
+
setGroupChannelMaster(draft, action) {
|
|
243
|
+
// Mirror of `toggleEventChannel` but scoped to the group-channel master
|
|
244
|
+
// held under `groupChannelEnabledByGroupId[groupId][channel]`.
|
|
245
|
+
const { channel, enabled, groupId } = action.payload;
|
|
246
|
+
const groupMap = {
|
|
247
|
+
...(draft.localOverrides.groupChannelEnabledByGroupId[groupId] ?? {}),
|
|
248
|
+
};
|
|
249
|
+
groupMap[channel] = enabled;
|
|
250
|
+
draft.localOverrides.groupChannelEnabledByGroupId[groupId] = groupMap;
|
|
251
|
+
},
|
|
207
252
|
setGroupFrequency(draft, action) {
|
|
208
253
|
draft.localOverrides.groupFrequencyByGroupId[action.payload.groupId] =
|
|
209
254
|
action.payload.frequency;
|
|
@@ -218,5 +263,5 @@ const notificationPreferencesView = createSlice({
|
|
|
218
263
|
},
|
|
219
264
|
},
|
|
220
265
|
});
|
|
221
|
-
export const { clearAllNotificationPreferencesView, clearNotificationPreferencesLocalOverrides, fetchNotificationPreferencesSuccess, saveNotificationPreferences, saveNotificationPreferencesFailure, saveNotificationPreferencesSuccess, setGroupFrequency, toggleEventChannel, } = notificationPreferencesView.actions;
|
|
266
|
+
export const { clearAllNotificationPreferencesView, clearNotificationPreferencesLocalOverrides, fetchNotificationPreferencesSuccess, saveNotificationPreferences, saveNotificationPreferencesFailure, saveNotificationPreferencesSuccess, setGroupChannelMaster, setGroupFrequency, toggleEventChannel, } = notificationPreferencesView.actions;
|
|
222
267
|
export default notificationPreferencesView.reducer;
|
|
@@ -1,25 +1,35 @@
|
|
|
1
|
+
import { createSelector } from '@reduxjs/toolkit';
|
|
1
2
|
const getView = (state) => state.notificationPreferencesViewState;
|
|
2
3
|
export const getNotificationPreferencesSaveState = (state) => getView(state).savePreferencesState;
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
// Memoised on `preferences` + `localOverrides` so the merged shape keeps a
|
|
5
|
+
// stable reference while neither input changes — a plain function would
|
|
6
|
+
// allocate a fresh object on every call and re-render every `useSelector`
|
|
7
|
+
// consumer on any unrelated dispatch.
|
|
8
|
+
export const getEffectiveNotificationPreferences = createSelector((state) => getView(state).preferences, (state) => getView(state).localOverrides, (preferences, localOverrides) => {
|
|
9
|
+
const mergedEventEnabledByChannel = { ...preferences.eventEnabledByChannel };
|
|
10
|
+
Object.entries(localOverrides.eventEnabledByChannel).forEach(([eventId, channels]) => {
|
|
7
11
|
mergedEventEnabledByChannel[eventId] = {
|
|
8
|
-
...(
|
|
12
|
+
...(preferences.eventEnabledByChannel[eventId] ?? {}),
|
|
13
|
+
...channels,
|
|
14
|
+
};
|
|
15
|
+
});
|
|
16
|
+
const mergedGroupChannelEnabledByGroupId = { ...preferences.groupChannelEnabledByGroupId };
|
|
17
|
+
Object.entries(localOverrides.groupChannelEnabledByGroupId).forEach(([groupId, channels]) => {
|
|
18
|
+
mergedGroupChannelEnabledByGroupId[groupId] = {
|
|
19
|
+
...(preferences.groupChannelEnabledByGroupId[groupId] ?? {}),
|
|
9
20
|
...channels,
|
|
10
21
|
};
|
|
11
22
|
});
|
|
12
23
|
return {
|
|
13
24
|
eventEnabledByChannel: mergedEventEnabledByChannel,
|
|
25
|
+
groupChannelEnabledByGroupId: mergedGroupChannelEnabledByGroupId,
|
|
14
26
|
groupFrequencyByGroupId: {
|
|
15
|
-
...
|
|
16
|
-
...
|
|
27
|
+
...preferences.groupFrequencyByGroupId,
|
|
28
|
+
...localOverrides.groupFrequencyByGroupId,
|
|
17
29
|
},
|
|
18
30
|
};
|
|
19
|
-
};
|
|
31
|
+
});
|
|
20
32
|
export const getNotificationLocalOverrides = (state) => getView(state).localOverrides;
|
|
21
|
-
export const hasUnsavedNotificationPreferences = (state) =>
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
Object.keys(overrides.groupFrequencyByGroupId).length > 0);
|
|
25
|
-
};
|
|
33
|
+
export const hasUnsavedNotificationPreferences = createSelector((state) => getView(state).localOverrides, (localOverrides) => Object.keys(localOverrides.eventEnabledByChannel).length > 0 ||
|
|
34
|
+
Object.keys(localOverrides.groupChannelEnabledByGroupId).length > 0 ||
|
|
35
|
+
Object.keys(localOverrides.groupFrequencyByGroupId).length > 0);
|
package/lib/index.d.ts
CHANGED
|
@@ -337,7 +337,7 @@ import { fetchNetBurnOrIncomeStoryCard, updateNetBurnOrIncomeStoryCardSettings }
|
|
|
337
337
|
import { getNetBurnOrIncomeStoryCardReport } from './view/netBurnOrIncomeStoryCard/netBurnOrIncomeStoryCardSelector';
|
|
338
338
|
import { AccountingMethod, NetBurnOrIncomeStoryCardReport } from './view/netBurnOrIncomeStoryCard/netBurnOrIncomeStoryCardSelectorTypes';
|
|
339
339
|
import { AverageMonthsCount, NetBurnOrIncomeRunway, NetBurnOrIncomeStoryCardState, TimeSpanIdForAverage } from './view/netBurnOrIncomeStoryCard/netBurnOrIncomeStoryCardState';
|
|
340
|
-
import { clearAllNotificationPreferencesView, clearNotificationPreferencesLocalOverrides, setGroupFrequency, toggleEventChannel } from './view/notificationPreferencesView/notificationPreferencesViewReducer';
|
|
340
|
+
import { clearAllNotificationPreferencesView, clearNotificationPreferencesLocalOverrides, saveNotificationPreferences, setGroupChannelMaster, setGroupFrequency, toggleEventChannel } from './view/notificationPreferencesView/notificationPreferencesViewReducer';
|
|
341
341
|
import { getEffectiveNotificationPreferences, getNotificationLocalOverrides, getNotificationPreferencesSaveState, hasUnsavedNotificationPreferences } from './view/notificationPreferencesView/notificationPreferencesViewSelector';
|
|
342
342
|
import { NotificationPreferences } from './view/notificationPreferencesView/notificationPreferencesViewState';
|
|
343
343
|
import { fetchNotificationUnreadCount, fetchNotificationUnreadCountSuccess, fetchNotificationView, updateNotificationViewAllNotificationsStatus, updateNotificationViewCurrentTabAndSubTab, updateNotificationViewNotificationStatus, updateNotificationViewSubTab, updateNotificationViewTabState, updateNotificationViewUIState } from './view/notificationView/notificationViewReducer';
|
|
@@ -908,7 +908,7 @@ export { ExternalNotificationData, NotificationGroup, NotificationActivityType,
|
|
|
908
908
|
export { NotificationView, NotificationViewUIState, NotificationTabState, NotificationTabType, NotificationSubTabType, toNotificationSubTabTypeStrict, toNotificationTabTypeStrict, fetchNotificationView, fetchNotificationUnreadCount, fetchNotificationUnreadCountSuccess, updateNotificationViewAllNotificationsStatus, updateNotificationViewNotificationStatus, updateNotificationViewTabState, updateNotificationViewCurrentTabAndSubTab, updateNotificationViewSubTab, updateNotificationViewUIState, getNotificationView, getExternalNotificationsForSelectedSubTab, getNotificationsForSelectedSubTab, };
|
|
909
909
|
export { clearFeatureNotificationView, fetchRegisteredInterests, notifyMeForFeature, getFeatureNotificationView, getRegisteredInterests, getRegisteredInterestsByFeature, isFeatureInterestRegistered, FeatureInterest, FeatureNotificationViewState, };
|
|
910
910
|
export { pushToastNotification, ToastNotification, ToastNotificationPayload, getLastNotificationTime, getNotifications, };
|
|
911
|
-
export { getEffectiveNotificationPreferences, getNotificationLocalOverrides, getNotificationPreferencesSaveState, getNotificationRegistry, hasUnsavedNotificationPreferences, NotificationChannel, NotificationFrequency, NotificationPreferences, NotificationRegistry, RegistryNotificationEvent, RegistryNotificationGroup, clearAllNotificationPreferencesView, clearNotificationPreferencesLocalOverrides, setGroupFrequency, toggleEventChannel, toNotificationChannel, toNotificationFrequency, };
|
|
911
|
+
export { getEffectiveNotificationPreferences, getNotificationLocalOverrides, getNotificationPreferencesSaveState, getNotificationRegistry, hasUnsavedNotificationPreferences, NotificationChannel, NotificationFrequency, NotificationPreferences, NotificationRegistry, RegistryNotificationEvent, RegistryNotificationGroup, clearAllNotificationPreferencesView, clearNotificationPreferencesLocalOverrides, saveNotificationPreferences, setGroupChannelMaster, setGroupFrequency, toggleEventChannel, toNotificationChannel, toNotificationFrequency, };
|
|
912
912
|
export { getReferralListView, getInviteFormView, ReferralListSelectorView, ReferralViewState, InviteCompanyLocalData, ReferralInvitation, ReferralListViewSortKey, ReferralViewUIState, toReferralListViewSortKeyType, ReferralStatus, ReferralAmountStatus, StatusTypes, AmountStatusTypes, DEFAULT_REFERRER_AMOUNT, fetchReferrals, sendReferralInvite, clearReferrals, saveReferralFormDataInLocalStore, updateReferralListSortUiState, resendReferralInvite, fetchRewardsPlan, RewardsPlanCardReport, getRewardsPlanCard, updateReferViewed, RewardsPlanData, };
|
|
913
913
|
export { ALL_WEEK_DAYS, DayOfWeek, RecurringDatePickerOptions, RecurringFrequencyType, SEMI_WEEKLY_REQUIRED_DAYS_COUNT, getMinAllowedEndDate, getRecurringEndDateFromCount, toDayOfWeek, toRecurringFrequency, };
|
|
914
914
|
export { fetchCockpitContext, fetchCompanyTaskManagerView, fetchTaskManagerMetrics, CompanyTaskManagerSelectorView, CompanyTaskManagerViewUIState, TaskManagerMetrics, getCompanyTaskManagerView, TaskWithCompanyDetail, createTaskFromTaskGroupTemplate, TaskGroupTemplate, };
|
|
@@ -1194,6 +1194,12 @@ export type { InvoicingBrandingFormView, InvoicingSettingsView, } from './view/i
|
|
|
1194
1194
|
export type { InvoicingBrandingFormLocalData } from './view/invoicing/settingsView/invoicingBrandingFormConfig';
|
|
1195
1195
|
export { INVOICING_BUSINESS_ADDRESS_TYPE, entityToInvoicingBrandingFormLocalData, initialInvoicingBrandingFormLocalData, } from './view/invoicing/settingsView/invoicingBrandingFormConfig';
|
|
1196
1196
|
export { isStripeConnectedFromSettings } from './view/invoicing/settingsView/invoicingSettingsHelpers';
|
|
1197
|
+
export { clearInvoicingQboView, fetchInvoicingQboAccounts, fetchInvoicingQboClasses, fetchInvoicingQboConnection, fetchInvoicingQboSyncHealth, retryInvoicingQboSyncTask, startInvoicingQboBackfill, } from './view/invoicing/invoicingQboView/invoicingQboViewReducer';
|
|
1198
|
+
export { getInvoicingQboView } from './view/invoicing/invoicingQboView/invoicingQboViewSelector';
|
|
1199
|
+
export type { InvoicingQboView } from './view/invoicing/invoicingQboView/invoicingQboViewSelector';
|
|
1200
|
+
export type { InvoicingQboAccountOption, InvoicingQboConnection, InvoicingQboFailedTask, InvoicingQboSyncHealth, } from './view/invoicing/invoicingQboView/invoicingQboViewPayload';
|
|
1201
|
+
export { INVOICING_QBO_CUSTOMER_MATCHING_MODES, getInvoicingQboAccountMappingId, toInvoicingQboCustomerMatchingMode, withInvoicingQboAccountMappingId, } from './entity/invoicing/invoicingCommonPayload';
|
|
1202
|
+
export type { InvoicingNamedOption, InvoicingQboAccountMappingKindOption, InvoicingQboAccountMappingsPayload, InvoicingQboCustomerMatchingMode, InvoicingQboSettingsPayload, } from './entity/invoicing/invoicingCommonPayload';
|
|
1197
1203
|
export { acceptInvoicingTerms, clearInvoicingConfig, enableInvoicing, fetchInvoicingConfig, resetInvoicingConfigActionStates, updateInvoicingConfig, } from './view/invoicing/invoicingConfigView/invoicingConfigViewReducer';
|
|
1198
1204
|
export { getInvoicingConfigView } from './view/invoicing/invoicingConfigView/invoicingConfigViewSelector';
|
|
1199
1205
|
export type { InvoicingConfigView } from './view/invoicing/invoicingConfigView/invoicingConfigViewSelector';
|
package/lib/index.js
CHANGED
|
@@ -70,20 +70,20 @@ exports.toScheduleTypesTypeStrict = exports.toScheduleTypesType = exports.getFet
|
|
|
70
70
|
exports.fetchGlobalMerchantRecommendation = exports.getVendorDetailSelectorView = exports.saveVendorDetailsView = exports.updateReviewVendorDetailLocalData = exports.clearGlobalMerchantAutoCompleteResults = exports.fetchGlobalMerchantAutoCompleteView = exports.updateVendorFirstReviewSortUiState = exports.updateVendorFirstReviewViewLocalData = exports.saveVendorFirstReviewView = exports.clearRecentlySavedErroredVendorData = exports.updateVendorFirstReviewViewPageToken = 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 = void 0;
|
|
71
71
|
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 = exports.fetchTaskDetailPage = exports.getTaskDetail = exports.fetchTaskListPage = 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 = void 0;
|
|
72
72
|
exports.getZeniOAuthApproveRedirectUrl = exports.getZeniOAuthApproveFetchState = exports.getZeniOAuthApproveError = exports.clearZeniOAuthView = exports.approveOAuthConsentSuccess = exports.approveOAuthConsentFailure = exports.approveOAuthConsent = exports.fetchZeniAccountsPromoCard = exports.getZeniAccountsPromoCard = 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 = 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 = void 0;
|
|
73
|
-
exports.
|
|
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.getInvoicingConfigView = exports.updateInvoicingConfig = exports.resetInvoicingConfigActionStates = exports.fetchInvoicingConfig = exports.enableInvoicing = exports.clearInvoicingConfig = exports.acceptInvoicingTerms = exports.isStripeConnectedFromSettings = exports.initialInvoicingBrandingFormLocalData = exports.entityToInvoicingBrandingFormLocalData = exports.INVOICING_BUSINESS_ADDRESS_TYPE = exports.getInvoicingSettingsView = exports.getInvoicingSettingsFetchState = exports.getInvoicingSettings = exports.getInvoicingBrandingFormView = exports.updateInvoicingSettings = exports.updateInvoicingBrandingFormDraft = exports.submitInvoicingBrandingForm = exports.saveInvoicingSettings = exports.resetSaveInvoicingSettings = exports.resetInvoicingBrandingFormDraft = exports.fetchInvoicingSettings = exports.disconnectInvoicingStripe = void 0;
|
|
73
|
+
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 = exports.getNotificationLocalOverrides = exports.getEffectiveNotificationPreferences = exports.getNotifications = exports.getLastNotificationTime = exports.pushToastNotification = exports.isFeatureInterestRegistered = exports.getRegisteredInterestsByFeature = exports.getRegisteredInterests = exports.getFeatureNotificationView = exports.notifyMeForFeature = exports.fetchRegisteredInterests = exports.clearFeatureNotificationView = 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 = void 0;
|
|
74
|
+
exports.getAiAccountantCustomers = exports.updateAiAccountantJobs = exports.updateAiAccountantCustomer = exports.updateAiAccountantCustomers = exports.clearAllAiAccountantCustomers = exports.toAiAccountantJob = exports.toAiAccountantEnrollment = exports.toAiAccountantCustomer = exports.toAiAccountantOperationType = exports.toAiAccountantJobStatus = exports.toAiAccountantEnrollmentStatus = exports.getAllowedOperationsForStatus = exports.getTreasuryFundsMaximumYield = exports.getTreasurySetupViewDetails = exports.updateTreasuryVideoViewed = exports.updateTreasuryPromoRemindMeLaterClicked = exports.updateTreasuryPromoIntroClosedByOutsideClick = exports.updateFundAllocationLocalData = exports.fetchPortfolioAllocation = exports.updatePortfolioAllocation = exports.fetchTreasuryFunds = exports.clearTreasurySetupView = 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 = void 0;
|
|
75
|
+
exports.appendSyntheticAiCfoAnswer = exports.toAiCfoVisualization = exports.clearAiCfo = exports.clearSession = exports.addQuestionPayload = exports.upsertOrAddQuestionAnswerPayload = exports.upsertAnswerPayload = exports.updateAiCfoAnswerCardPolicyWizardPlan = exports.setSessions = exports.setNewSession = exports.getSkills = exports.getSuggestedQuestionsForPageContext = exports.getAiCfoView = exports.clearAiCfoSidePanelHostPageContext = exports.applyAiCfoSidePanelHostPageTransition = exports.fetchSkillsFailure = exports.fetchSkillsSuccess = exports.fetchSkills = exports.fetchSuggestedQuestionsFailure = exports.fetchSuggestedQuestionsSuccess = exports.fetchSuggestedQuestions = exports.updateResponseState = exports.submitFeedback = exports.deleteChatSession = exports.acceptMasterTOS = exports.fetchChatHistory = exports.stopSubmitQuestion = exports.stopSubmit = exports.createSessionAndSubmit = exports.clearLastContextMessage = exports.clearDeleteChatSessionStatus = exports.clearCurrentSessionId = exports.clearAiCfoView = exports.setSession = exports.clearInput = exports.updateCotCollapsedState = exports.updateCurrentInput = exports.updateAiCfoViewScrollPosition = exports.submitQuestion = exports.createSession = exports.fetchChatSessionsForUser = exports.getAiAccountantCockpitView = exports.updateAiAccountantUIState = exports.triggerAiAccountantJob = exports.setSelectedTenantIdsForJobTrigger = exports.fetchAiAccountantJobs = exports.fetchAiAccountantCustomers = exports.clearAiAccountantView = exports.cancelAiAccountantOnboarding = exports.getAiAccountantJobsByTenantId = void 0;
|
|
76
|
+
exports.getCardPolicyStats = exports.getCardPolicyMccCategoriesFetchState = exports.getCardPolicyMccCategoriesError = exports.getCardPolicyMccCategories = exports.getAllCardPolicyTemplates = exports.clearCardPolicy = 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 = exports.ALL_AI_CFO_CHARTS_TYPES = exports.getSyntheticAiCfoAnswerByQuestionAnswerId = exports.getSyntheticAiCfoAnswersForChatSession = exports.getAiCfoSelectorView = exports.getAllQuestionsForChatSession = exports.getQuestionAnswerByIdForChatSession = exports.getAllQuestionAnswersForChatSession = exports.clearSyntheticAiCfoAnswers = exports.removeSyntheticAiCfoAnswer = exports.updateSyntheticAiCfoAnswer = void 0;
|
|
77
|
+
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 = exports.getPolicyDocumentExtractionError = exports.getExtractedCardPolicyRules = exports.getCardPolicyVendorSearchString = exports.getCardPolicyVendorSearchOptions = exports.getCardPolicyVendorSearchFetchState = exports.getCardPolicyTemplatesByIds = exports.getCardPolicyTemplateById = exports.getCardPolicySuggestedBlockMerchants = exports.getCardPolicySuggestedBlockCategories = exports.getCardPolicySuggestedAllowMerchants = exports.getCardPolicySuggestedAllowCategories = void 0;
|
|
78
|
+
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.clearCardPolicyDetail = exports.getCardPolicyTemplateIds = exports.getCardPolicyListView = exports.getCardPolicyListFetchState = exports.getArchiveCardPolicyFetchState = exports.updateCardPolicyListFetchStatus = exports.updateArchiveCardPolicyFetchStatus = exports.prependCardPolicyTemplateIds = exports.fetchCardPolicyList = exports.clearCardPolicyList = exports.archiveCardPolicy = exports.toManualCardPolicyTemplateRequestFromDraft = exports.toBulkCardPolicyTemplateRequestsFromDraft = exports.toCardPolicyTemplateRequestFromDraft = exports.applyAiCardPolicyFormDraftUpdate = exports.deriveAiPolicyReviewRowsFromInputs = exports.buildManualCardPolicyFormDraftSeed = exports.buildUploadReviewRows = 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 = void 0;
|
|
79
|
+
exports.ALL_INVOICING_INVOICE_TAB_IDS = exports.updateInvoiceListFilters = exports.setInvoiceActiveTab = exports.fetchInvoiceListPage = exports.fetchInvoiceList = exports.fetchInvoiceKPIs = exports.fetchInvoiceCounts = exports.clearInvoiceList = exports.getInvoicesByIds = exports.getInvoiceById = exports.updateInvoices = exports.removeInvoice = exports.clearAllInvoices = 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 = 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 = void 0;
|
|
80
|
+
exports.fetchInvoicingAuditLog = exports.clearInvoicingAuditView = exports.getInvoicingOverview = exports.buildPeriodOptions = exports.fetchInvoicingOverview = exports.clearInvoicingOverview = exports.initialRecordPaymentFormLocalData = exports.INVOICING_PAYMENT_METHOD_VALUES = exports.INVOICING_PAYMENT_GATEWAY_VALUES = 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.getIssueCreditNoteFormView = exports.initialIssueCreditNoteFormLocalData = exports.INVOICING_CREDIT_NOTE_REASON_CODES = exports.localDataToIssueCreditNotePayload = exports.initializeIssueCreditNoteDraftFromInvoice = exports.computeIssueCreditNoteTotal = exports.updateIssueCreditNoteFormDraft = exports.submitIssueCreditNote = exports.resetIssueCreditNote = exports.issueCreditNoteSuccess = exports.issueCreditNoteFailure = exports.initializeIssueCreditNoteDraft = 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.fetchInvoiceDetail = exports.clearAllInvoiceDetail = exports.getInvoiceListView = exports.INVOICING_INVOICE_TABS = void 0;
|
|
81
|
+
exports.entityToInvoicingCatalogItemFormLocalData = exports.blankInvoicingCatalogTier = exports.blankInvoicingCatalogSubFamily = exports.INVOICING_CATALOG_TYPE_VALUES = exports.INVOICING_CATALOG_TRIAL_UNIT_VALUES = exports.INVOICING_CATALOG_TRIAL_END_ACTION_VALUES = exports.INVOICING_CATALOG_TIER_TYPE_VALUES = exports.INVOICING_CATALOG_PRORATION_VALUES = exports.INVOICING_CATALOG_PRICING_MODEL_VALUES = exports.INVOICING_CATALOG_PERIOD_UNIT_VALUES = exports.INVOICING_CATALOG_APPLICABILITY_VALUES = exports.productToCreateSubFamilyFormValues = exports.planToCatalogDetailEditValues = exports.createSubFamilyFormToPayload = exports.catalogDetailEditValuesToSavePayload = exports.updateInvoicingCatalogItemFormDraft = exports.submitInvoicingCatalogItemForm = exports.saveInvoicingCatalogItem = exports.resetEditInvoicingCatalogItemDetailView = exports.createInvoicingCatalogSubFamily = exports.archiveInvoicingCatalogSubFamily = exports.getInvoicingSubscriptionFormView = exports.getEditInvoicingSubscriptionDetailViewState = exports.initialInvoicingSubscriptionFormLocalData = exports.entityToInvoicingSubscriptionFormLocalData = exports.INVOICING_SUBSCRIPTION_SHIPPING_ADDRESS_TYPE = exports.INVOICING_SUBSCRIPTION_BILLING_FREQUENCY_VALUES = exports.updateInvoicingSubscriptionFormDraft = exports.submitInvoicingSubscriptionForm = exports.resetEditInvoicingSubscriptionDetailView = exports.initializeInvoicingSubscriptionAddress = exports.fetchInvoicingSubscriptionFormPage = exports.getInvoicingCustomerFormView = exports.initialInvoicingCustomerFormLocalData = exports.entityToInvoicingCustomerFormLocalData = exports.INVOICING_TAXABILITY_VALUES = exports.INVOICING_NET_TERM_DAY_VALUES = exports.INVOICING_CUSTOMER_TYPE_VALUES = 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 = void 0;
|
|
82
|
+
exports.INVOICING_LIST_PAGE_SIZE = exports.getInvoicingDataImportActionState = exports.uploadInvoicingMigrationFiles = exports.startInvoicingMigration = exports.rollbackInvoicingMigration = exports.retryInvoicingMigration = exports.connectInvoicingChargebee = exports.clearAllInvoicingDataImportActions = exports.getInvoicingDataImportView = exports.setInvoicingActiveMigrationSessionId = exports.fetchInvoicingMigrationSessions = exports.fetchInvoicingMigrationSession = exports.fetchInvoicingMigrationDiagnostics = exports.fetchInvoicingDataImportStatus = exports.clearInvoicingDataImportView = exports.getInvoicingPaymentActionState = exports.runInvoicingPaymentAction = exports.clearInvoicingPaymentAction = exports.getInvoicingDunningActionState = exports.runInvoicingDunningAction = exports.clearInvoicingDunningAction = exports.getInvoicingSubscriptionActionState = exports.runInvoicingSubscriptionAction = exports.clearInvoicingSubscriptionAction = exports.getInvoicingDiscountActionState = exports.runInvoicingDiscountAction = exports.clearInvoicingDiscountAction = exports.getInvoicingCatalogActionState = exports.runInvoicingCatalogProductAction = exports.runInvoicingCatalogPlanAction = exports.clearInvoicingCatalogAction = exports.getInvoicingInvoiceActionState = exports.updateInvoicingInvoice = exports.runInvoicingInvoiceAction = exports.clearInvoicingInvoiceAction = exports.getInvoicingCouponFormView = exports.getEditInvoicingCouponDetailViewState = exports.initialInvoicingCouponFormLocalData = exports.entityToInvoicingCouponFormLocalData = exports.updateInvoicingCouponFormDraft = exports.submitInvoicingCouponForm = exports.saveInvoicingCoupon = exports.resetEditInvoicingCouponDetailView = exports.getSavedInvoicingCatalogItemKind = exports.getSavedInvoicingCatalogItemId = exports.getInvoicingCatalogItemFormView = exports.getInvoicingApplicableCatalogItemOptions = exports.getEditInvoicingCatalogItemDetailViewState = exports.isTieredCatalogPricingModel = exports.initialInvoicingCatalogItemFormLocalData = void 0;
|
|
83
|
+
exports.getInvoicingSubscriptionById = exports.fetchInvoicingSubscriptionDetail = exports.clearInvoicingSubscriptionDetailView = exports.getInvoicingSubscriptionListView = exports.INVOICING_SUBSCRIPTION_TABS = 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.clearInvoicingSubscriptionListView = exports.updateInvoicingSubscriptions = exports.removeInvoicingSubscription = exports.clearAllInvoicingSubscriptions = exports.resetPromotionalCreditAction = exports.submitAddPromotionalCredits = exports.getInvoicingSetupIntentFetchState = exports.getInvoicingSetupIntent = exports.getInvoicingSentPaymentLinkMagicUrl = exports.getInvoicingSentPaymentLinkEmail = exports.getInvoicingPlaidLinkTokenFetchState = exports.getInvoicingPlaidLinkToken = exports.getInvoicingPaymentMethodSaveState = exports.getInvoicingPaymentLinkSendState = exports.sendInvoicingPaymentLink = exports.saveInvoicingPaymentMethod = exports.resetInvoicingCustomerPaymentMethod = exports.fetchInvoicingPlaidLinkToken = exports.createInvoicingSetupIntent = exports.getInvoicingCustomerDetail = exports.fetchInvoicingCustomerDetailPage = exports.fetchInvoicingCustomerDetail = exports.clearInvoicingCustomerDetailView = exports.getInvoicingCustomerListView = exports.INVOICING_CUSTOMER_TABS = 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.clearInvoicingCustomerListView = exports.updateInvoicingCustomers = exports.removeInvoicingCustomer = exports.clearAllInvoicingCustomers = void 0;
|
|
84
|
+
exports.getInvoicingCouponCounts = exports.INVOICING_COUPON_TABS = 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.clearInvoicingCouponView = exports.updateInvoicingCoupons = exports.removeInvoicingCoupon = exports.clearAllInvoicingCoupons = exports.getInvoicingCreditNoteDetail = exports.getInvoicingCreditNoteById = exports.fetchInvoicingCreditNoteDetail = exports.clearInvoicingCreditNoteDetailView = exports.getInvoicingCreditNoteListView = exports.INVOICING_CREDIT_NOTE_TABS = 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.clearInvoicingCreditNoteListView = exports.updateInvoicingCreditNotes = exports.removeInvoicingCreditNote = exports.clearAllInvoicingCreditNotes = exports.getInvoicingTransactionDetail = exports.getInvoicingTransactionById = exports.fetchInvoicingTransactionDetail = exports.clearInvoicingTransactionDetailView = exports.getInvoicingTransactionListView = exports.INVOICING_TRANSACTION_TABS = 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.clearInvoicingTransactionListView = exports.updateInvoicingTransactions = exports.removeInvoicingTransaction = exports.clearAllInvoicingTransactions = exports.getInvoicingSubscriptionDetail = void 0;
|
|
85
|
+
exports.getInvoicingProductById = exports.getInvoicingPlanById = exports.getInvoicingCatalogItemDetail = exports.fetchInvoicingCatalogItemDetail = exports.clearInvoicingCatalogItemDetailView = exports.getInvoicingCatalogListView = exports.INVOICING_PRODUCT_COLUMNS = exports.ALL_INVOICING_PRODUCT_SORT_KEYS = exports.updateInvoicingCatalogProductFilters = exports.updateInvoicingCatalogPlanFilters = exports.fetchInvoicingCatalogProductList = exports.fetchInvoicingCatalogPlanList = exports.fetchInvoicingCatalogListPage = exports.fetchInvoicingCatalogCounts = exports.clearInvoicingCatalogListView = exports.updateInvoicingProducts = exports.removeInvoicingProduct = exports.clearAllInvoicingProducts = exports.updateInvoicingPlans = exports.removeInvoicingPlan = exports.mergeInvoicingPlanSubFamily = exports.clearAllInvoicingPlans = exports.getInvoicingDunningCaseDetail = exports.getInvoicingDunningCaseById = exports.fetchInvoicingDunningCaseDetail = exports.clearInvoicingDunningCaseDetailView = exports.getInvoicingDunningCaseListView = exports.INVOICING_DUNNING_CASE_TABS = 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 = exports.fetchInvoicingDunningCaseList = exports.fetchInvoicingDunningCaseCounts = exports.clearInvoicingDunningCaseListView = exports.updateInvoicingDunningCases = exports.removeInvoicingDunningCase = exports.clearAllInvoicingDunningCases = exports.getInvoicingCouponDetail = exports.fetchInvoicingCouponDetail = exports.clearInvoicingCouponDetailView = exports.getInvoicingCouponById = exports.getInvoicingCouponListView = exports.getInvoicingCouponListNextCursor = exports.getInvoicingCouponListItems = exports.getInvoicingCouponListHasMore = exports.getInvoicingCouponListFilters = exports.getInvoicingCouponListFetchState = void 0;
|
|
86
|
+
exports.getInvoicingConfigView = exports.updateInvoicingConfig = exports.resetInvoicingConfigActionStates = exports.fetchInvoicingConfig = exports.enableInvoicing = exports.clearInvoicingConfig = exports.acceptInvoicingTerms = exports.withInvoicingQboAccountMappingId = exports.toInvoicingQboCustomerMatchingMode = exports.getInvoicingQboAccountMappingId = exports.INVOICING_QBO_CUSTOMER_MATCHING_MODES = exports.getInvoicingQboView = exports.startInvoicingQboBackfill = exports.retryInvoicingQboSyncTask = exports.fetchInvoicingQboSyncHealth = exports.fetchInvoicingQboConnection = exports.fetchInvoicingQboClasses = exports.fetchInvoicingQboAccounts = exports.clearInvoicingQboView = exports.isStripeConnectedFromSettings = exports.initialInvoicingBrandingFormLocalData = exports.entityToInvoicingBrandingFormLocalData = exports.INVOICING_BUSINESS_ADDRESS_TYPE = exports.getInvoicingSettingsView = exports.getInvoicingSettingsFetchState = exports.getInvoicingSettings = exports.getInvoicingBrandingFormView = exports.updateInvoicingSettings = exports.updateInvoicingBrandingFormDraft = exports.submitInvoicingBrandingForm = exports.saveInvoicingSettings = exports.resetSaveInvoicingSettings = exports.resetInvoicingBrandingFormDraft = exports.fetchInvoicingSettings = exports.disconnectInvoicingStripe = exports.connectInvoicingStripe = exports.clearInvoicingSettings = void 0;
|
|
87
87
|
const allowedValue_1 = require("./commonStateTypes/allowedValue");
|
|
88
88
|
Object.defineProperty(exports, "isAllowedValueWithCode", { enumerable: true, get: function () { return allowedValue_1.isAllowedValueWithCode; } });
|
|
89
89
|
Object.defineProperty(exports, "isAllowedValueWithID", { enumerable: true, get: function () { return allowedValue_1.isAllowedValueWithID; } });
|
|
@@ -1068,6 +1068,8 @@ Object.defineProperty(exports, "getNetBurnOrIncomeStoryCardReport", { enumerable
|
|
|
1068
1068
|
const notificationPreferencesViewReducer_1 = require("./view/notificationPreferencesView/notificationPreferencesViewReducer");
|
|
1069
1069
|
Object.defineProperty(exports, "clearAllNotificationPreferencesView", { enumerable: true, get: function () { return notificationPreferencesViewReducer_1.clearAllNotificationPreferencesView; } });
|
|
1070
1070
|
Object.defineProperty(exports, "clearNotificationPreferencesLocalOverrides", { enumerable: true, get: function () { return notificationPreferencesViewReducer_1.clearNotificationPreferencesLocalOverrides; } });
|
|
1071
|
+
Object.defineProperty(exports, "saveNotificationPreferences", { enumerable: true, get: function () { return notificationPreferencesViewReducer_1.saveNotificationPreferences; } });
|
|
1072
|
+
Object.defineProperty(exports, "setGroupChannelMaster", { enumerable: true, get: function () { return notificationPreferencesViewReducer_1.setGroupChannelMaster; } });
|
|
1071
1073
|
Object.defineProperty(exports, "setGroupFrequency", { enumerable: true, get: function () { return notificationPreferencesViewReducer_1.setGroupFrequency; } });
|
|
1072
1074
|
Object.defineProperty(exports, "toggleEventChannel", { enumerable: true, get: function () { return notificationPreferencesViewReducer_1.toggleEventChannel; } });
|
|
1073
1075
|
const notificationPreferencesViewSelector_1 = require("./view/notificationPreferencesView/notificationPreferencesViewSelector");
|
|
@@ -3088,6 +3090,22 @@ Object.defineProperty(exports, "entityToInvoicingBrandingFormLocalData", { enume
|
|
|
3088
3090
|
Object.defineProperty(exports, "initialInvoicingBrandingFormLocalData", { enumerable: true, get: function () { return invoicingBrandingFormConfig_1.initialInvoicingBrandingFormLocalData; } });
|
|
3089
3091
|
var invoicingSettingsHelpers_1 = require("./view/invoicing/settingsView/invoicingSettingsHelpers");
|
|
3090
3092
|
Object.defineProperty(exports, "isStripeConnectedFromSettings", { enumerable: true, get: function () { return invoicingSettingsHelpers_1.isStripeConnectedFromSettings; } });
|
|
3093
|
+
// ── Invoicing: QBO integration ────────────────────────────────────────────────
|
|
3094
|
+
var invoicingQboViewReducer_1 = require("./view/invoicing/invoicingQboView/invoicingQboViewReducer");
|
|
3095
|
+
Object.defineProperty(exports, "clearInvoicingQboView", { enumerable: true, get: function () { return invoicingQboViewReducer_1.clearInvoicingQboView; } });
|
|
3096
|
+
Object.defineProperty(exports, "fetchInvoicingQboAccounts", { enumerable: true, get: function () { return invoicingQboViewReducer_1.fetchInvoicingQboAccounts; } });
|
|
3097
|
+
Object.defineProperty(exports, "fetchInvoicingQboClasses", { enumerable: true, get: function () { return invoicingQboViewReducer_1.fetchInvoicingQboClasses; } });
|
|
3098
|
+
Object.defineProperty(exports, "fetchInvoicingQboConnection", { enumerable: true, get: function () { return invoicingQboViewReducer_1.fetchInvoicingQboConnection; } });
|
|
3099
|
+
Object.defineProperty(exports, "fetchInvoicingQboSyncHealth", { enumerable: true, get: function () { return invoicingQboViewReducer_1.fetchInvoicingQboSyncHealth; } });
|
|
3100
|
+
Object.defineProperty(exports, "retryInvoicingQboSyncTask", { enumerable: true, get: function () { return invoicingQboViewReducer_1.retryInvoicingQboSyncTask; } });
|
|
3101
|
+
Object.defineProperty(exports, "startInvoicingQboBackfill", { enumerable: true, get: function () { return invoicingQboViewReducer_1.startInvoicingQboBackfill; } });
|
|
3102
|
+
var invoicingQboViewSelector_1 = require("./view/invoicing/invoicingQboView/invoicingQboViewSelector");
|
|
3103
|
+
Object.defineProperty(exports, "getInvoicingQboView", { enumerable: true, get: function () { return invoicingQboViewSelector_1.getInvoicingQboView; } });
|
|
3104
|
+
var invoicingCommonPayload_2 = require("./entity/invoicing/invoicingCommonPayload");
|
|
3105
|
+
Object.defineProperty(exports, "INVOICING_QBO_CUSTOMER_MATCHING_MODES", { enumerable: true, get: function () { return invoicingCommonPayload_2.INVOICING_QBO_CUSTOMER_MATCHING_MODES; } });
|
|
3106
|
+
Object.defineProperty(exports, "getInvoicingQboAccountMappingId", { enumerable: true, get: function () { return invoicingCommonPayload_2.getInvoicingQboAccountMappingId; } });
|
|
3107
|
+
Object.defineProperty(exports, "toInvoicingQboCustomerMatchingMode", { enumerable: true, get: function () { return invoicingCommonPayload_2.toInvoicingQboCustomerMatchingMode; } });
|
|
3108
|
+
Object.defineProperty(exports, "withInvoicingQboAccountMappingId", { enumerable: true, get: function () { return invoicingCommonPayload_2.withInvoicingQboAccountMappingId; } });
|
|
3091
3109
|
// ── Invoicing: config ─────────────────────────────────────────────────────────
|
|
3092
3110
|
var invoicingConfigViewReducer_1 = require("./view/invoicing/invoicingConfigView/invoicingConfigViewReducer");
|
|
3093
3111
|
Object.defineProperty(exports, "acceptInvoicingTerms", { enumerable: true, get: function () { return invoicingConfigViewReducer_1.acceptInvoicingTerms; } });
|
package/lib/reducer.d.ts
CHANGED
|
@@ -153,6 +153,7 @@ import { InvoicingCustomerListViewState } from './view/invoicing/invoicingCustom
|
|
|
153
153
|
import { InvoicingDunningCaseDetailViewState } from './view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewState';
|
|
154
154
|
import { InvoicingDunningCaseListViewState } from './view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewState';
|
|
155
155
|
import { InvoicingOverviewState } from './view/invoicing/invoicingOverview/invoicingOverviewState';
|
|
156
|
+
import { InvoicingQboViewState } from './view/invoicing/invoicingQboView/invoicingQboViewState';
|
|
156
157
|
import { InvoicingSubscriptionDetailViewState } from './view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewState';
|
|
157
158
|
import { InvoicingSubscriptionListViewState } from './view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewState';
|
|
158
159
|
import { InvoicingTransactionDetailViewState } from './view/invoicing/invoicingTransactionDetailView/invoicingTransactionDetailViewState';
|
|
@@ -466,6 +467,7 @@ type ViewsState = {
|
|
|
466
467
|
invoicingOverviewState: InvoicingOverviewState;
|
|
467
468
|
invoicingPaymentActionState: InvoicingPaymentActionState;
|
|
468
469
|
invoicingPromotionalCreditActionState: PromotionalCreditActionState;
|
|
470
|
+
invoicingQboViewState: InvoicingQboViewState;
|
|
469
471
|
invoicingRecordPaymentState: InvoicingRecordPaymentState;
|
|
470
472
|
invoicingSettingsViewState: InvoicingSettingsViewState;
|
|
471
473
|
invoicingSubscriptionActionState: InvoicingSubscriptionActionState;
|
|
@@ -666,6 +668,7 @@ declare const reducers: import("redux").Reducer<import("redux").CombinedState<{
|
|
|
666
668
|
invoicingInvoiceListState: InvoicingInvoiceListState;
|
|
667
669
|
invoicingPaymentActionState: InvoicingPaymentActionState;
|
|
668
670
|
invoicingConfigViewState: InvoicingConfigViewState;
|
|
671
|
+
invoicingQboViewState: InvoicingQboViewState;
|
|
669
672
|
invoicingSettingsViewState: InvoicingSettingsViewState;
|
|
670
673
|
invoicingCatalogActionState: InvoicingCatalogActionState;
|
|
671
674
|
invoicingDiscountActionState: InvoicingDiscountActionState;
|
package/lib/reducer.js
CHANGED
|
@@ -194,6 +194,7 @@ const invoicingCustomerListViewReducer_1 = __importStar(require("./view/invoicin
|
|
|
194
194
|
const invoicingDunningCaseDetailViewReducer_1 = __importStar(require("./view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewReducer"));
|
|
195
195
|
const invoicingDunningCaseListViewReducer_1 = __importStar(require("./view/invoicing/invoicingDunningCaseListView/invoicingDunningCaseListViewReducer"));
|
|
196
196
|
const invoicingOverviewReducer_1 = __importStar(require("./view/invoicing/invoicingOverview/invoicingOverviewReducer"));
|
|
197
|
+
const invoicingQboViewReducer_1 = __importStar(require("./view/invoicing/invoicingQboView/invoicingQboViewReducer"));
|
|
197
198
|
const invoicingSubscriptionDetailViewReducer_1 = __importStar(require("./view/invoicing/invoicingSubscriptionDetailView/invoicingSubscriptionDetailViewReducer"));
|
|
198
199
|
const invoicingSubscriptionListViewReducer_1 = __importStar(require("./view/invoicing/invoicingSubscriptionListView/invoicingSubscriptionListViewReducer"));
|
|
199
200
|
const invoicingTransactionDetailViewReducer_1 = __importStar(require("./view/invoicing/invoicingTransactionDetailView/invoicingTransactionDetailViewReducer"));
|
|
@@ -504,6 +505,7 @@ const initialViewsState = {
|
|
|
504
505
|
invoicingInvoiceListState: invoiceListReducer_1.initialState,
|
|
505
506
|
invoicingPaymentActionState: paymentActionReducer_1.initialState,
|
|
506
507
|
invoicingConfigViewState: invoicingConfigViewReducer_1.initialState,
|
|
508
|
+
invoicingQboViewState: invoicingQboViewReducer_1.initialState,
|
|
507
509
|
invoicingSettingsViewState: settingsViewReducer_1.initialState,
|
|
508
510
|
invoicingCatalogActionState: catalogActionReducer_1.initialState,
|
|
509
511
|
invoicingDiscountActionState: discountActionReducer_1.initialState,
|
|
@@ -793,6 +795,7 @@ const viewReducers = {
|
|
|
793
795
|
invoicingInvoiceListState: invoiceListReducer_1.default,
|
|
794
796
|
invoicingPaymentActionState: paymentActionReducer_1.default,
|
|
795
797
|
invoicingConfigViewState: invoicingConfigViewReducer_1.default,
|
|
798
|
+
invoicingQboViewState: invoicingQboViewReducer_1.default,
|
|
796
799
|
invoicingSettingsViewState: settingsViewReducer_1.default,
|
|
797
800
|
invoicingCatalogActionState: catalogActionReducer_1.default,
|
|
798
801
|
invoicingDiscountActionState: discountActionReducer_1.default,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AuditLogEntityRouteOptionWire, AuditLogListSortFieldOptionWire, AuditLogSourceLabelOptionWire, InvoicingCatalogLifecycleActionOptionWire, InvoicingDunningActionOption, InvoicingNamedOptionWire, InvoicingSubscriptionEditFieldOptionWire, InvoicingSubscriptionLifecycleActionOptionWire } from '../../../entity/invoicing/invoicingCommonPayload';
|
|
1
|
+
import { AuditLogEntityRouteOptionWire, AuditLogListSortFieldOptionWire, AuditLogSourceLabelOptionWire, InvoicingCatalogLifecycleActionOptionWire, InvoicingDunningActionOption, InvoicingNamedOptionWire, InvoicingQboAccountMappingKindOptionWire, InvoicingSubscriptionEditFieldOptionWire, InvoicingSubscriptionLifecycleActionOptionWire } from '../../../entity/invoicing/invoicingCommonPayload';
|
|
2
2
|
import { ZeniAPIResponse } from '../../../responsePayload';
|
|
3
3
|
/**
|
|
4
4
|
* Wire payload of the invoicing config API (GET/PUT `/1.0/config`). Follows
|
|
@@ -27,6 +27,9 @@ export interface InvoicingConfigPayload {
|
|
|
27
27
|
invoicing_tos_acceptance_user_agent?: string | null;
|
|
28
28
|
invoicing_tos_acceptance_user_id?: string | null;
|
|
29
29
|
is_invoicing_settings_seeded?: boolean;
|
|
30
|
+
qbo_account_mapping_kind_options?: InvoicingQboAccountMappingKindOptionWire[];
|
|
31
|
+
qbo_customer_matching_options?: InvoicingNamedOptionWire[];
|
|
32
|
+
qbo_sync_status_options?: InvoicingNamedOptionWire[];
|
|
30
33
|
updated_at?: string | null;
|
|
31
34
|
}
|
|
32
35
|
export type InvoicingConfigResponse = ZeniAPIResponse<InvoicingConfigPayload>;
|
|
@@ -2,7 +2,7 @@ import { ZeniAPIStatus } from '../../../responsePayload';
|
|
|
2
2
|
import { InvoicingConfigPayload } from './invoicingConfigViewPayload';
|
|
3
3
|
import { InvoicingConfigViewState } from './invoicingConfigViewState';
|
|
4
4
|
export declare const initialState: InvoicingConfigViewState;
|
|
5
|
-
export declare function mapInvoicingConfigPayloadToState(payload: InvoicingConfigPayload): Pick<InvoicingConfigViewState, 'auditLogEntityRouteOptions' | 'auditLogListSortFieldOptions' | 'auditLogSourceLabels' | 'dunningScheduleActionOptions' | 'subscriptionLifecycleActionOptions' | 'subscriptionCommercialEditAllowedFromStatuses' | 'subscriptionMetadataEditAllowedFromStatuses' | 'subscriptionEditFieldOptions' | 'subscriptionCancelTimingOptions' | 'subscriptionChangeOptionOptions' | 'catalogItemLifecycleActionOptions' | 'catalogProductLifecycleActionOptions' | 'discountLifecycleActionOptions' | 'isInvoicingEnabled' | 'isInvoicingTosAccepted' | 'invoicingTosAcceptanceIp' | 'invoicingTosAcceptanceTime' | 'invoicingTosAcceptanceUserAgent' | 'invoicingTosAcceptanceUserId' | 'isInvoicingSettingsSeeded'>;
|
|
5
|
+
export declare function mapInvoicingConfigPayloadToState(payload: InvoicingConfigPayload): Pick<InvoicingConfigViewState, 'auditLogEntityRouteOptions' | 'auditLogListSortFieldOptions' | 'auditLogSourceLabels' | 'dunningScheduleActionOptions' | 'subscriptionLifecycleActionOptions' | 'subscriptionCommercialEditAllowedFromStatuses' | 'subscriptionMetadataEditAllowedFromStatuses' | 'subscriptionEditFieldOptions' | 'subscriptionCancelTimingOptions' | 'subscriptionChangeOptionOptions' | 'catalogItemLifecycleActionOptions' | 'catalogProductLifecycleActionOptions' | 'discountLifecycleActionOptions' | 'qboAccountMappingKindOptions' | 'qboCustomerMatchingOptions' | 'qboSyncStatusOptions' | 'isInvoicingEnabled' | 'isInvoicingTosAccepted' | 'invoicingTosAcceptanceIp' | 'invoicingTosAcceptanceTime' | 'invoicingTosAcceptanceUserAgent' | 'invoicingTosAcceptanceUserId' | 'isInvoicingSettingsSeeded'>;
|
|
6
6
|
export declare const fetchInvoicingConfig: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload?: {
|
|
7
7
|
cacheOverride?: boolean;
|
|
8
8
|
} | undefined], {
|