@zeniai/client-epic-state 5.0.36-betaRR05 → 5.0.37
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/commonStateTypes/fiscalYearHelpers/formatZeniDateFY.d.ts +0 -1
- package/lib/commonStateTypes/fiscalYearHelpers/formatZeniDateFY.js +1 -2
- package/lib/entity/file/fileState.d.ts +4 -4
- package/lib/entity/file/fileState.js +0 -4
- package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
- package/lib/entity/snackbar/snackbarTypes.js +0 -4
- package/lib/entity/task/taskPayload.d.ts +0 -4
- package/lib/entity/task/taskPayload.js +0 -10
- package/lib/entity/task/taskState.d.ts +0 -8
- package/lib/entity/task/taskState.js +1 -6
- package/lib/entity/tenant/clearAllEpic.d.ts +2 -5
- package/lib/entity/tenant/clearAllEpic.js +0 -6
- package/lib/entity/tenant/tenantPayload.d.ts +0 -1
- package/lib/entity/tenant/tenantReducer.d.ts +1 -59
- package/lib/entity/tenant/tenantReducer.js +4 -139
- package/lib/entity/tenant/tenantState.d.ts +0 -7
- package/lib/entity/transaction/stateTypes/attachment.d.ts +2 -2
- package/lib/epic.d.ts +1 -9
- package/lib/epic.js +1 -12
- package/lib/esm/commonStateTypes/fiscalYearHelpers/formatZeniDateFY.js +0 -1
- package/lib/esm/entity/file/fileState.js +0 -4
- package/lib/esm/entity/snackbar/snackbarTypes.js +0 -4
- package/lib/esm/entity/task/taskPayload.js +1 -11
- package/lib/esm/entity/task/taskState.js +0 -3
- package/lib/esm/entity/tenant/clearAllEpic.js +0 -6
- package/lib/esm/entity/tenant/tenantReducer.js +2 -135
- package/lib/esm/epic.js +1 -12
- package/lib/esm/index.js +9 -18
- package/lib/esm/init.js +16 -71
- package/lib/esm/reducer.js +0 -9
- package/lib/esm/view/common/recurringViewHelper.js +0 -17
- package/lib/esm/view/taskManager/taskDetailView/epics/archiveTaskEpic.js +0 -3
- package/lib/esm/view/taskManager/taskDetailView/epics/deleteTaskEpic.js +0 -5
- package/lib/esm/view/taskManager/taskDetailView/epics/initializeTaskToLocalStoreEpic.js +0 -3
- package/lib/esm/view/taskManager/taskDetailView/epics/saveTaskDetailEpic.js +0 -6
- package/lib/esm/view/taskManager/taskDetailView/taskDetail.js +0 -5
- package/lib/esm/view/taskManager/taskDetailView/taskDetailReducer.js +7 -60
- package/lib/esm/view/taskManager/taskDetailView/taskDetailSelector.js +0 -17
- package/lib/esm/view/taskManager/taskListView/epics/bulkUpdateTaskListEpic.js +21 -56
- package/lib/esm/view/taskManager/taskListView/epics/dragNDropTasksEpic.js +0 -1
- package/lib/esm/view/taskManager/taskListView/epics/fetchTaskListEpic.js +4 -13
- package/lib/esm/view/taskManager/taskListView/epics/updateTaskFromListViewEpic.js +2 -3
- package/lib/esm/view/taskManager/taskListView/taskList.js +0 -7
- package/lib/esm/view/taskManager/taskListView/taskListReducer.js +12 -106
- package/lib/esm/view/taskManager/taskListView/taskListSelector.js +39 -48
- package/lib/index.d.ts +9 -21
- package/lib/index.js +30 -70
- package/lib/init.d.ts +3 -5
- package/lib/init.js +16 -71
- package/lib/reducer.d.ts +0 -9
- package/lib/reducer.js +0 -9
- package/lib/tsconfig.typecheck.tsbuildinfo +1 -1
- package/lib/view/common/recurringViewHelper.d.ts +2 -3
- package/lib/view/common/recurringViewHelper.js +1 -18
- package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
- package/lib/view/taskManager/taskDetailView/epics/archiveTaskEpic.d.ts +1 -2
- package/lib/view/taskManager/taskDetailView/epics/archiveTaskEpic.js +0 -3
- package/lib/view/taskManager/taskDetailView/epics/deleteTaskEpic.d.ts +1 -2
- package/lib/view/taskManager/taskDetailView/epics/deleteTaskEpic.js +0 -5
- package/lib/view/taskManager/taskDetailView/epics/initializeTaskToLocalStoreEpic.js +0 -3
- package/lib/view/taskManager/taskDetailView/epics/saveTaskDetailEpic.js +0 -6
- package/lib/view/taskManager/taskDetailView/taskDetail.d.ts +1 -5
- package/lib/view/taskManager/taskDetailView/taskDetail.js +0 -5
- package/lib/view/taskManager/taskDetailView/taskDetailReducer.d.ts +1 -10
- package/lib/view/taskManager/taskDetailView/taskDetailReducer.js +8 -61
- package/lib/view/taskManager/taskDetailView/taskDetailSelector.d.ts +0 -6
- package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +0 -17
- package/lib/view/taskManager/taskListView/epics/bulkUpdateTaskListEpic.d.ts +7 -6
- package/lib/view/taskManager/taskListView/epics/bulkUpdateTaskListEpic.js +22 -56
- package/lib/view/taskManager/taskListView/epics/dragNDropTasksEpic.js +0 -1
- package/lib/view/taskManager/taskListView/epics/fetchTaskListEpic.js +4 -13
- package/lib/view/taskManager/taskListView/epics/updateTaskFromListViewEpic.js +2 -3
- package/lib/view/taskManager/taskListView/taskList.d.ts +1 -14
- package/lib/view/taskManager/taskListView/taskList.js +1 -8
- package/lib/view/taskManager/taskListView/taskListPayload.d.ts +0 -3
- package/lib/view/taskManager/taskListView/taskListReducer.d.ts +6 -9
- package/lib/view/taskManager/taskListView/taskListReducer.js +13 -107
- package/lib/view/taskManager/taskListView/taskListSelector.d.ts +3 -9
- package/lib/view/taskManager/taskListView/taskListSelector.js +39 -48
- package/package.json +1 -1
- package/lib/entity/tenant/epic/deleteConnectionEpic.d.ts +0 -19
- package/lib/entity/tenant/epic/deleteConnectionEpic.js +0 -29
- package/lib/entity/tenant/epic/saveAPIKeyConnectionEpic.d.ts +0 -19
- package/lib/entity/tenant/epic/saveAPIKeyConnectionEpic.js +0 -31
- package/lib/entity/tenant/epic/saveOAuthConnectionEpic.d.ts +0 -19
- package/lib/entity/tenant/epic/saveOAuthConnectionEpic.js +0 -33
- package/lib/esm/entity/tenant/epic/deleteConnectionEpic.js +0 -25
- package/lib/esm/entity/tenant/epic/saveAPIKeyConnectionEpic.js +0 -27
- package/lib/esm/entity/tenant/epic/saveOAuthConnectionEpic.js +0 -29
- package/lib/esm/view/featureNotificationView/epics/fetchRegisteredInterestsEpic.js +0 -23
- package/lib/esm/view/featureNotificationView/epics/notifyMeForFeatureEpic.js +0 -25
- package/lib/esm/view/featureNotificationView/featureNotificationViewPayload.js +0 -11
- package/lib/esm/view/featureNotificationView/featureNotificationViewReducer.js +0 -106
- package/lib/esm/view/featureNotificationView/featureNotificationViewSelector.js +0 -4
- package/lib/esm/view/featureNotificationView/featureNotificationViewState.js +0 -1
- package/lib/esm/view/taskManager/cannedResponsesView/cannedResponses.js +0 -1
- package/lib/esm/view/taskManager/cannedResponsesView/cannedResponsesPayload.js +0 -12
- package/lib/esm/view/taskManager/cannedResponsesView/cannedResponsesReducer.js +0 -64
- package/lib/esm/view/taskManager/cannedResponsesView/cannedResponsesSelector.js +0 -3
- package/lib/esm/view/taskManager/cannedResponsesView/epics/deleteCannedResponseEpic.js +0 -17
- package/lib/esm/view/taskManager/cannedResponsesView/epics/fetchCannedResponsesEpic.js +0 -21
- package/lib/esm/view/taskManager/cannedResponsesView/epics/saveCannedResponseEpic.js +0 -29
- package/lib/esm/view/taskManager/taskDetailView/epics/snoozeTaskEpic.js +0 -66
- package/lib/esm/view/taskManager/taskDetailView/epics/unsnoozeTaskEpic.js +0 -57
- package/lib/esm/view/zeniOAuthView/epics/approveOAuthConsentEpic.js +0 -65
- package/lib/esm/view/zeniOAuthView/zeniOAuthParamsParser.js +0 -41
- package/lib/esm/view/zeniOAuthView/zeniOAuthReducer.js +0 -49
- package/lib/esm/view/zeniOAuthView/zeniOAuthSelector.js +0 -3
- package/lib/esm/view/zeniOAuthView/zeniOAuthState.js +0 -1
- package/lib/view/featureNotificationView/epics/fetchRegisteredInterestsEpic.d.ts +0 -16
- package/lib/view/featureNotificationView/epics/fetchRegisteredInterestsEpic.js +0 -27
- package/lib/view/featureNotificationView/epics/notifyMeForFeatureEpic.d.ts +0 -14
- package/lib/view/featureNotificationView/epics/notifyMeForFeatureEpic.js +0 -29
- package/lib/view/featureNotificationView/featureNotificationViewPayload.d.ts +0 -23
- package/lib/view/featureNotificationView/featureNotificationViewPayload.js +0 -15
- package/lib/view/featureNotificationView/featureNotificationViewReducer.d.ts +0 -19
- package/lib/view/featureNotificationView/featureNotificationViewReducer.js +0 -110
- package/lib/view/featureNotificationView/featureNotificationViewSelector.d.ts +0 -6
- package/lib/view/featureNotificationView/featureNotificationViewSelector.js +0 -11
- package/lib/view/featureNotificationView/featureNotificationViewState.d.ts +0 -26
- package/lib/view/featureNotificationView/featureNotificationViewState.js +0 -2
- package/lib/view/taskManager/cannedResponsesView/cannedResponses.d.ts +0 -19
- package/lib/view/taskManager/cannedResponsesView/cannedResponses.js +0 -2
- package/lib/view/taskManager/cannedResponsesView/cannedResponsesPayload.d.ts +0 -21
- package/lib/view/taskManager/cannedResponsesView/cannedResponsesPayload.js +0 -15
- package/lib/view/taskManager/cannedResponsesView/cannedResponsesReducer.d.ts +0 -30
- package/lib/view/taskManager/cannedResponsesView/cannedResponsesReducer.js +0 -68
- package/lib/view/taskManager/cannedResponsesView/cannedResponsesSelector.d.ts +0 -3
- package/lib/view/taskManager/cannedResponsesView/cannedResponsesSelector.js +0 -6
- package/lib/view/taskManager/cannedResponsesView/epics/deleteCannedResponseEpic.d.ts +0 -7
- package/lib/view/taskManager/cannedResponsesView/epics/deleteCannedResponseEpic.js +0 -21
- package/lib/view/taskManager/cannedResponsesView/epics/fetchCannedResponsesEpic.d.ts +0 -7
- package/lib/view/taskManager/cannedResponsesView/epics/fetchCannedResponsesEpic.js +0 -25
- package/lib/view/taskManager/cannedResponsesView/epics/saveCannedResponseEpic.d.ts +0 -7
- package/lib/view/taskManager/cannedResponsesView/epics/saveCannedResponseEpic.js +0 -33
- package/lib/view/taskManager/taskDetailView/epics/snoozeTaskEpic.d.ts +0 -9
- package/lib/view/taskManager/taskDetailView/epics/snoozeTaskEpic.js +0 -70
- package/lib/view/taskManager/taskDetailView/epics/unsnoozeTaskEpic.d.ts +0 -9
- package/lib/view/taskManager/taskDetailView/epics/unsnoozeTaskEpic.js +0 -61
- package/lib/view/zeniOAuthView/epics/approveOAuthConsentEpic.d.ts +0 -27
- package/lib/view/zeniOAuthView/epics/approveOAuthConsentEpic.js +0 -69
- package/lib/view/zeniOAuthView/zeniOAuthParamsParser.d.ts +0 -16
- package/lib/view/zeniOAuthView/zeniOAuthParamsParser.js +0 -44
- package/lib/view/zeniOAuthView/zeniOAuthReducer.d.ts +0 -29
- package/lib/view/zeniOAuthView/zeniOAuthReducer.js +0 -53
- package/lib/view/zeniOAuthView/zeniOAuthSelector.d.ts +0 -5
- package/lib/view/zeniOAuthView/zeniOAuthSelector.js +0 -9
- package/lib/view/zeniOAuthView/zeniOAuthState.d.ts +0 -4
- package/lib/view/zeniOAuthView/zeniOAuthState.js +0 -2
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { ZeniAPIResponse } from '../../responsePayload';
|
|
2
|
-
import { FeatureInterest } from './featureNotificationViewState';
|
|
3
|
-
/**
|
|
4
|
-
* Backend payload shapes for the FeatureInterest API exposed by
|
|
5
|
-
* `@repo:notifications`. snake_case is preserved here verbatim; the
|
|
6
|
-
* `toFeatureInterest` mapper converts to the camelCase state shape.
|
|
7
|
-
*/
|
|
8
|
-
export interface FeatureInterestDataPayload {
|
|
9
|
-
create_time: string;
|
|
10
|
-
feature: string;
|
|
11
|
-
interest_id: string;
|
|
12
|
-
notified: boolean;
|
|
13
|
-
update_time: string;
|
|
14
|
-
additional_info?: string | null;
|
|
15
|
-
email?: string | null;
|
|
16
|
-
notified_time?: string | null;
|
|
17
|
-
}
|
|
18
|
-
export interface FeatureInterestListPayload {
|
|
19
|
-
feature_interests: FeatureInterestDataPayload[];
|
|
20
|
-
}
|
|
21
|
-
export type FeatureInterestResponse = ZeniAPIResponse<FeatureInterestDataPayload>;
|
|
22
|
-
export type FeatureInterestListResponse = ZeniAPIResponse<FeatureInterestListPayload>;
|
|
23
|
-
export declare const toFeatureInterest: (payload: FeatureInterestDataPayload) => FeatureInterest;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toFeatureInterest = void 0;
|
|
4
|
-
const zeniDayJS_1 = require("../../zeniDayJS");
|
|
5
|
-
const toFeatureInterest = (payload) => ({
|
|
6
|
-
interestId: payload.interest_id,
|
|
7
|
-
feature: payload.feature,
|
|
8
|
-
notified: payload.notified,
|
|
9
|
-
createTime: (0, zeniDayJS_1.date)(payload.create_time),
|
|
10
|
-
updateTime: (0, zeniDayJS_1.date)(payload.update_time),
|
|
11
|
-
additionalInfo: payload.additional_info ?? undefined,
|
|
12
|
-
email: payload.email ?? undefined,
|
|
13
|
-
notifiedTime: payload.notified_time != null ? (0, zeniDayJS_1.date)(payload.notified_time) : undefined,
|
|
14
|
-
});
|
|
15
|
-
exports.toFeatureInterest = toFeatureInterest;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { ZeniAPIStatus } from '../../responsePayload';
|
|
2
|
-
import { FeatureInterestDataPayload } from './featureNotificationViewPayload';
|
|
3
|
-
import { FeatureInterest, FeatureNotificationViewState } from './featureNotificationViewState';
|
|
4
|
-
export declare const initialState: FeatureNotificationViewState;
|
|
5
|
-
export declare const clearFeatureNotificationView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"featureNotificationView/clearFeatureNotificationView">, fetchRegisteredInterests: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[feature: string], {
|
|
6
|
-
feature: string;
|
|
7
|
-
}, "featureNotificationView/fetchRegisteredInterests", never, never>, fetchRegisteredInterestsFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[status: ZeniAPIStatus<Record<string, unknown>>], {
|
|
8
|
-
status: ZeniAPIStatus<Record<string, unknown>>;
|
|
9
|
-
}, "featureNotificationView/fetchRegisteredInterestsFailure", never, never>, fetchRegisteredInterestsSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[interests: FeatureInterest[]], {
|
|
10
|
-
interests: FeatureInterest[];
|
|
11
|
-
}, "featureNotificationView/fetchRegisteredInterestsSuccess", never, never>, notifyMeForFeature: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[feature: string, additionalInfo: string, email: string], {
|
|
12
|
-
feature: string;
|
|
13
|
-
additionalInfo: string;
|
|
14
|
-
email: string;
|
|
15
|
-
}, "featureNotificationView/notifyMeForFeature", never, never>, notifyMeForFeatureFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[status: ZeniAPIStatus<Record<string, unknown>>], {
|
|
16
|
-
status: ZeniAPIStatus<Record<string, unknown>>;
|
|
17
|
-
}, "featureNotificationView/notifyMeForFeatureFailure", never, never>, notifyMeForFeatureSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: FeatureInterestDataPayload], FeatureInterestDataPayload, "featureNotificationView/notifyMeForFeatureSuccess", never, never>;
|
|
18
|
-
declare const _default: import("redux").Reducer<FeatureNotificationViewState>;
|
|
19
|
-
export default _default;
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.notifyMeForFeatureSuccess = exports.notifyMeForFeatureFailure = exports.notifyMeForFeature = exports.fetchRegisteredInterestsSuccess = exports.fetchRegisteredInterestsFailure = exports.fetchRegisteredInterests = exports.clearFeatureNotificationView = exports.initialState = void 0;
|
|
5
|
-
const toolkit_1 = require("@reduxjs/toolkit");
|
|
6
|
-
const featureNotificationViewPayload_1 = require("./featureNotificationViewPayload");
|
|
7
|
-
exports.initialState = {
|
|
8
|
-
fetchRegisteredInterestsState: {
|
|
9
|
-
fetchState: 'Not-Started',
|
|
10
|
-
error: undefined,
|
|
11
|
-
},
|
|
12
|
-
notifyMeForFeatureState: {
|
|
13
|
-
fetchState: 'Not-Started',
|
|
14
|
-
error: undefined,
|
|
15
|
-
},
|
|
16
|
-
registeredInterests: [],
|
|
17
|
-
};
|
|
18
|
-
const featureNotificationView = (0, toolkit_1.createSlice)({
|
|
19
|
-
name: 'featureNotificationView',
|
|
20
|
-
initialState: exports.initialState,
|
|
21
|
-
reducers: {
|
|
22
|
-
notifyMeForFeature: {
|
|
23
|
-
prepare(feature, additionalInfo, email) {
|
|
24
|
-
return { payload: { feature, additionalInfo, email } };
|
|
25
|
-
},
|
|
26
|
-
reducer(draft,
|
|
27
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
28
|
-
_action) {
|
|
29
|
-
draft.notifyMeForFeatureState = {
|
|
30
|
-
fetchState: 'In-Progress',
|
|
31
|
-
error: undefined,
|
|
32
|
-
};
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
notifyMeForFeatureSuccess: {
|
|
36
|
-
prepare(payload) {
|
|
37
|
-
return { payload };
|
|
38
|
-
},
|
|
39
|
-
reducer(draft, action) {
|
|
40
|
-
draft.notifyMeForFeatureState = {
|
|
41
|
-
fetchState: 'Completed',
|
|
42
|
-
error: undefined,
|
|
43
|
-
};
|
|
44
|
-
const interest = (0, featureNotificationViewPayload_1.toFeatureInterest)(action.payload);
|
|
45
|
-
// Idempotent: if a row for this (feature, additional_info) already
|
|
46
|
-
// exists in the slice, replace it; otherwise append.
|
|
47
|
-
const existingIndex = draft.registeredInterests.findIndex((r) => r.feature === interest.feature &&
|
|
48
|
-
r.additionalInfo === interest.additionalInfo);
|
|
49
|
-
if (existingIndex >= 0) {
|
|
50
|
-
draft.registeredInterests[existingIndex] = interest;
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
draft.registeredInterests.push(interest);
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
notifyMeForFeatureFailure: {
|
|
58
|
-
prepare(status) {
|
|
59
|
-
return { payload: { status } };
|
|
60
|
-
},
|
|
61
|
-
reducer(draft, action) {
|
|
62
|
-
draft.notifyMeForFeatureState = {
|
|
63
|
-
fetchState: 'Error',
|
|
64
|
-
error: action.payload.status,
|
|
65
|
-
};
|
|
66
|
-
},
|
|
67
|
-
},
|
|
68
|
-
fetchRegisteredInterests: {
|
|
69
|
-
prepare(feature) {
|
|
70
|
-
return { payload: { feature } };
|
|
71
|
-
},
|
|
72
|
-
reducer(draft,
|
|
73
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
74
|
-
_action) {
|
|
75
|
-
draft.fetchRegisteredInterestsState = {
|
|
76
|
-
fetchState: 'In-Progress',
|
|
77
|
-
error: undefined,
|
|
78
|
-
};
|
|
79
|
-
},
|
|
80
|
-
},
|
|
81
|
-
fetchRegisteredInterestsSuccess: {
|
|
82
|
-
prepare(interests) {
|
|
83
|
-
return { payload: { interests } };
|
|
84
|
-
},
|
|
85
|
-
reducer(draft, action) {
|
|
86
|
-
draft.fetchRegisteredInterestsState = {
|
|
87
|
-
fetchState: 'Completed',
|
|
88
|
-
error: undefined,
|
|
89
|
-
};
|
|
90
|
-
draft.registeredInterests = action.payload.interests;
|
|
91
|
-
},
|
|
92
|
-
},
|
|
93
|
-
fetchRegisteredInterestsFailure: {
|
|
94
|
-
prepare(status) {
|
|
95
|
-
return { payload: { status } };
|
|
96
|
-
},
|
|
97
|
-
reducer(draft, action) {
|
|
98
|
-
draft.fetchRegisteredInterestsState = {
|
|
99
|
-
fetchState: 'Error',
|
|
100
|
-
error: action.payload.status,
|
|
101
|
-
};
|
|
102
|
-
},
|
|
103
|
-
},
|
|
104
|
-
clearFeatureNotificationView(draft) {
|
|
105
|
-
Object.assign(draft, exports.initialState);
|
|
106
|
-
},
|
|
107
|
-
},
|
|
108
|
-
});
|
|
109
|
-
_a = featureNotificationView.actions, exports.clearFeatureNotificationView = _a.clearFeatureNotificationView, exports.fetchRegisteredInterests = _a.fetchRegisteredInterests, exports.fetchRegisteredInterestsFailure = _a.fetchRegisteredInterestsFailure, exports.fetchRegisteredInterestsSuccess = _a.fetchRegisteredInterestsSuccess, exports.notifyMeForFeature = _a.notifyMeForFeature, exports.notifyMeForFeatureFailure = _a.notifyMeForFeatureFailure, exports.notifyMeForFeatureSuccess = _a.notifyMeForFeatureSuccess;
|
|
110
|
-
exports.default = featureNotificationView.reducer;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { RootState } from '../../reducer';
|
|
2
|
-
import { FeatureInterest } from './featureNotificationViewState';
|
|
3
|
-
export declare const getFeatureNotificationView: (state: RootState) => import("./featureNotificationViewState").FeatureNotificationViewState;
|
|
4
|
-
export declare const getRegisteredInterests: (state: RootState) => FeatureInterest[];
|
|
5
|
-
export declare const getRegisteredInterestsByFeature: (state: RootState, feature: string) => FeatureInterest[];
|
|
6
|
-
export declare const isFeatureInterestRegistered: (state: RootState, feature: string, additionalInfo: string) => boolean;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isFeatureInterestRegistered = exports.getRegisteredInterestsByFeature = exports.getRegisteredInterests = exports.getFeatureNotificationView = void 0;
|
|
4
|
-
const getFeatureNotificationView = (state) => state.featureNotificationViewState;
|
|
5
|
-
exports.getFeatureNotificationView = getFeatureNotificationView;
|
|
6
|
-
const getRegisteredInterests = (state) => state.featureNotificationViewState.registeredInterests;
|
|
7
|
-
exports.getRegisteredInterests = getRegisteredInterests;
|
|
8
|
-
const getRegisteredInterestsByFeature = (state, feature) => state.featureNotificationViewState.registeredInterests.filter((interest) => interest.feature === feature);
|
|
9
|
-
exports.getRegisteredInterestsByFeature = getRegisteredInterestsByFeature;
|
|
10
|
-
const isFeatureInterestRegistered = (state, feature, additionalInfo) => state.featureNotificationViewState.registeredInterests.some((interest) => interest.feature === feature && interest.additionalInfo === additionalInfo);
|
|
11
|
-
exports.isFeatureInterestRegistered = isFeatureInterestRegistered;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { FetchStateAndError, ID } from '../../commonStateTypes/common';
|
|
2
|
-
import { ZeniDate } from '../../zeniDayJS';
|
|
3
|
-
/**
|
|
4
|
-
* A single user-feature interest record returned by
|
|
5
|
-
* `GET /1.0/feature-interests` and `POST /1.0/feature-interests`.
|
|
6
|
-
*
|
|
7
|
-
* Used by the Integrations page "Notify me" buttons to register that the
|
|
8
|
-
* user wants an email when a not-yet-shipped connector becomes available.
|
|
9
|
-
* Generic enough to drive any future "Notify me" UI by adding a slug to
|
|
10
|
-
* the backend allowlist (FEATURE_INTEREST_ALLOWED_VALUES).
|
|
11
|
-
*/
|
|
12
|
-
export interface FeatureInterest {
|
|
13
|
-
createTime: ZeniDate;
|
|
14
|
-
feature: string;
|
|
15
|
-
interestId: ID;
|
|
16
|
-
notified: boolean;
|
|
17
|
-
updateTime: ZeniDate;
|
|
18
|
-
additionalInfo?: string;
|
|
19
|
-
email?: string;
|
|
20
|
-
notifiedTime?: ZeniDate;
|
|
21
|
-
}
|
|
22
|
-
export interface FeatureNotificationViewState {
|
|
23
|
-
fetchRegisteredInterestsState: FetchStateAndError;
|
|
24
|
-
notifyMeForFeatureState: FetchStateAndError;
|
|
25
|
-
registeredInterests: FeatureInterest[];
|
|
26
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { FetchState, ID } from '../../../commonStateTypes/common';
|
|
2
|
-
import { ZeniAPIStatus } from '../../../responsePayload';
|
|
3
|
-
import { ZeniDate } from '../../../zeniDayJS';
|
|
4
|
-
export interface CannedResponse {
|
|
5
|
-
cannedResponseId: ID;
|
|
6
|
-
content: string;
|
|
7
|
-
createdBy: ID;
|
|
8
|
-
createTime: ZeniDate;
|
|
9
|
-
isDeleted: boolean;
|
|
10
|
-
name: string;
|
|
11
|
-
updateTime: ZeniDate;
|
|
12
|
-
}
|
|
13
|
-
export interface CannedResponsesViewState {
|
|
14
|
-
cannedResponses: CannedResponse[];
|
|
15
|
-
deleteFetchState: FetchState;
|
|
16
|
-
fetchState: FetchState;
|
|
17
|
-
saveFetchState: FetchState;
|
|
18
|
-
error?: ZeniAPIStatus;
|
|
19
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { ZeniAPIResponse } from '../../../responsePayload';
|
|
2
|
-
import { CannedResponse } from './cannedResponses';
|
|
3
|
-
export interface CannedResponsePayload {
|
|
4
|
-
canned_response_id: string;
|
|
5
|
-
content: string;
|
|
6
|
-
create_time: string;
|
|
7
|
-
created_by: string;
|
|
8
|
-
is_deleted: boolean;
|
|
9
|
-
name: string;
|
|
10
|
-
update_time: string;
|
|
11
|
-
}
|
|
12
|
-
interface FetchCannedResponsesPayload {
|
|
13
|
-
canned_responses: CannedResponsePayload[];
|
|
14
|
-
}
|
|
15
|
-
export type FetchCannedResponsesResponse = ZeniAPIResponse<FetchCannedResponsesPayload>;
|
|
16
|
-
export type SaveCannedResponseResponse = ZeniAPIResponse<{
|
|
17
|
-
canned_response: CannedResponsePayload;
|
|
18
|
-
}>;
|
|
19
|
-
export type DeleteCannedResponseResponse = ZeniAPIResponse<unknown>;
|
|
20
|
-
export declare function mapCannedResponsePayloadToCannedResponse(payload: CannedResponsePayload): CannedResponse;
|
|
21
|
-
export {};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mapCannedResponsePayloadToCannedResponse = mapCannedResponsePayloadToCannedResponse;
|
|
4
|
-
const zeniDayJS_1 = require("../../../zeniDayJS");
|
|
5
|
-
function mapCannedResponsePayloadToCannedResponse(payload) {
|
|
6
|
-
return {
|
|
7
|
-
cannedResponseId: payload.canned_response_id,
|
|
8
|
-
content: payload.content,
|
|
9
|
-
createTime: (0, zeniDayJS_1.date)(payload.create_time),
|
|
10
|
-
createdBy: payload.created_by,
|
|
11
|
-
isDeleted: payload.is_deleted,
|
|
12
|
-
name: payload.name,
|
|
13
|
-
updateTime: (0, zeniDayJS_1.date)(payload.update_time),
|
|
14
|
-
};
|
|
15
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { FetchState, ID } from '../../../commonStateTypes/common';
|
|
2
|
-
import { ZeniAPIStatus } from '../../../responsePayload';
|
|
3
|
-
import { CannedResponse, CannedResponsesViewState } from './cannedResponses';
|
|
4
|
-
export declare const initialState: CannedResponsesViewState;
|
|
5
|
-
export declare const fetchCannedResponses: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"cannedResponsesView/fetchCannedResponses">, updateCannedResponses: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
6
|
-
cannedResponses: CannedResponse[];
|
|
7
|
-
}, "cannedResponsesView/updateCannedResponses">, updateCannedResponsesFetchStatus: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
8
|
-
fetchState: FetchState;
|
|
9
|
-
error?: ZeniAPIStatus;
|
|
10
|
-
}, "cannedResponsesView/updateCannedResponsesFetchStatus">, saveCannedResponse: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: {
|
|
11
|
-
content: string;
|
|
12
|
-
name: string;
|
|
13
|
-
cannedResponseId?: ID;
|
|
14
|
-
}], {
|
|
15
|
-
content: string;
|
|
16
|
-
name: string;
|
|
17
|
-
cannedResponseId?: ID;
|
|
18
|
-
}, "cannedResponsesView/saveCannedResponse", never, never>, saveCannedResponseSuccess: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"cannedResponsesView/saveCannedResponseSuccess">, saveCannedResponseFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
19
|
-
error?: ZeniAPIStatus;
|
|
20
|
-
}, "cannedResponsesView/saveCannedResponseFailure">, deleteCannedResponse: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: {
|
|
21
|
-
cannedResponseId: ID;
|
|
22
|
-
}], {
|
|
23
|
-
cannedResponseId: ID;
|
|
24
|
-
}, "cannedResponsesView/deleteCannedResponse", never, never>, deleteCannedResponseSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
25
|
-
cannedResponseId: ID;
|
|
26
|
-
}, "cannedResponsesView/deleteCannedResponseSuccess">, deleteCannedResponseFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
27
|
-
error?: ZeniAPIStatus;
|
|
28
|
-
}, "cannedResponsesView/deleteCannedResponseFailure">, clearCannedResponses: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"cannedResponsesView/clearCannedResponses">;
|
|
29
|
-
declare const _default: import("redux").Reducer<CannedResponsesViewState>;
|
|
30
|
-
export default _default;
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.clearCannedResponses = exports.deleteCannedResponseFailure = exports.deleteCannedResponseSuccess = exports.deleteCannedResponse = exports.saveCannedResponseFailure = exports.saveCannedResponseSuccess = exports.saveCannedResponse = exports.updateCannedResponsesFetchStatus = exports.updateCannedResponses = exports.fetchCannedResponses = exports.initialState = void 0;
|
|
5
|
-
const toolkit_1 = require("@reduxjs/toolkit");
|
|
6
|
-
exports.initialState = {
|
|
7
|
-
cannedResponses: [],
|
|
8
|
-
fetchState: 'Not-Started',
|
|
9
|
-
saveFetchState: 'Not-Started',
|
|
10
|
-
deleteFetchState: 'Not-Started',
|
|
11
|
-
error: undefined,
|
|
12
|
-
};
|
|
13
|
-
const cannedResponsesView = (0, toolkit_1.createSlice)({
|
|
14
|
-
name: 'cannedResponsesView',
|
|
15
|
-
initialState: exports.initialState,
|
|
16
|
-
reducers: {
|
|
17
|
-
fetchCannedResponses(draft) {
|
|
18
|
-
draft.fetchState =
|
|
19
|
-
draft.cannedResponses.length > 0 ? 'Completed' : 'In-Progress';
|
|
20
|
-
draft.error = undefined;
|
|
21
|
-
},
|
|
22
|
-
updateCannedResponses(draft, action) {
|
|
23
|
-
draft.cannedResponses = action.payload.cannedResponses;
|
|
24
|
-
draft.fetchState = 'Completed';
|
|
25
|
-
draft.error = undefined;
|
|
26
|
-
},
|
|
27
|
-
updateCannedResponsesFetchStatus(draft, action) {
|
|
28
|
-
draft.fetchState = action.payload.fetchState;
|
|
29
|
-
draft.error = action.payload.error;
|
|
30
|
-
},
|
|
31
|
-
saveCannedResponse: {
|
|
32
|
-
reducer(draft) {
|
|
33
|
-
draft.saveFetchState = 'In-Progress';
|
|
34
|
-
},
|
|
35
|
-
prepare(payload) {
|
|
36
|
-
return { payload };
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
saveCannedResponseSuccess(draft) {
|
|
40
|
-
draft.saveFetchState = 'Completed';
|
|
41
|
-
},
|
|
42
|
-
saveCannedResponseFailure(draft, action) {
|
|
43
|
-
draft.saveFetchState = 'Error';
|
|
44
|
-
draft.error = action.payload.error;
|
|
45
|
-
},
|
|
46
|
-
deleteCannedResponse: {
|
|
47
|
-
reducer(draft) {
|
|
48
|
-
draft.deleteFetchState = 'In-Progress';
|
|
49
|
-
},
|
|
50
|
-
prepare(payload) {
|
|
51
|
-
return { payload };
|
|
52
|
-
},
|
|
53
|
-
},
|
|
54
|
-
deleteCannedResponseSuccess(draft, action) {
|
|
55
|
-
draft.deleteFetchState = 'Completed';
|
|
56
|
-
draft.cannedResponses = draft.cannedResponses.filter((r) => r.cannedResponseId !== action.payload.cannedResponseId);
|
|
57
|
-
},
|
|
58
|
-
deleteCannedResponseFailure(draft, action) {
|
|
59
|
-
draft.deleteFetchState = 'Error';
|
|
60
|
-
draft.error = action.payload.error;
|
|
61
|
-
},
|
|
62
|
-
clearCannedResponses() {
|
|
63
|
-
return exports.initialState;
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
});
|
|
67
|
-
_a = cannedResponsesView.actions, exports.fetchCannedResponses = _a.fetchCannedResponses, exports.updateCannedResponses = _a.updateCannedResponses, exports.updateCannedResponsesFetchStatus = _a.updateCannedResponsesFetchStatus, exports.saveCannedResponse = _a.saveCannedResponse, exports.saveCannedResponseSuccess = _a.saveCannedResponseSuccess, exports.saveCannedResponseFailure = _a.saveCannedResponseFailure, exports.deleteCannedResponse = _a.deleteCannedResponse, exports.deleteCannedResponseSuccess = _a.deleteCannedResponseSuccess, exports.deleteCannedResponseFailure = _a.deleteCannedResponseFailure, exports.clearCannedResponses = _a.clearCannedResponses;
|
|
68
|
-
exports.default = cannedResponsesView.reducer;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ActionsObservable, StateObservable } from 'redux-observable';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { RootState } from '../../../../reducer';
|
|
4
|
-
import { ZeniAPI } from '../../../../zeniAPI';
|
|
5
|
-
import { deleteCannedResponse, deleteCannedResponseFailure, deleteCannedResponseSuccess } from '../cannedResponsesReducer';
|
|
6
|
-
export type ActionType = ReturnType<typeof deleteCannedResponse> | ReturnType<typeof deleteCannedResponseSuccess> | ReturnType<typeof deleteCannedResponseFailure>;
|
|
7
|
-
export declare const deleteCannedResponseEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.deleteCannedResponseEpic = void 0;
|
|
4
|
-
const rxjs_1 = require("rxjs");
|
|
5
|
-
const operators_1 = require("rxjs/operators");
|
|
6
|
-
const responsePayload_1 = require("../../../../responsePayload");
|
|
7
|
-
const cannedResponsesReducer_1 = require("../cannedResponsesReducer");
|
|
8
|
-
const deleteCannedResponseEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(cannedResponsesReducer_1.deleteCannedResponse.match), (0, operators_1.mergeMap)((action) => {
|
|
9
|
-
const { cannedResponseId } = action.payload;
|
|
10
|
-
return zeniAPI
|
|
11
|
-
.deleteAndGetJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/canned-responses/${cannedResponseId}`)
|
|
12
|
-
.pipe((0, operators_1.mergeMap)((response) => {
|
|
13
|
-
if ((0, responsePayload_1.isSuccessResponse)(response)) {
|
|
14
|
-
return (0, rxjs_1.of)((0, cannedResponsesReducer_1.deleteCannedResponseSuccess)({ cannedResponseId }));
|
|
15
|
-
}
|
|
16
|
-
return (0, rxjs_1.of)((0, cannedResponsesReducer_1.deleteCannedResponseFailure)({ error: response.status }));
|
|
17
|
-
}), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, cannedResponsesReducer_1.deleteCannedResponseFailure)({
|
|
18
|
-
error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Delete Canned Response errored: ' + JSON.stringify(error)),
|
|
19
|
-
}))));
|
|
20
|
-
}));
|
|
21
|
-
exports.deleteCannedResponseEpic = deleteCannedResponseEpic;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ActionsObservable, StateObservable } from 'redux-observable';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { RootState } from '../../../../reducer';
|
|
4
|
-
import { ZeniAPI } from '../../../../zeniAPI';
|
|
5
|
-
import { fetchCannedResponses, updateCannedResponses, updateCannedResponsesFetchStatus } from '../cannedResponsesReducer';
|
|
6
|
-
export type ActionType = ReturnType<typeof fetchCannedResponses> | ReturnType<typeof updateCannedResponses> | ReturnType<typeof updateCannedResponsesFetchStatus>;
|
|
7
|
-
export declare const fetchCannedResponsesEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fetchCannedResponsesEpic = void 0;
|
|
4
|
-
const rxjs_1 = require("rxjs");
|
|
5
|
-
const operators_1 = require("rxjs/operators");
|
|
6
|
-
const responsePayload_1 = require("../../../../responsePayload");
|
|
7
|
-
const cannedResponsesPayload_1 = require("../cannedResponsesPayload");
|
|
8
|
-
const cannedResponsesReducer_1 = require("../cannedResponsesReducer");
|
|
9
|
-
const fetchCannedResponsesEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(cannedResponsesReducer_1.fetchCannedResponses.match), (0, operators_1.switchMap)(() => zeniAPI
|
|
10
|
-
.getJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/canned-responses`)
|
|
11
|
-
.pipe((0, operators_1.mergeMap)((response) => {
|
|
12
|
-
if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
|
|
13
|
-
return (0, rxjs_1.of)((0, cannedResponsesReducer_1.updateCannedResponses)({
|
|
14
|
-
cannedResponses: (response.data.canned_responses ?? []).map(cannedResponsesPayload_1.mapCannedResponsePayloadToCannedResponse),
|
|
15
|
-
}));
|
|
16
|
-
}
|
|
17
|
-
return (0, rxjs_1.of)((0, cannedResponsesReducer_1.updateCannedResponsesFetchStatus)({
|
|
18
|
-
fetchState: 'Error',
|
|
19
|
-
error: response.status,
|
|
20
|
-
}));
|
|
21
|
-
}), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, cannedResponsesReducer_1.updateCannedResponsesFetchStatus)({
|
|
22
|
-
fetchState: 'Error',
|
|
23
|
-
error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Fetch Canned Responses errored: ' + JSON.stringify(error)),
|
|
24
|
-
}))))));
|
|
25
|
-
exports.fetchCannedResponsesEpic = fetchCannedResponsesEpic;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ActionsObservable, StateObservable } from 'redux-observable';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { RootState } from '../../../../reducer';
|
|
4
|
-
import { ZeniAPI } from '../../../../zeniAPI';
|
|
5
|
-
import { fetchCannedResponses, saveCannedResponse, saveCannedResponseFailure, saveCannedResponseSuccess } from '../cannedResponsesReducer';
|
|
6
|
-
export type ActionType = ReturnType<typeof saveCannedResponse> | ReturnType<typeof saveCannedResponseSuccess> | ReturnType<typeof saveCannedResponseFailure> | ReturnType<typeof fetchCannedResponses>;
|
|
7
|
-
export declare const saveCannedResponseEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.saveCannedResponseEpic = void 0;
|
|
4
|
-
const rxjs_1 = require("rxjs");
|
|
5
|
-
const operators_1 = require("rxjs/operators");
|
|
6
|
-
const responsePayload_1 = require("../../../../responsePayload");
|
|
7
|
-
const cannedResponsesReducer_1 = require("../cannedResponsesReducer");
|
|
8
|
-
const saveCannedResponseEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(cannedResponsesReducer_1.saveCannedResponse.match), (0, operators_1.switchMap)((action) => {
|
|
9
|
-
const { name, content, cannedResponseId } = action.payload;
|
|
10
|
-
const isUpdate = cannedResponseId != null;
|
|
11
|
-
const url = isUpdate
|
|
12
|
-
? `${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/canned-responses/${cannedResponseId}`
|
|
13
|
-
: `${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/canned-responses`;
|
|
14
|
-
const apiCall = isUpdate
|
|
15
|
-
? zeniAPI.putAndGetJSON(url, {
|
|
16
|
-
name,
|
|
17
|
-
content,
|
|
18
|
-
})
|
|
19
|
-
: zeniAPI.postAndGetJSON(url, {
|
|
20
|
-
name,
|
|
21
|
-
content,
|
|
22
|
-
});
|
|
23
|
-
return apiCall.pipe((0, operators_1.mergeMap)((response) => {
|
|
24
|
-
if ((0, responsePayload_1.isSuccessResponse)(response)) {
|
|
25
|
-
return (0, rxjs_1.of)((0, cannedResponsesReducer_1.saveCannedResponseSuccess)(), (0, cannedResponsesReducer_1.fetchCannedResponses)() // Refresh list after save
|
|
26
|
-
);
|
|
27
|
-
}
|
|
28
|
-
return (0, rxjs_1.of)((0, cannedResponsesReducer_1.saveCannedResponseFailure)({ error: response.status }));
|
|
29
|
-
}), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, cannedResponsesReducer_1.saveCannedResponseFailure)({
|
|
30
|
-
error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Save Canned Response errored: ' + JSON.stringify(error)),
|
|
31
|
-
}))));
|
|
32
|
-
}));
|
|
33
|
-
exports.saveCannedResponseEpic = saveCannedResponseEpic;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ActionsObservable, StateObservable } from 'redux-observable';
|
|
2
|
-
import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
|
|
3
|
-
import { updateTasks } from '../../../../entity/task/taskReducer';
|
|
4
|
-
import { RootState } from '../../../../reducer';
|
|
5
|
-
import { ZeniAPI } from '../../../../zeniAPI';
|
|
6
|
-
import { fetchTaskList, removeTaskFromList } from '../../taskListView/taskListReducer';
|
|
7
|
-
import { snoozeTask, snoozeTaskSuccessOrFailure } from '../taskDetailReducer';
|
|
8
|
-
export type ActionType = ReturnType<typeof snoozeTask> | ReturnType<typeof updateTasks> | ReturnType<typeof openSnackbar> | ReturnType<typeof fetchTaskList> | ReturnType<typeof snoozeTaskSuccessOrFailure> | ReturnType<typeof removeTaskFromList>;
|
|
9
|
-
export declare const snoozeTaskEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => import("rxjs").Observable<ActionType>;
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.snoozeTaskEpic = void 0;
|
|
4
|
-
const rxjs_1 = require("rxjs");
|
|
5
|
-
const operators_1 = require("rxjs/operators");
|
|
6
|
-
const formatZeniDateFY_1 = require("../../../../commonStateTypes/fiscalYearHelpers/formatZeniDateFY");
|
|
7
|
-
const snackbarReducer_1 = require("../../../../entity/snackbar/snackbarReducer");
|
|
8
|
-
const taskReducer_1 = require("../../../../entity/task/taskReducer");
|
|
9
|
-
const responsePayload_1 = require("../../../../responsePayload");
|
|
10
|
-
const zeniDayJS_1 = require("../../../../zeniDayJS");
|
|
11
|
-
const taskListReducer_1 = require("../../taskListView/taskListReducer");
|
|
12
|
-
const taskDetailReducer_1 = require("../taskDetailReducer");
|
|
13
|
-
const snoozeTaskEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(taskDetailReducer_1.snoozeTask.match), (0, operators_1.mergeMap)((action) => handleSnoozeTask(action.payload.taskId, action.payload.snoozedUntil, zeniAPI)));
|
|
14
|
-
exports.snoozeTaskEpic = snoozeTaskEpic;
|
|
15
|
-
const formatSnoozedUntilForDisplay = (snoozedUntil) => (0, zeniDayJS_1.date)(snoozedUntil).format(formatZeniDateFY_1.SNOOZED_DISPLAY_FORMAT);
|
|
16
|
-
const handleSnoozeTask = (taskId, snoozedUntil, zeniAPI) => {
|
|
17
|
-
const snoozeTaskApi$ = zeniAPI.postAndGetJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks/${taskId}/snooze`, { snoozed_until: snoozedUntil });
|
|
18
|
-
return snoozeTaskApi$.pipe((0, operators_1.mergeMap)((response) => handleApiResponse(response, taskId, snoozedUntil)), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, taskDetailReducer_1.snoozeTaskSuccessOrFailure)({
|
|
19
|
-
fetchState: 'Error',
|
|
20
|
-
taskId,
|
|
21
|
-
error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Snooze Task REST API call errored out: ' + JSON.stringify(error)),
|
|
22
|
-
}))));
|
|
23
|
-
};
|
|
24
|
-
const handleApiResponse = (response, taskId, snoozedUntil) => {
|
|
25
|
-
if ((0, responsePayload_1.isSuccessResponse)(response) &&
|
|
26
|
-
response.data != null &&
|
|
27
|
-
response.data.tasks.length > 0) {
|
|
28
|
-
const fetchActions = [
|
|
29
|
-
(0, taskReducer_1.updateTasks)(response.data.tasks),
|
|
30
|
-
(0, taskListReducer_1.removeTaskFromList)(taskId),
|
|
31
|
-
(0, taskListReducer_1.fetchTaskList)(),
|
|
32
|
-
(0, taskDetailReducer_1.snoozeTaskSuccessOrFailure)({
|
|
33
|
-
fetchState: 'Completed',
|
|
34
|
-
taskId,
|
|
35
|
-
}),
|
|
36
|
-
(0, snackbarReducer_1.openSnackbar)({
|
|
37
|
-
messageSection: 'snooze_task',
|
|
38
|
-
messageText: 'success',
|
|
39
|
-
type: 'success',
|
|
40
|
-
variables: [
|
|
41
|
-
{
|
|
42
|
-
variableName: '_snoozed_until_',
|
|
43
|
-
variableValue: formatSnoozedUntilForDisplay(snoozedUntil),
|
|
44
|
-
},
|
|
45
|
-
],
|
|
46
|
-
}),
|
|
47
|
-
];
|
|
48
|
-
return (0, rxjs_1.from)(fetchActions);
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
return (0, rxjs_1.from)([
|
|
52
|
-
(0, taskDetailReducer_1.snoozeTaskSuccessOrFailure)({
|
|
53
|
-
fetchState: 'Error',
|
|
54
|
-
taskId,
|
|
55
|
-
error: response.status,
|
|
56
|
-
}),
|
|
57
|
-
(0, snackbarReducer_1.openSnackbar)({
|
|
58
|
-
messageSection: 'snooze_task',
|
|
59
|
-
messageText: 'failed',
|
|
60
|
-
type: 'error',
|
|
61
|
-
variables: [
|
|
62
|
-
{
|
|
63
|
-
variableName: '_api-error_',
|
|
64
|
-
variableValue: response.status.message,
|
|
65
|
-
},
|
|
66
|
-
],
|
|
67
|
-
}),
|
|
68
|
-
]);
|
|
69
|
-
}
|
|
70
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ActionsObservable, StateObservable } from 'redux-observable';
|
|
2
|
-
import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
|
|
3
|
-
import { updateTasks } from '../../../../entity/task/taskReducer';
|
|
4
|
-
import { RootState } from '../../../../reducer';
|
|
5
|
-
import { ZeniAPI } from '../../../../zeniAPI';
|
|
6
|
-
import { fetchTaskList, removeTaskFromList } from '../../taskListView/taskListReducer';
|
|
7
|
-
import { snoozeTaskSuccessOrFailure, unsnoozeTask } from '../taskDetailReducer';
|
|
8
|
-
export type ActionType = ReturnType<typeof unsnoozeTask> | ReturnType<typeof updateTasks> | ReturnType<typeof openSnackbar> | ReturnType<typeof fetchTaskList> | ReturnType<typeof removeTaskFromList> | ReturnType<typeof snoozeTaskSuccessOrFailure>;
|
|
9
|
-
export declare const unsnoozeTaskEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => import("rxjs").Observable<ActionType>;
|