@frontegg/redux-store 4.16.1 → 4.19.0
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/auth/LoginState/index.d.ts +3 -0
- package/auth/LoginState/interfaces.d.ts +1 -0
- package/auth/LoginState/saga.d.ts +1 -0
- package/auth/index.d.ts +1 -0
- package/auth/index.js +51 -12
- package/auth/index.js.map +1 -1
- package/auth/reducer.d.ts +1 -0
- package/connectivity/ConnectivityState/index.d.ts +80 -1
- package/connectivity/index.d.ts +2 -0
- package/connectivity/index.js +51 -2
- package/connectivity/index.js.map +1 -1
- package/connectivity/interfaces.d.ts +7 -0
- package/connectivity/reducer.d.ts +2 -0
- package/package.json +2 -2
- package/subscriptions/Billing/Information/index.d.ts +1 -0
- package/subscriptions/Billing/Invoices/index.d.ts +8 -0
- package/subscriptions/Billing/Invoices/interfaces.d.ts +4 -0
- package/subscriptions/Billing/PaymentMethod/index.d.ts +5 -2
- package/subscriptions/Billing/PaymentMethod/interfaces.d.ts +6 -4
- package/subscriptions/Billing/index.d.ts +13 -1
- package/subscriptions/Checkout/index.d.ts +2 -3
- package/subscriptions/Checkout/interfaces.d.ts +1 -3
- package/subscriptions/Config/index.d.ts +1 -0
- package/subscriptions/Plans/index.d.ts +1 -0
- package/subscriptions/Stripe/index.d.ts +2 -0
- package/subscriptions/Stripe/interfaces.d.ts +3 -0
- package/subscriptions/index.d.ts +26 -4
- package/subscriptions/index.js +279 -186
- package/subscriptions/index.js.map +1 -1
- package/subscriptions/interfaces.d.ts +4 -0
- package/subscriptions/reducer.d.ts +26 -4
- package/subscriptions/utils.d.ts +6 -0
package/auth/reducer.d.ts
CHANGED
|
@@ -150,6 +150,7 @@ declare const actions: {
|
|
|
150
150
|
}, string, never, never>;
|
|
151
151
|
passwordlessPreLogin: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("../interfaces").WithCallback<import("@frontegg/rest-api").IPasswordlessPreLogin, void>], import("../interfaces").WithCallback<import("@frontegg/rest-api").IPasswordlessPreLogin, void>, string, never, never>;
|
|
152
152
|
passwordlessPostLogin: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("@frontegg/rest-api").IPasswordlessPostLogin], import("@frontegg/rest-api").IPasswordlessPostLogin, string, never, never>;
|
|
153
|
+
verifyInviteToken: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("@frontegg/rest-api").IVerifyInviteToken], import("@frontegg/rest-api").IVerifyInviteToken, string, never, never>;
|
|
153
154
|
setRolesState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[Partial<import(".").RolesState>], Partial<import(".").RolesState>, string, never, never>;
|
|
154
155
|
resetRolesState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
155
156
|
setTenantsState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[Partial<import(".").TenantsState>], Partial<import(".").TenantsState>, string, never, never>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PayloadAction } from '@reduxjs/toolkit';
|
|
2
|
-
import { IConnectivityState, TPlatform, TPostData } from '../interfaces';
|
|
2
|
+
import { IConnectivityState, IWebhookRetryResult, TPlatform, TPostData } from '../interfaces';
|
|
3
3
|
import { IWebhookTest } from '@frontegg/rest-api';
|
|
4
4
|
import { WithCallback } from '../../interfaces';
|
|
5
5
|
declare const reducers: {
|
|
@@ -24,6 +24,7 @@ declare const reducers: {
|
|
|
24
24
|
clientId?: string | undefined;
|
|
25
25
|
};
|
|
26
26
|
testResult?: import("../interfaces").IWebhookTestResult | undefined;
|
|
27
|
+
retryResult?: IWebhookRetryResult | undefined;
|
|
27
28
|
webhookLogs?: import("../interfaces").IWebhookLogs | undefined;
|
|
28
29
|
};
|
|
29
30
|
setConnectivityState: (state: IConnectivityState, { payload }: PayloadAction<Partial<IConnectivityState>>) => {
|
|
@@ -47,6 +48,7 @@ declare const reducers: {
|
|
|
47
48
|
clientId?: string | undefined;
|
|
48
49
|
};
|
|
49
50
|
testResult?: import("../interfaces").IWebhookTestResult | undefined;
|
|
51
|
+
retryResult?: IWebhookRetryResult | undefined;
|
|
50
52
|
webhookLogs?: import("../interfaces").IWebhookLogs | undefined;
|
|
51
53
|
};
|
|
52
54
|
cleanWebhookTestData: (state: IConnectivityState) => {
|
|
@@ -70,6 +72,7 @@ declare const reducers: {
|
|
|
70
72
|
data?: import("@frontegg/rest-api").ISlackChannel[] | undefined;
|
|
71
73
|
clientId?: string | undefined;
|
|
72
74
|
};
|
|
75
|
+
retryResult?: IWebhookRetryResult | undefined;
|
|
73
76
|
webhookLogs?: import("../interfaces").IWebhookLogs | undefined;
|
|
74
77
|
};
|
|
75
78
|
cleanWebhookLogsData: (state: IConnectivityState) => {
|
|
@@ -94,6 +97,7 @@ declare const reducers: {
|
|
|
94
97
|
clientId?: string | undefined;
|
|
95
98
|
};
|
|
96
99
|
testResult?: import("../interfaces").IWebhookTestResult | undefined;
|
|
100
|
+
retryResult?: IWebhookRetryResult | undefined;
|
|
97
101
|
};
|
|
98
102
|
cleanWebhookTestMessage: (state: IConnectivityState) => {
|
|
99
103
|
testResult: {
|
|
@@ -119,6 +123,7 @@ declare const reducers: {
|
|
|
119
123
|
data?: import("@frontegg/rest-api").ISlackChannel[] | undefined;
|
|
120
124
|
clientId?: string | undefined;
|
|
121
125
|
};
|
|
126
|
+
retryResult?: IWebhookRetryResult | undefined;
|
|
122
127
|
webhookLogs?: import("../interfaces").IWebhookLogs | undefined;
|
|
123
128
|
};
|
|
124
129
|
cleanError: (state: IConnectivityState) => {
|
|
@@ -142,6 +147,7 @@ declare const reducers: {
|
|
|
142
147
|
clientId?: string | undefined;
|
|
143
148
|
};
|
|
144
149
|
testResult?: import("../interfaces").IWebhookTestResult | undefined;
|
|
150
|
+
retryResult?: IWebhookRetryResult | undefined;
|
|
145
151
|
webhookLogs?: import("../interfaces").IWebhookLogs | undefined;
|
|
146
152
|
};
|
|
147
153
|
cleanSlackData: (state: IConnectivityState) => {
|
|
@@ -161,8 +167,80 @@ declare const reducers: {
|
|
|
161
167
|
error?: string | undefined;
|
|
162
168
|
processIds: string[];
|
|
163
169
|
testResult?: import("../interfaces").IWebhookTestResult | undefined;
|
|
170
|
+
retryResult?: IWebhookRetryResult | undefined;
|
|
164
171
|
webhookLogs?: import("../interfaces").IWebhookLogs | undefined;
|
|
165
172
|
};
|
|
173
|
+
postWebhookRetryAction: {
|
|
174
|
+
prepare: (logId: string) => {
|
|
175
|
+
payload: string;
|
|
176
|
+
};
|
|
177
|
+
reducer: (state: IConnectivityState, { payload }: PayloadAction<string>) => {
|
|
178
|
+
retryResult: {
|
|
179
|
+
[x: string]: {
|
|
180
|
+
isProcess: boolean;
|
|
181
|
+
success: boolean;
|
|
182
|
+
} | {
|
|
183
|
+
isProcess: boolean;
|
|
184
|
+
success: boolean;
|
|
185
|
+
};
|
|
186
|
+
};
|
|
187
|
+
isLoading: boolean;
|
|
188
|
+
isSaving: boolean;
|
|
189
|
+
isTesting?: boolean | undefined;
|
|
190
|
+
list: import("../interfaces").IConnectivityData[];
|
|
191
|
+
sms?: import("@frontegg/rest-api").IEmailSMSConfigResponse[] | undefined;
|
|
192
|
+
email?: import("@frontegg/rest-api").IEmailSMSConfigResponse[] | undefined;
|
|
193
|
+
slack?: import("@frontegg/rest-api").ISlackConfigurations | undefined;
|
|
194
|
+
webhook?: import("@frontegg/rest-api").IWebhooksConfigurations[] | undefined;
|
|
195
|
+
categories?: import("@frontegg/rest-api").ICategory[] | undefined;
|
|
196
|
+
channelMap?: Record<TPlatform, import("@frontegg/rest-api").IChannelsMap[]> | undefined;
|
|
197
|
+
error?: string | undefined;
|
|
198
|
+
processIds: string[];
|
|
199
|
+
slackChannels: {
|
|
200
|
+
error?: string | undefined;
|
|
201
|
+
isLoading: boolean;
|
|
202
|
+
isLoadingScope?: boolean | undefined;
|
|
203
|
+
data?: import("@frontegg/rest-api").ISlackChannel[] | undefined;
|
|
204
|
+
clientId?: string | undefined;
|
|
205
|
+
};
|
|
206
|
+
testResult?: import("../interfaces").IWebhookTestResult | undefined;
|
|
207
|
+
webhookLogs?: import("../interfaces").IWebhookLogs | undefined;
|
|
208
|
+
};
|
|
209
|
+
};
|
|
210
|
+
postWebhookRetryResult: {
|
|
211
|
+
prepare: (payload: IWebhookRetryResult) => {
|
|
212
|
+
payload: IWebhookRetryResult;
|
|
213
|
+
};
|
|
214
|
+
reducer: (state: IConnectivityState, { payload }: PayloadAction<IWebhookRetryResult>) => {
|
|
215
|
+
retryResult: {
|
|
216
|
+
[x: string]: {
|
|
217
|
+
isProcess: boolean;
|
|
218
|
+
success: boolean;
|
|
219
|
+
};
|
|
220
|
+
};
|
|
221
|
+
isLoading: boolean;
|
|
222
|
+
isSaving: boolean;
|
|
223
|
+
isTesting?: boolean | undefined;
|
|
224
|
+
list: import("../interfaces").IConnectivityData[];
|
|
225
|
+
sms?: import("@frontegg/rest-api").IEmailSMSConfigResponse[] | undefined;
|
|
226
|
+
email?: import("@frontegg/rest-api").IEmailSMSConfigResponse[] | undefined;
|
|
227
|
+
slack?: import("@frontegg/rest-api").ISlackConfigurations | undefined;
|
|
228
|
+
webhook?: import("@frontegg/rest-api").IWebhooksConfigurations[] | undefined;
|
|
229
|
+
categories?: import("@frontegg/rest-api").ICategory[] | undefined;
|
|
230
|
+
channelMap?: Record<TPlatform, import("@frontegg/rest-api").IChannelsMap[]> | undefined;
|
|
231
|
+
error?: string | undefined;
|
|
232
|
+
processIds: string[];
|
|
233
|
+
slackChannels: {
|
|
234
|
+
error?: string | undefined;
|
|
235
|
+
isLoading: boolean;
|
|
236
|
+
isLoadingScope?: boolean | undefined;
|
|
237
|
+
data?: import("@frontegg/rest-api").ISlackChannel[] | undefined;
|
|
238
|
+
clientId?: string | undefined;
|
|
239
|
+
};
|
|
240
|
+
testResult?: import("../interfaces").IWebhookTestResult | undefined;
|
|
241
|
+
webhookLogs?: import("../interfaces").IWebhookLogs | undefined;
|
|
242
|
+
};
|
|
243
|
+
};
|
|
166
244
|
};
|
|
167
245
|
declare const actions: {
|
|
168
246
|
loadSlackActions: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
@@ -198,6 +276,7 @@ declare type DispatchedActions = {
|
|
|
198
276
|
webhookId: string;
|
|
199
277
|
}>) => void;
|
|
200
278
|
postWebhookTestAction: (payload: IWebhookTest) => void;
|
|
279
|
+
postWebhookRetryAction: (logId: string) => void;
|
|
201
280
|
loadWebhookLogsAction: (id: string, offset: number, limit: number) => void;
|
|
202
281
|
cleanWebhookTestData: () => void;
|
|
203
282
|
cleanWebhookLogsData: () => void;
|
package/connectivity/index.d.ts
CHANGED
|
@@ -33,6 +33,8 @@ declare const _default: {
|
|
|
33
33
|
cleanWebhookTestMessage: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
34
34
|
cleanError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
35
35
|
cleanSlackData: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
36
|
+
postWebhookRetryAction: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[string], string, string, never, never>;
|
|
37
|
+
postWebhookRetryResult: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("./interfaces").IWebhookRetryResult], import("./interfaces").IWebhookRetryResult, string, never, never>;
|
|
36
38
|
};
|
|
37
39
|
};
|
|
38
40
|
export default _default;
|
package/connectivity/index.js
CHANGED
|
@@ -33,13 +33,30 @@ var reducers = {
|
|
|
33
33
|
},
|
|
34
34
|
cleanError: function (state) { return (tslib.__assign(tslib.__assign({}, state), { error: undefined })); },
|
|
35
35
|
cleanSlackData: function (state) { return (tslib.__assign(tslib.__assign({}, state), { slackChannels: { isLoading: false } })); },
|
|
36
|
+
postWebhookRetryAction: {
|
|
37
|
+
prepare: function (logId) { return ({ payload: logId }); },
|
|
38
|
+
reducer: function (state, _a) {
|
|
39
|
+
var _b;
|
|
40
|
+
var payload = _a.payload;
|
|
41
|
+
return (tslib.__assign(tslib.__assign({}, state), { retryResult: tslib.__assign(tslib.__assign({}, state.retryResult), (_b = {}, _b[payload] = { isProcess: true, success: false }, _b)) }));
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
postWebhookRetryResult: {
|
|
45
|
+
prepare: function (payload) { return ({ payload: payload }); },
|
|
46
|
+
reducer: function (state, _a) {
|
|
47
|
+
var payload = _a.payload;
|
|
48
|
+
return (tslib.__assign(tslib.__assign({}, state), { retryResult: tslib.__assign(tslib.__assign({}, state.retryResult), payload) }));
|
|
49
|
+
},
|
|
50
|
+
},
|
|
36
51
|
};
|
|
37
52
|
var actions$1 = {
|
|
38
53
|
loadSlackActions: toolkit.createAction(constants.connectivityStoreName + "/loadSlackActions"),
|
|
39
54
|
loadDataAction: toolkit.createAction(constants.connectivityStoreName + "/loadDataAction", function (payload) { return ({
|
|
40
55
|
payload: payload,
|
|
41
56
|
}); }),
|
|
42
|
-
postDataAction: toolkit.createAction(constants.connectivityStoreName + "/postDataAction", function (payload) { return ({
|
|
57
|
+
postDataAction: toolkit.createAction(constants.connectivityStoreName + "/postDataAction", function (payload) { return ({
|
|
58
|
+
payload: payload,
|
|
59
|
+
}); }),
|
|
43
60
|
postCodeAction: toolkit.createAction(constants.connectivityStoreName + "/postCodeAction", function (payload) { return ({ payload: payload }); }),
|
|
44
61
|
loadScope: toolkit.createAction(constants.connectivityStoreName + "/loadScope"),
|
|
45
62
|
deleteWebhookConfigAction: toolkit.createAction(constants.connectivityStoreName + "/deleteWebhookConfigAction", function (payload) { return ({
|
|
@@ -678,6 +695,35 @@ function postWebhookTestFunction(_a) {
|
|
|
678
695
|
}
|
|
679
696
|
});
|
|
680
697
|
}
|
|
698
|
+
function postWebhookRetryFunction(_a) {
|
|
699
|
+
var statusCode;
|
|
700
|
+
var _b, _c;
|
|
701
|
+
var payload = _a.payload;
|
|
702
|
+
return tslib.__generator(this, function (_d) {
|
|
703
|
+
switch (_d.label) {
|
|
704
|
+
case 0:
|
|
705
|
+
_d.trys.push([0, 3, , 5]);
|
|
706
|
+
return [4 /*yield*/, effects.call(restApi.api.connectivity.postWebhookRetry, payload)];
|
|
707
|
+
case 1:
|
|
708
|
+
statusCode = (_d.sent()).statusCode;
|
|
709
|
+
return [4 /*yield*/, effects.put(actions.postWebhookRetryResult((_b = {},
|
|
710
|
+
_b[payload] = { isProcess: false, success: statusCode === 202 },
|
|
711
|
+
_b)))];
|
|
712
|
+
case 2:
|
|
713
|
+
_d.sent();
|
|
714
|
+
return [3 /*break*/, 5];
|
|
715
|
+
case 3:
|
|
716
|
+
_d.sent();
|
|
717
|
+
return [4 /*yield*/, effects.put(actions.postWebhookRetryResult((_c = {},
|
|
718
|
+
_c[payload] = { isProcess: false, success: false },
|
|
719
|
+
_c)))];
|
|
720
|
+
case 4:
|
|
721
|
+
_d.sent();
|
|
722
|
+
return [3 /*break*/, 5];
|
|
723
|
+
case 5: return [2 /*return*/];
|
|
724
|
+
}
|
|
725
|
+
});
|
|
726
|
+
}
|
|
681
727
|
function loadWebhookLogsFunction(_a) {
|
|
682
728
|
var webhookLogs, data;
|
|
683
729
|
var _b = _a.payload, id = _b.id, limit = _b.limit, offset = _b.offset;
|
|
@@ -737,8 +783,11 @@ function sagas() {
|
|
|
737
783
|
return [4 /*yield*/, effects.takeEvery(actions.postWebhookTestAction, postWebhookTestFunction)];
|
|
738
784
|
case 7:
|
|
739
785
|
_a.sent();
|
|
740
|
-
return [4 /*yield*/, effects.
|
|
786
|
+
return [4 /*yield*/, effects.takeEvery(actions.postWebhookRetryAction, postWebhookRetryFunction)];
|
|
741
787
|
case 8:
|
|
788
|
+
_a.sent();
|
|
789
|
+
return [4 /*yield*/, effects.takeLatest(actions.loadWebhookLogsAction, loadWebhookLogsFunction)];
|
|
790
|
+
case 9:
|
|
742
791
|
_a.sent();
|
|
743
792
|
return [2 /*return*/];
|
|
744
793
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/connectivity/ConnectivityState/index.ts","../../src/connectivity/reducer.ts","../../src/connectivity/consts.ts","../../src/connectivity/saga.ts","../../src/connectivity/index.ts"],"sourcesContent":["import { createAction, PayloadAction } from '@reduxjs/toolkit';\nimport { IConnectivityState, TPlatform, TPostData } from '../interfaces';\nimport { connectivityStoreName } from '../../constants';\nimport { IWebhookTest } from '@frontegg/rest-api';\nimport { ActionDispatchMatcher, WithCallback } from '../../interfaces';\n\nconst initialState: IConnectivityState = {\n isLoading: false,\n isSaving: false,\n list: [],\n processIds: [],\n slackChannels: {\n isLoading: false,\n },\n};\n\nconst reducers = {\n initData: () => ({ ...initialState }),\n // Deprecated: use initData instead;\n // cleanData: () => ({ ...initialState }),\n setConnectivityState: (state: IConnectivityState, { payload }: PayloadAction<Partial<IConnectivityState>>) => ({\n ...state,\n ...payload,\n }),\n cleanWebhookTestData: (state: IConnectivityState) => ({ ...state, testResult: undefined }),\n cleanWebhookLogsData: (state: IConnectivityState) => ({ ...state, webhookLogs: undefined }),\n cleanWebhookTestMessage: (state: IConnectivityState) => ({\n ...state,\n testResult: { status: state.testResult?.status, message: undefined },\n }),\n cleanError: (state: IConnectivityState) => ({ ...state, error: undefined }),\n cleanSlackData: (state: IConnectivityState) => ({ ...state, slackChannels: { isLoading: false } }),\n};\n\nconst actions = {\n loadSlackActions: createAction(`${connectivityStoreName}/loadSlackActions`),\n loadDataAction: createAction(`${connectivityStoreName}/loadDataAction`, (payload?: TPlatform[]) => ({\n payload,\n })),\n postDataAction: createAction(`${connectivityStoreName}/postDataAction`, (payload: WithCallback<TPostData>) => ({ payload })),\n postCodeAction: createAction(`${connectivityStoreName}/postCodeAction`, (payload: string) => ({ payload })),\n loadScope: createAction(`${connectivityStoreName}/loadScope`),\n deleteWebhookConfigAction: createAction(`${connectivityStoreName}/deleteWebhookConfigAction`, (payload: WithCallback<{ webhookId: string }>) => ({\n payload,\n })),\n postWebhookTestAction: createAction(`${connectivityStoreName}/postWebhookTestAction`, (payload: WithCallback<IWebhookTest>) => ({\n payload,\n })),\n loadWebhookLogsAction: createAction(\n `${connectivityStoreName}/loadWebhookLogsAction`,\n (id: string, offset: number = 0, limit: number = 10) => ({ payload: { id, offset, limit } })\n ),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setConnectivityState: (state: Partial<IConnectivityState>) => void;\n initData: () => void;\n loadSlackActions: () => void;\n loadDataAction: (payload?: TPlatform[]) => void;\n postDataAction: (payload: WithCallback<TPostData>) => void;\n postCodeAction: (payload: string) => void;\n loadScope: () => void;\n deleteWebhookConfigAction: (payload: WithCallback<{ webhookId: string }>) => void;\n postWebhookTestAction: (payload: IWebhookTest) => void;\n loadWebhookLogsAction: (id: string, offset: number, limit: number) => void;\n cleanWebhookTestData: () => void;\n cleanWebhookLogsData: () => void;\n cleanWebhookTestMessage: () => void;\n cleanError: () => void;\n cleanSlackData: () => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\n// const Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type ConnectivityActions = DispatchedActions;\nexport { reducers as connectivityReducers, actions as connectivityActions };\n","import { connectivityStoreName } from '../constants';\nimport { createSlice } from '@reduxjs/toolkit';\nimport { IConnectivityState } from './interfaces';\nimport { connectivityActions, connectivityReducers } from './ConnectivityState';\n\nexport const initialState: IConnectivityState = {\n isLoading: false,\n isSaving: false,\n list: [],\n processIds: [],\n slackChannels: {\n isLoading: false,\n },\n};\n\nconst { reducer, actions: sliceActions } = createSlice({\n name: connectivityStoreName,\n initialState,\n reducers: {\n ...connectivityReducers,\n },\n});\n\nconst actions = {\n ...sliceActions,\n ...connectivityActions,\n};\n\nexport { reducer, actions };\n","import { api, IEmailSMSConfigResponse, ISlackConfigurations, IWebhooksConfigurations } from '@frontegg/rest-api';\nimport { TPlatform, TWebhookImage } from './interfaces';\n\nexport const type2ApiGet: Record<TPlatform | 'categories' | 'channelMap', any> = {\n slack: api.connectivity.getSlackConfiguration,\n email: api.connectivity.getEmailConfiguration,\n sms: api.connectivity.getSMSConfiguration,\n webhook: api.connectivity.getWebhooksConfigurations,\n categories: api.connectivity.getCategories,\n channelMap: api.connectivity.getChannelMaps,\n};\n\nexport const type2ApiPost: Record<TPlatform, any> = {\n slack: api.connectivity.postSlackConfiguration,\n email: api.connectivity.postEmailConfiguration,\n sms: api.connectivity.postSMSConfiguration,\n webhook: api.connectivity.postWebhooksConfiguration,\n};\n\nexport const defaultRootPath = '/connectivity';\n\nexport const channels: TPlatform[] = ['email', 'slack', 'sms', 'webhook'];\n\nexport const channels2Platform: Record<\n TPlatform,\n {\n title: string;\n events(data: IEmailSMSConfigResponse[] | ISlackConfigurations | IWebhooksConfigurations[]): number;\n isActive(data: IEmailSMSConfigResponse[] | ISlackConfigurations | IWebhooksConfigurations[]): boolean;\n image: TWebhookImage;\n }\n> = {\n sms: {\n title: 'connectivity.sms',\n events: (data) => (data as IEmailSMSConfigResponse[])?.length || 0,\n isActive: (data) => (data as IEmailSMSConfigResponse[])?.some(({ enabled }) => enabled) ?? false,\n image: 'sms',\n },\n email: {\n title: 'common.email',\n events: (data) => (data as IEmailSMSConfigResponse[])?.length || 0,\n isActive: (data) => (data as IEmailSMSConfigResponse[])?.some(({ enabled }) => enabled) ?? false,\n image: 'email',\n },\n slack: {\n title: 'connectivity.slack',\n events: (data) => (data as ISlackConfigurations)?.slackSubscriptions?.length || 0,\n isActive: (data) => !!(data as ISlackConfigurations)?.slackSubscriptions.some(({ isActive }) => isActive) ?? false,\n image: 'slack',\n },\n webhook: {\n title: 'connectivity.webhook',\n events: (data) => (data as IWebhooksConfigurations[])?.length || 0,\n isActive: (data) => (data as IWebhooksConfigurations[])?.some(({ isActive }) => isActive) ?? false,\n image: 'webhook',\n },\n};\n","import { WithCallback } from './../interfaces';\nimport { put, call, takeEvery, all, takeLatest, select } from 'redux-saga/effects';\nimport { PayloadAction } from '@reduxjs/toolkit';\nimport { actions as connectivityActions } from './reducer';\nimport { IConnectivityState, IPluginState, TPlatform, TPostDataSuccess } from './interfaces';\nimport { type2ApiGet, type2ApiPost, channels, channels2Platform } from './consts';\nimport {\n api,\n IChannelsMap,\n IWebhookTest,\n IWebhooksSaveData,\n ISlackSubscription,\n IEmailSMSConfigResponse,\n ISlackConfigurations,\n IWebhooksConfigurations,\n} from '@frontegg/rest-api';\n\nconst addApi = ['categories', 'channelMap'];\n\nfunction* loadDataFunction({ payload = channels }: PayloadAction<TPlatform[] | undefined>) {\n yield put(connectivityActions.setConnectivityState({ isLoading: true }));\n try {\n const values = yield all([\n ...payload.map(function* (ch: TPlatform) {\n return yield loadFunction({ payload: { api: ch }, type: '' });\n }),\n yield loadFunction({ payload: { api: 'categories' }, type: '' }),\n yield (function* () {\n const res = yield all(\n payload.map(function* (ch: TPlatform) {\n return yield loadFunction({ payload: { api: 'channelMap', params: ch }, type: '' });\n })\n );\n return res.reduce(\n (acc: Record<TPlatform, IChannelsMap>, curr: IChannelsMap, idx: number) => ({\n ...acc,\n [`${payload[idx]}`]: curr,\n }),\n {}\n );\n })(),\n ]);\n const data = values.reduce(\n (\n acc: Omit<IConnectivityState, 'isLoading'>,\n curr: IEmailSMSConfigResponse[] | ISlackConfigurations | IWebhooksConfigurations[],\n idx: number\n ) =>\n payload[idx]\n ? values[values.length - 1][payload[idx]].length\n ? {\n ...acc,\n [`${payload[idx]}`]: curr,\n list: [\n ...acc.list,\n {\n id: idx,\n key: payload[idx],\n events: channels2Platform[payload[idx]].events(curr),\n active: channels2Platform[payload[idx]].isActive(curr),\n platform: channels2Platform[payload[idx]].title,\n image: channels2Platform[payload[idx]].image,\n },\n ],\n }\n : acc\n : { ...acc, [`${addApi[idx - payload.length]}`]: curr },\n { list: [] }\n );\n yield put(\n connectivityActions.setConnectivityState({ ...data, error: undefined, isSaving: false, isLoading: false })\n );\n } catch (e) {\n yield put(connectivityActions.setConnectivityState({ isLoading: false }));\n }\n}\n\nfunction* loadFunction({\n payload: { api, params },\n}: PayloadAction<{ api: TPlatform | 'categories' | 'channelMap'; params?: string }>) {\n try {\n const data = yield call(type2ApiGet[api], params);\n return data;\n } catch (e) {\n return undefined;\n }\n}\n\nfunction* loadSlackFunction() {\n try {\n yield put(connectivityActions.setConnectivityState({ slackChannels: { isLoading: true } }));\n const data = yield call(api.connectivity.getSlackChannels);\n yield put(\n connectivityActions.setConnectivityState({ error: undefined, slackChannels: { isLoading: false, data } })\n );\n } catch (e) {\n yield put(connectivityActions.setConnectivityState({ error: undefined, slackChannels: { isLoading: false } }));\n }\n}\n\nfunction* checkNewStatus(\n platform: TPlatform,\n data: IEmailSMSConfigResponse[] | ISlackConfigurations | IWebhooksConfigurations[]\n) {\n const {\n connectivity: { list },\n }: IPluginState = yield select();\n\n const currPlatform = list.find(({ key }) => key === platform);\n if (!currPlatform) return;\n const newActive = channels2Platform[platform].isActive(data);\n if (newActive === currPlatform.active) return;\n //TODO: double check\n yield put(\n connectivityActions.setConnectivityState({\n list: list.map((elm) => (elm.key === platform ? { ...elm, active: newActive } : elm)),\n })\n );\n}\n\nfunction* postDataFunction({\n payload: { platform, data, callback },\n}: ReturnType<typeof connectivityActions.postDataAction>) {\n const { processIds } = yield select((state) => state.connectivity);\n\n try {\n yield put(\n connectivityActions.setConnectivityState({\n isSaving: true,\n //@ts-ignore\n processIds: platform === 'webhook' ? [data._id, ...processIds] : processIds,\n })\n );\n if (platform === 'slack') {\n yield postSlackData({ payload: data as ISlackConfigurations, type: '' });\n } else if (['sms', 'email'].includes(platform)) {\n yield postEmailSMSData({ payload: data as IEmailSMSConfigResponse[], type: platform as 'email' | 'sms' });\n } else {\n yield call(type2ApiPost[platform], data);\n }\n if (!['sms', 'email'].includes(platform)) {\n const newData = yield loadFunction({ payload: { api: platform }, type: '' });\n if (platform === 'webhook') {\n newData.id = (data as IWebhooksSaveData)._id;\n }\n\n yield put(\n connectivityActions.setConnectivityState({\n error: undefined,\n isSaving: false,\n [`${platform}`]: newData,\n processIds: newData.id ? processIds.filter((el: string) => el !== newData.id) : processIds,\n })\n );\n\n yield checkNewStatus(platform, newData);\n callback?.(true);\n }\n } catch (e) {\n yield put(\n connectivityActions.setConnectivityState({ error: e.message ?? e.toString(), isSaving: false, isLoading: false })\n );\n }\n}\n\nfunction* postSlackData({ payload }: PayloadAction<ISlackConfigurations>) {\n const {\n connectivity: { slack },\n }: IPluginState = yield select();\n if (!slack) {\n return;\n }\n const { slackSubscriptions: stateSlackSubscriptions } = slack;\n const { slackSubscriptions } = payload;\n yield all([\n ...slackSubscriptions\n .reduce((acc: ISlackSubscription[], curr: ISlackSubscription) => {\n if (!curr.id && curr.slackEvents && curr.slackEvents[0].channelIds?.length) {\n return [...acc, curr];\n }\n const el = stateSlackSubscriptions?.find(\n ({ id, ...props }) => id === curr.id && JSON.stringify({ id, ...props }) !== JSON.stringify(curr)\n );\n if (el && curr.slackEvents && curr.slackEvents[0].channelIds?.length) {\n return [...acc, curr];\n }\n return acc;\n }, [])\n .map(function* (el: ISlackSubscription) {\n return yield call(type2ApiPost.slack, el);\n }),\n ...slackSubscriptions\n .reduce((acc: ISlackSubscription[], curr: ISlackSubscription) => {\n if (curr.id && !curr.slackEvents[0].channelIds.length) {\n return [...acc, curr];\n }\n return acc;\n }, [])\n .map(function* (el) {\n return yield call(api.connectivity.deleteSlackConfiguration, el as Required<ISlackSubscription>);\n }),\n // clean the old data\n // ...stateSlackSubscriptions\n // // @ts-ignore\n // .reduce((acc, curr) => {\n // const el = slackSubscriptions.find(({ id }) => id === curr.id);\n // if (!el) {\n // return [...acc, curr];\n // }\n // return acc;\n // }, [])\n // // @ts-ignore\n // .map(function* (el) {\n // return yield call(api.connectivity.deleteSlackConfiguration, el as Required<ISlackSubscription>);\n // }),\n ]);\n}\n\nfunction* postEmailSMSData({ payload, type }: PayloadAction<IEmailSMSConfigResponse[], 'email' | 'sms'>) {\n const { connectivity }: IPluginState = yield select();\n const { processIds } = yield select((state) => state.connectivity);\n const stateData = connectivity[type as 'email' | 'sms'];\n if (!stateData) return;\n\n let actionsResult = [];\n try {\n actionsResult = yield all([\n // create new\n ...payload\n .reduce((acc: IEmailSMSConfigResponse[], curr) => {\n const state = stateData.find(({ eventKey }) => eventKey === curr.eventKey);\n if (!state && curr.subscriptions[0].recipients.filter((el) => el).length) {\n return [...acc, curr];\n }\n return acc;\n }, [])\n .map(function* (data) {\n return yield call(\n type === 'email' ? api.connectivity.postEmailConfiguration : api.connectivity.postSMSConfiguration,\n data\n );\n }),\n // update exists\n ...payload\n .reduce((acc: IEmailSMSConfigResponse[], curr) => {\n const state = stateData.find(({ eventKey }) => eventKey === curr.eventKey);\n if (state && JSON.stringify(state) !== JSON.stringify(curr)) {\n return [...acc, curr];\n }\n return acc;\n }, [])\n .map(function* (data) {\n const { subscriptions, eventKey } = data;\n const { id = '', enabled, ...body } = subscriptions[0];\n return yield all([\n yield call(\n type === 'email' ? api.connectivity.patchEmailConfiguration : api.connectivity.patchSMSConfiguration,\n { eventKey, enabled }\n ),\n yield call(\n type === 'email' ? api.connectivity.putEmailSubscriptions : api.connectivity.putSMSSubscriptions,\n id,\n eventKey,\n { ...body, enabled }\n ),\n ]);\n }),\n // delete record with empty recipients\n ...payload\n .reduce((acc: IEmailSMSConfigResponse[], curr) => {\n const state = stateData.find(({ eventKey }) => eventKey === curr.eventKey);\n if (\n state &&\n state.subscriptions[0].recipients.length &&\n !curr.subscriptions[0].recipients.filter((el) => !!el).length\n ) {\n return [...acc, curr];\n }\n return acc;\n }, [])\n .map(function* ({ eventKey, subscriptions }) {\n return call(\n type === 'email' ? api.connectivity.deleteEmailSubscriptions : api.connectivity.deleteSMSSubscriptions,\n eventKey,\n subscriptions[0].id || ''\n );\n }),\n ]);\n } catch {}\n if (actionsResult.length) {\n const newData = yield loadFunction({ payload: { api: type }, type: '' });\n // yield put(connectivityActions.postDataSuccess({ platform: type, data: newData }));\n yield put(\n connectivityActions.setConnectivityState({\n error: undefined,\n isSaving: false,\n [`${type}`]: newData,\n processIds: newData.id ? processIds.filter((el: string) => el !== newData.id) : processIds,\n })\n );\n yield checkNewStatus(type, newData);\n } else {\n // yield put(connectivityActions.postDataSuccess({ platform: type, data: stateData }));\n yield put(\n connectivityActions.setConnectivityState({\n error: undefined,\n isSaving: false,\n [`${type}`]: stateData,\n processIds: processIds,\n })\n );\n }\n}\n\nfunction* postCodeFunction({ payload }: PayloadAction<string>) {\n try {\n yield api.connectivity.postSlackCode(payload);\n } catch {}\n // yield put(connectivityActions.postCodeSuccess());\n yield put(connectivityActions.setConnectivityState({ error: undefined, isSaving: false }));\n}\n\nfunction* loadSlackPermissions() {\n const { slackChannels } = yield select((state) => state.connectivity);\n try {\n yield put(connectivityActions.setConnectivityState({ slackChannels: { ...slackChannels, isLoadingScope: true } }));\n const { clientId } = yield call(api.connectivity.getSlackScope);\n // yield put(connectivityActions.loadScopeSuccess(clientId));\n yield put(\n connectivityActions.setConnectivityState({\n slackChannels: { error: undefined, clientId, isLoadingScope: false, isLoading: false },\n })\n );\n } catch {\n // yield put(connectivityActions.loadScopeSuccess(null));\n yield put(\n connectivityActions.setConnectivityState({\n slackChannels: { error: undefined, isLoadingScope: false, isLoading: false },\n })\n );\n }\n}\n\nfunction* deleteWebhookConfigFunction({ payload }: PayloadAction<WithCallback<{ webhookId: string }>>) {\n const { callback, webhookId } = payload;\n const { processIds } = yield select((state) => state.connectivity);\n try {\n yield put(connectivityActions.setConnectivityState({ isSaving: true }));\n yield call(api.connectivity.deleteWebhooksConfiguration, webhookId);\n } catch (e) {\n callback?.(null, e.message);\n }\n const newData = yield loadFunction({ payload: { api: 'webhook' }, type: '' });\n // yield put(connectivityActions.postDataSuccess({ platform: 'webhook', data: newData }));\n if (newData) {\n yield put(\n connectivityActions.setConnectivityState({\n error: undefined,\n isSaving: false,\n webhook: newData,\n processIds: newData.id ? processIds.filter((el: string) => el !== newData.id) : processIds,\n })\n );\n }\n callback?.(true);\n}\n\nfunction* postWebhookTestFunction({ payload }: PayloadAction<IWebhookTest>) {\n try {\n yield put(connectivityActions.setConnectivityState({ isTesting: true }));\n const { statusCode, body } = yield call(api.connectivity.postWebhookTest, payload);\n if ([201, 200].includes(statusCode)) {\n // yield put(connectivityActions.postWebhookTestSuccess('success', JSON.stringify(body, null, 2)));\n const message = JSON.stringify(body, null, 2);\n yield put(\n connectivityActions.setConnectivityState({ isTesting: false, testResult: { status: 'success', message } })\n );\n } else {\n // yield put(connectivityActions.postWebhookTestSuccess('failed', body.toString()));\n yield put(connectivityActions.setConnectivityState({ isTesting: false, testResult: { status: 'failed' } }));\n }\n } catch (e) {\n // yield put(connectivityActions.postWebhookTestSuccess('failed', e.toString()));\n yield put(\n connectivityActions.setConnectivityState({\n isTesting: false,\n testResult: { status: 'failed', message: e.toString() },\n })\n );\n }\n}\n\nfunction* loadWebhookLogsFunction({\n payload: { id, limit, offset },\n}: PayloadAction<{ id: string; offset: number; limit: number }>) {\n const { webhookLogs } = yield select((state) => state.connectivity);\n try {\n yield put(connectivityActions.setConnectivityState({ webhookLogs: { ...webhookLogs, isLoading: true } }));\n //TODO: Fix types\n //@ts-ignore\n const data = yield call(api.connectivity.getWebhookLog, id, offset, limit);\n // yield put(connectivityActions.loadWebhookLogsSuccess(data));\n yield put(\n connectivityActions.setConnectivityState({ error: undefined, webhookLogs: { isLoading: false, ...data } })\n );\n } catch (e) {\n // yield put(connectivityActions.loadWebhookLogsSuccess());\n yield put(connectivityActions.setConnectivityState({ error: undefined, webhookLogs: { isLoading: false } }));\n }\n}\n\nexport function* sagas() {\n yield takeEvery(connectivityActions.loadDataAction, loadDataFunction);\n yield takeLatest(connectivityActions.loadSlackActions, loadSlackFunction);\n yield takeEvery(connectivityActions.postDataAction, postDataFunction);\n yield takeEvery(connectivityActions.postCodeAction, postCodeFunction);\n yield takeEvery(connectivityActions.loadScope, loadSlackPermissions);\n yield takeEvery(connectivityActions.deleteWebhookConfigAction, deleteWebhookConfigFunction);\n yield takeEvery(connectivityActions.postWebhookTestAction, postWebhookTestFunction);\n yield takeLatest(connectivityActions.loadWebhookLogsAction, loadWebhookLogsFunction);\n}\n","import { reducer, actions, initialState } from './reducer';\nimport { sagas } from './saga';\nimport { connectivityStoreName as storeName } from '../constants';\n\n// export types\nexport * from './interfaces';\n\nexport type { ConnectivityActions } from './ConnectivityState';\n\nexport {\n sagas as connectivitySagas,\n reducer as connectivityReducers,\n actions as connectivityActions,\n initialState as connectivityInitialState,\n storeName as connectivityStoreName,\n};\n\n// export store\nexport default {\n sagas,\n storeName,\n initialState,\n reducer,\n actions,\n};\n"],"names":["initialState","actions","createAction","connectivityStoreName","createSlice","connectivityReducers","connectivityActions","api","put","all","call","select","takeEvery","takeLatest"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/connectivity/ConnectivityState/index.ts","../../src/connectivity/reducer.ts","../../src/connectivity/consts.ts","../../src/connectivity/saga.ts","../../src/connectivity/index.ts"],"sourcesContent":["import { createAction, PayloadAction } from '@reduxjs/toolkit';\nimport { IConnectivityState, IWebhookRetryResult, TPlatform, TPostData } from '../interfaces';\nimport { connectivityStoreName } from '../../constants';\nimport { IWebhookTest } from '@frontegg/rest-api';\nimport { ActionDispatchMatcher, WithCallback } from '../../interfaces';\n\nconst initialState: IConnectivityState = {\n isLoading: false,\n isSaving: false,\n list: [],\n processIds: [],\n slackChannels: {\n isLoading: false,\n },\n};\n\nconst reducers = {\n initData: () => ({ ...initialState }),\n // Deprecated: use initData instead;\n // cleanData: () => ({ ...initialState }),\n setConnectivityState: (state: IConnectivityState, { payload }: PayloadAction<Partial<IConnectivityState>>) => ({\n ...state,\n ...payload,\n }),\n cleanWebhookTestData: (state: IConnectivityState) => ({ ...state, testResult: undefined }),\n cleanWebhookLogsData: (state: IConnectivityState) => ({ ...state, webhookLogs: undefined }),\n cleanWebhookTestMessage: (state: IConnectivityState) => ({\n ...state,\n testResult: { status: state.testResult?.status, message: undefined },\n }),\n cleanError: (state: IConnectivityState) => ({ ...state, error: undefined }),\n cleanSlackData: (state: IConnectivityState) => ({ ...state, slackChannels: { isLoading: false } }),\n postWebhookRetryAction: {\n prepare: (logId: string) => ({ payload: logId }),\n reducer: (state: IConnectivityState, { payload }: PayloadAction<string>) => ({\n ...state,\n retryResult: { ...state.retryResult, [payload]: { isProcess: true, success: false } },\n }),\n },\n postWebhookRetryResult: {\n prepare: (payload: IWebhookRetryResult) => ({ payload }),\n reducer: (state: IConnectivityState, { payload }: PayloadAction<IWebhookRetryResult>) => ({\n ...state,\n retryResult: { ...state.retryResult, ...payload },\n }),\n },\n};\n\nconst actions = {\n loadSlackActions: createAction(`${connectivityStoreName}/loadSlackActions`),\n loadDataAction: createAction(`${connectivityStoreName}/loadDataAction`, (payload?: TPlatform[]) => ({\n payload,\n })),\n postDataAction: createAction(`${connectivityStoreName}/postDataAction`, (payload: WithCallback<TPostData>) => ({\n payload,\n })),\n postCodeAction: createAction(`${connectivityStoreName}/postCodeAction`, (payload: string) => ({ payload })),\n loadScope: createAction(`${connectivityStoreName}/loadScope`),\n deleteWebhookConfigAction: createAction(\n `${connectivityStoreName}/deleteWebhookConfigAction`,\n (payload: WithCallback<{ webhookId: string }>) => ({\n payload,\n })\n ),\n postWebhookTestAction: createAction(\n `${connectivityStoreName}/postWebhookTestAction`,\n (payload: WithCallback<IWebhookTest>) => ({\n payload,\n })\n ),\n loadWebhookLogsAction: createAction(\n `${connectivityStoreName}/loadWebhookLogsAction`,\n (id: string, offset: number = 0, limit: number = 10) => ({ payload: { id, offset, limit } })\n ),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setConnectivityState: (state: Partial<IConnectivityState>) => void;\n initData: () => void;\n loadSlackActions: () => void;\n loadDataAction: (payload?: TPlatform[]) => void;\n postDataAction: (payload: WithCallback<TPostData>) => void;\n postCodeAction: (payload: string) => void;\n loadScope: () => void;\n deleteWebhookConfigAction: (payload: WithCallback<{ webhookId: string }>) => void;\n postWebhookTestAction: (payload: IWebhookTest) => void;\n postWebhookRetryAction: (logId: string) => void;\n loadWebhookLogsAction: (id: string, offset: number, limit: number) => void;\n cleanWebhookTestData: () => void;\n cleanWebhookLogsData: () => void;\n cleanWebhookTestMessage: () => void;\n cleanError: () => void;\n cleanSlackData: () => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\n// const Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type ConnectivityActions = DispatchedActions;\nexport { reducers as connectivityReducers, actions as connectivityActions };\n","import { connectivityStoreName } from '../constants';\nimport { createSlice } from '@reduxjs/toolkit';\nimport { IConnectivityState } from './interfaces';\nimport { connectivityActions, connectivityReducers } from './ConnectivityState';\n\nexport const initialState: IConnectivityState = {\n isLoading: false,\n isSaving: false,\n list: [],\n processIds: [],\n slackChannels: {\n isLoading: false,\n },\n};\n\nconst { reducer, actions: sliceActions } = createSlice({\n name: connectivityStoreName,\n initialState,\n reducers: {\n ...connectivityReducers,\n },\n});\n\nconst actions = {\n ...sliceActions,\n ...connectivityActions,\n};\n\nexport { reducer, actions };\n","import { api, IEmailSMSConfigResponse, ISlackConfigurations, IWebhooksConfigurations } from '@frontegg/rest-api';\nimport { TPlatform, TWebhookImage } from './interfaces';\n\nexport const type2ApiGet: Record<TPlatform | 'categories' | 'channelMap', any> = {\n slack: api.connectivity.getSlackConfiguration,\n email: api.connectivity.getEmailConfiguration,\n sms: api.connectivity.getSMSConfiguration,\n webhook: api.connectivity.getWebhooksConfigurations,\n categories: api.connectivity.getCategories,\n channelMap: api.connectivity.getChannelMaps,\n};\n\nexport const type2ApiPost: Record<TPlatform, any> = {\n slack: api.connectivity.postSlackConfiguration,\n email: api.connectivity.postEmailConfiguration,\n sms: api.connectivity.postSMSConfiguration,\n webhook: api.connectivity.postWebhooksConfiguration,\n};\n\nexport const defaultRootPath = '/connectivity';\n\nexport const channels: TPlatform[] = ['email', 'slack', 'sms', 'webhook'];\n\nexport const channels2Platform: Record<\n TPlatform,\n {\n title: string;\n events(data: IEmailSMSConfigResponse[] | ISlackConfigurations | IWebhooksConfigurations[]): number;\n isActive(data: IEmailSMSConfigResponse[] | ISlackConfigurations | IWebhooksConfigurations[]): boolean;\n image: TWebhookImage;\n }\n> = {\n sms: {\n title: 'connectivity.sms',\n events: (data) => (data as IEmailSMSConfigResponse[])?.length || 0,\n isActive: (data) => (data as IEmailSMSConfigResponse[])?.some(({ enabled }) => enabled) ?? false,\n image: 'sms',\n },\n email: {\n title: 'common.email',\n events: (data) => (data as IEmailSMSConfigResponse[])?.length || 0,\n isActive: (data) => (data as IEmailSMSConfigResponse[])?.some(({ enabled }) => enabled) ?? false,\n image: 'email',\n },\n slack: {\n title: 'connectivity.slack',\n events: (data) => (data as ISlackConfigurations)?.slackSubscriptions?.length || 0,\n isActive: (data) => !!(data as ISlackConfigurations)?.slackSubscriptions.some(({ isActive }) => isActive) ?? false,\n image: 'slack',\n },\n webhook: {\n title: 'connectivity.webhook',\n events: (data) => (data as IWebhooksConfigurations[])?.length || 0,\n isActive: (data) => (data as IWebhooksConfigurations[])?.some(({ isActive }) => isActive) ?? false,\n image: 'webhook',\n },\n};\n","import { WithCallback } from './../interfaces';\nimport { put, call, takeEvery, all, takeLatest, select } from 'redux-saga/effects';\nimport { PayloadAction } from '@reduxjs/toolkit';\nimport { actions as connectivityActions } from './reducer';\nimport { IConnectivityState, IPluginState, TPlatform, TPostDataSuccess } from './interfaces';\nimport { type2ApiGet, type2ApiPost, channels, channels2Platform } from './consts';\nimport {\n api,\n IChannelsMap,\n IWebhookTest,\n IWebhooksSaveData,\n ISlackSubscription,\n IEmailSMSConfigResponse,\n ISlackConfigurations,\n IWebhooksConfigurations,\n} from '@frontegg/rest-api';\n\nconst addApi = ['categories', 'channelMap'];\n\nfunction* loadDataFunction({ payload = channels }: PayloadAction<TPlatform[] | undefined>) {\n yield put(connectivityActions.setConnectivityState({ isLoading: true }));\n try {\n const values = yield all([\n ...payload.map(function* (ch: TPlatform) {\n return yield loadFunction({ payload: { api: ch }, type: '' });\n }),\n yield loadFunction({ payload: { api: 'categories' }, type: '' }),\n yield (function* () {\n const res = yield all(\n payload.map(function* (ch: TPlatform) {\n return yield loadFunction({ payload: { api: 'channelMap', params: ch }, type: '' });\n })\n );\n return res.reduce(\n (acc: Record<TPlatform, IChannelsMap>, curr: IChannelsMap, idx: number) => ({\n ...acc,\n [`${payload[idx]}`]: curr,\n }),\n {}\n );\n })(),\n ]);\n const data = values.reduce(\n (\n acc: Omit<IConnectivityState, 'isLoading'>,\n curr: IEmailSMSConfigResponse[] | ISlackConfigurations | IWebhooksConfigurations[],\n idx: number\n ) =>\n payload[idx]\n ? values[values.length - 1][payload[idx]].length\n ? {\n ...acc,\n [`${payload[idx]}`]: curr,\n list: [\n ...acc.list,\n {\n id: idx,\n key: payload[idx],\n events: channels2Platform[payload[idx]].events(curr),\n active: channels2Platform[payload[idx]].isActive(curr),\n platform: channels2Platform[payload[idx]].title,\n image: channels2Platform[payload[idx]].image,\n },\n ],\n }\n : acc\n : { ...acc, [`${addApi[idx - payload.length]}`]: curr },\n { list: [] }\n );\n yield put(\n connectivityActions.setConnectivityState({ ...data, error: undefined, isSaving: false, isLoading: false })\n );\n } catch (e) {\n yield put(connectivityActions.setConnectivityState({ isLoading: false }));\n }\n}\n\nfunction* loadFunction({\n payload: { api, params },\n}: PayloadAction<{ api: TPlatform | 'categories' | 'channelMap'; params?: string }>) {\n try {\n const data = yield call(type2ApiGet[api], params);\n return data;\n } catch (e) {\n return undefined;\n }\n}\n\nfunction* loadSlackFunction() {\n try {\n yield put(connectivityActions.setConnectivityState({ slackChannels: { isLoading: true } }));\n const data = yield call(api.connectivity.getSlackChannels);\n yield put(\n connectivityActions.setConnectivityState({ error: undefined, slackChannels: { isLoading: false, data } })\n );\n } catch (e) {\n yield put(connectivityActions.setConnectivityState({ error: undefined, slackChannels: { isLoading: false } }));\n }\n}\n\nfunction* checkNewStatus(\n platform: TPlatform,\n data: IEmailSMSConfigResponse[] | ISlackConfigurations | IWebhooksConfigurations[]\n) {\n const {\n connectivity: { list },\n }: IPluginState = yield select();\n\n const currPlatform = list.find(({ key }) => key === platform);\n if (!currPlatform) return;\n const newActive = channels2Platform[platform].isActive(data);\n if (newActive === currPlatform.active) return;\n //TODO: double check\n yield put(\n connectivityActions.setConnectivityState({\n list: list.map((elm) => (elm.key === platform ? { ...elm, active: newActive } : elm)),\n })\n );\n}\n\nfunction* postDataFunction({\n payload: { platform, data, callback },\n}: ReturnType<typeof connectivityActions.postDataAction>) {\n const { processIds } = yield select((state) => state.connectivity);\n\n try {\n yield put(\n connectivityActions.setConnectivityState({\n isSaving: true,\n //@ts-ignore\n processIds: platform === 'webhook' ? [data._id, ...processIds] : processIds,\n })\n );\n if (platform === 'slack') {\n yield postSlackData({ payload: data as ISlackConfigurations, type: '' });\n } else if (['sms', 'email'].includes(platform)) {\n yield postEmailSMSData({ payload: data as IEmailSMSConfigResponse[], type: platform as 'email' | 'sms' });\n } else {\n yield call(type2ApiPost[platform], data);\n }\n if (!['sms', 'email'].includes(platform)) {\n const newData = yield loadFunction({ payload: { api: platform }, type: '' });\n if (platform === 'webhook') {\n newData.id = (data as IWebhooksSaveData)._id;\n }\n\n yield put(\n connectivityActions.setConnectivityState({\n error: undefined,\n isSaving: false,\n [`${platform}`]: newData,\n processIds: newData.id ? processIds.filter((el: string) => el !== newData.id) : processIds,\n })\n );\n\n yield checkNewStatus(platform, newData);\n callback?.(true);\n }\n } catch (e) {\n yield put(\n connectivityActions.setConnectivityState({ error: e.message ?? e.toString(), isSaving: false, isLoading: false })\n );\n }\n}\n\nfunction* postSlackData({ payload }: PayloadAction<ISlackConfigurations>) {\n const {\n connectivity: { slack },\n }: IPluginState = yield select();\n if (!slack) {\n return;\n }\n const { slackSubscriptions: stateSlackSubscriptions } = slack;\n const { slackSubscriptions } = payload;\n yield all([\n ...slackSubscriptions\n .reduce((acc: ISlackSubscription[], curr: ISlackSubscription) => {\n if (!curr.id && curr.slackEvents && curr.slackEvents[0].channelIds?.length) {\n return [...acc, curr];\n }\n const el = stateSlackSubscriptions?.find(\n ({ id, ...props }) => id === curr.id && JSON.stringify({ id, ...props }) !== JSON.stringify(curr)\n );\n if (el && curr.slackEvents && curr.slackEvents[0].channelIds?.length) {\n return [...acc, curr];\n }\n return acc;\n }, [])\n .map(function* (el: ISlackSubscription) {\n return yield call(type2ApiPost.slack, el);\n }),\n ...slackSubscriptions\n .reduce((acc: ISlackSubscription[], curr: ISlackSubscription) => {\n if (curr.id && !curr.slackEvents[0].channelIds.length) {\n return [...acc, curr];\n }\n return acc;\n }, [])\n .map(function* (el) {\n return yield call(api.connectivity.deleteSlackConfiguration, el as Required<ISlackSubscription>);\n }),\n // clean the old data\n // ...stateSlackSubscriptions\n // // @ts-ignore\n // .reduce((acc, curr) => {\n // const el = slackSubscriptions.find(({ id }) => id === curr.id);\n // if (!el) {\n // return [...acc, curr];\n // }\n // return acc;\n // }, [])\n // // @ts-ignore\n // .map(function* (el) {\n // return yield call(api.connectivity.deleteSlackConfiguration, el as Required<ISlackSubscription>);\n // }),\n ]);\n}\n\nfunction* postEmailSMSData({ payload, type }: PayloadAction<IEmailSMSConfigResponse[], 'email' | 'sms'>) {\n const { connectivity }: IPluginState = yield select();\n const { processIds } = yield select((state) => state.connectivity);\n const stateData = connectivity[type as 'email' | 'sms'];\n if (!stateData) return;\n\n let actionsResult = [];\n try {\n actionsResult = yield all([\n // create new\n ...payload\n .reduce((acc: IEmailSMSConfigResponse[], curr) => {\n const state = stateData.find(({ eventKey }) => eventKey === curr.eventKey);\n if (!state && curr.subscriptions[0].recipients.filter((el) => el).length) {\n return [...acc, curr];\n }\n return acc;\n }, [])\n .map(function* (data) {\n return yield call(\n type === 'email' ? api.connectivity.postEmailConfiguration : api.connectivity.postSMSConfiguration,\n data\n );\n }),\n // update exists\n ...payload\n .reduce((acc: IEmailSMSConfigResponse[], curr) => {\n const state = stateData.find(({ eventKey }) => eventKey === curr.eventKey);\n if (state && JSON.stringify(state) !== JSON.stringify(curr)) {\n return [...acc, curr];\n }\n return acc;\n }, [])\n .map(function* (data) {\n const { subscriptions, eventKey } = data;\n const { id = '', enabled, ...body } = subscriptions[0];\n return yield all([\n yield call(\n type === 'email' ? api.connectivity.patchEmailConfiguration : api.connectivity.patchSMSConfiguration,\n { eventKey, enabled }\n ),\n yield call(\n type === 'email' ? api.connectivity.putEmailSubscriptions : api.connectivity.putSMSSubscriptions,\n id,\n eventKey,\n { ...body, enabled }\n ),\n ]);\n }),\n // delete record with empty recipients\n ...payload\n .reduce((acc: IEmailSMSConfigResponse[], curr) => {\n const state = stateData.find(({ eventKey }) => eventKey === curr.eventKey);\n if (\n state &&\n state.subscriptions[0].recipients.length &&\n !curr.subscriptions[0].recipients.filter((el) => !!el).length\n ) {\n return [...acc, curr];\n }\n return acc;\n }, [])\n .map(function* ({ eventKey, subscriptions }) {\n return call(\n type === 'email' ? api.connectivity.deleteEmailSubscriptions : api.connectivity.deleteSMSSubscriptions,\n eventKey,\n subscriptions[0].id || ''\n );\n }),\n ]);\n } catch {}\n if (actionsResult.length) {\n const newData = yield loadFunction({ payload: { api: type }, type: '' });\n // yield put(connectivityActions.postDataSuccess({ platform: type, data: newData }));\n yield put(\n connectivityActions.setConnectivityState({\n error: undefined,\n isSaving: false,\n [`${type}`]: newData,\n processIds: newData.id ? processIds.filter((el: string) => el !== newData.id) : processIds,\n })\n );\n yield checkNewStatus(type, newData);\n } else {\n // yield put(connectivityActions.postDataSuccess({ platform: type, data: stateData }));\n yield put(\n connectivityActions.setConnectivityState({\n error: undefined,\n isSaving: false,\n [`${type}`]: stateData,\n processIds: processIds,\n })\n );\n }\n}\n\nfunction* postCodeFunction({ payload }: PayloadAction<string>) {\n try {\n yield api.connectivity.postSlackCode(payload);\n } catch {}\n // yield put(connectivityActions.postCodeSuccess());\n yield put(connectivityActions.setConnectivityState({ error: undefined, isSaving: false }));\n}\n\nfunction* loadSlackPermissions() {\n const { slackChannels } = yield select((state) => state.connectivity);\n try {\n yield put(connectivityActions.setConnectivityState({ slackChannels: { ...slackChannels, isLoadingScope: true } }));\n const { clientId } = yield call(api.connectivity.getSlackScope);\n // yield put(connectivityActions.loadScopeSuccess(clientId));\n yield put(\n connectivityActions.setConnectivityState({\n slackChannels: { error: undefined, clientId, isLoadingScope: false, isLoading: false },\n })\n );\n } catch {\n // yield put(connectivityActions.loadScopeSuccess(null));\n yield put(\n connectivityActions.setConnectivityState({\n slackChannels: { error: undefined, isLoadingScope: false, isLoading: false },\n })\n );\n }\n}\n\nfunction* deleteWebhookConfigFunction({ payload }: PayloadAction<WithCallback<{ webhookId: string }>>) {\n const { callback, webhookId } = payload;\n const { processIds } = yield select((state) => state.connectivity);\n try {\n yield put(connectivityActions.setConnectivityState({ isSaving: true }));\n yield call(api.connectivity.deleteWebhooksConfiguration, webhookId);\n } catch (e) {\n callback?.(null, e.message);\n }\n const newData = yield loadFunction({ payload: { api: 'webhook' }, type: '' });\n // yield put(connectivityActions.postDataSuccess({ platform: 'webhook', data: newData }));\n if (newData) {\n yield put(\n connectivityActions.setConnectivityState({\n error: undefined,\n isSaving: false,\n webhook: newData,\n processIds: newData.id ? processIds.filter((el: string) => el !== newData.id) : processIds,\n })\n );\n }\n callback?.(true);\n}\n\nfunction* postWebhookTestFunction({ payload }: PayloadAction<IWebhookTest>) {\n try {\n yield put(connectivityActions.setConnectivityState({ isTesting: true }));\n const { statusCode, body } = yield call(api.connectivity.postWebhookTest, payload);\n if ([201, 200].includes(statusCode)) {\n // yield put(connectivityActions.postWebhookTestSuccess('success', JSON.stringify(body, null, 2)));\n const message = JSON.stringify(body, null, 2);\n yield put(\n connectivityActions.setConnectivityState({ isTesting: false, testResult: { status: 'success', message } })\n );\n } else {\n // yield put(connectivityActions.postWebhookTestSuccess('failed', body.toString()));\n yield put(connectivityActions.setConnectivityState({ isTesting: false, testResult: { status: 'failed' } }));\n }\n } catch (e) {\n // yield put(connectivityActions.postWebhookTestSuccess('failed', e.toString()));\n yield put(\n connectivityActions.setConnectivityState({\n isTesting: false,\n testResult: { status: 'failed', message: e.toString() },\n })\n );\n }\n}\n\nfunction* postWebhookRetryFunction({ payload }: PayloadAction<string>) {\n try {\n const { statusCode } = yield call(api.connectivity.postWebhookRetry, payload);\n yield put(\n connectivityActions.postWebhookRetryResult({\n [payload]: { isProcess: false, success: statusCode === 202 },\n })\n );\n } catch (e) {\n yield put(\n connectivityActions.postWebhookRetryResult({\n [payload]: { isProcess: false, success: false },\n })\n );\n }\n}\n\nfunction* loadWebhookLogsFunction({\n payload: { id, limit, offset },\n}: PayloadAction<{ id: string; offset: number; limit: number }>) {\n const { webhookLogs } = yield select((state) => state.connectivity);\n try {\n yield put(connectivityActions.setConnectivityState({ webhookLogs: { ...webhookLogs, isLoading: true } }));\n //TODO: Fix types\n //@ts-ignore\n const data = yield call(api.connectivity.getWebhookLog, id, offset, limit);\n // yield put(connectivityActions.loadWebhookLogsSuccess(data));\n yield put(\n connectivityActions.setConnectivityState({ error: undefined, webhookLogs: { isLoading: false, ...data } })\n );\n } catch (e) {\n // yield put(connectivityActions.loadWebhookLogsSuccess());\n yield put(connectivityActions.setConnectivityState({ error: undefined, webhookLogs: { isLoading: false } }));\n }\n}\n\nexport function* sagas() {\n yield takeEvery(connectivityActions.loadDataAction, loadDataFunction);\n yield takeLatest(connectivityActions.loadSlackActions, loadSlackFunction);\n yield takeEvery(connectivityActions.postDataAction, postDataFunction);\n yield takeEvery(connectivityActions.postCodeAction, postCodeFunction);\n yield takeEvery(connectivityActions.loadScope, loadSlackPermissions);\n yield takeEvery(connectivityActions.deleteWebhookConfigAction, deleteWebhookConfigFunction);\n yield takeEvery(connectivityActions.postWebhookTestAction, postWebhookTestFunction);\n yield takeEvery(connectivityActions.postWebhookRetryAction, postWebhookRetryFunction);\n yield takeLatest(connectivityActions.loadWebhookLogsAction, loadWebhookLogsFunction);\n}\n","import { reducer, actions, initialState } from './reducer';\nimport { sagas } from './saga';\nimport { connectivityStoreName as storeName } from '../constants';\n\n// export types\nexport * from './interfaces';\n\nexport type { ConnectivityActions } from './ConnectivityState';\n\nexport {\n sagas as connectivitySagas,\n reducer as connectivityReducers,\n actions as connectivityActions,\n initialState as connectivityInitialState,\n storeName as connectivityStoreName,\n};\n\n// export store\nexport default {\n sagas,\n storeName,\n initialState,\n reducer,\n actions,\n};\n"],"names":["initialState","actions","createAction","connectivityStoreName","createSlice","connectivityReducers","connectivityActions","api","put","all","call","select","takeEvery","takeLatest"],"mappings":"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"}
|
|
@@ -29,6 +29,7 @@ export interface IConnectivityState {
|
|
|
29
29
|
clientId?: string;
|
|
30
30
|
};
|
|
31
31
|
testResult?: IWebhookTestResult;
|
|
32
|
+
retryResult?: IWebhookRetryResult;
|
|
32
33
|
webhookLogs?: IWebhookLogs;
|
|
33
34
|
}
|
|
34
35
|
export interface IConnectivityData {
|
|
@@ -46,6 +47,12 @@ export interface IWebhookTestResult {
|
|
|
46
47
|
status: TWebhookStatus;
|
|
47
48
|
message?: string;
|
|
48
49
|
}
|
|
50
|
+
export interface IWebhookRetryResult {
|
|
51
|
+
[k: string]: {
|
|
52
|
+
isProcess: boolean;
|
|
53
|
+
success: boolean;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
49
56
|
export interface IWebhookLogs extends Partial<IWebhookLogsResponse> {
|
|
50
57
|
isLoading: boolean;
|
|
51
58
|
}
|
|
@@ -25,5 +25,7 @@ declare const actions: {
|
|
|
25
25
|
cleanWebhookTestMessage: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
26
26
|
cleanError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
27
27
|
cleanSlackData: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
28
|
+
postWebhookRetryAction: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[string], string, string, never, never>;
|
|
29
|
+
postWebhookRetryResult: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("./interfaces").IWebhookRetryResult], import("./interfaces").IWebhookRetryResult, string, never, never>;
|
|
28
30
|
};
|
|
29
31
|
export { reducer, actions };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frontegg/redux-store",
|
|
3
3
|
"libName": "FronteggReduxStore",
|
|
4
|
-
"version": "4.
|
|
4
|
+
"version": "4.19.0",
|
|
5
5
|
"author": "Frontegg LTD",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"types": "index.d.ts",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"build": "export NODE_ENV='production' && rm -rf dist && mkdir dist && rollup -c ./rollup.config.js"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@frontegg/rest-api": "^2.10.
|
|
13
|
+
"@frontegg/rest-api": "^2.10.27",
|
|
14
14
|
"@reduxjs/toolkit": "^1.5.0",
|
|
15
15
|
"redux-saga": "^1.1.0",
|
|
16
16
|
"tslib": "^2.1.0",
|
|
@@ -9,6 +9,7 @@ declare const actions: {
|
|
|
9
9
|
setRenewalError: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[string | null], string | null, string, never, never>;
|
|
10
10
|
setLoading: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[boolean], boolean, string, never, never>;
|
|
11
11
|
setError: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[string | null], string | null, string, never, never>;
|
|
12
|
+
setState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[Partial<BillingInformationState>], Partial<BillingInformationState>, string, never, never>;
|
|
12
13
|
loadBillingInformation: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
13
14
|
cancelSubscription: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
14
15
|
renewSubscription: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
@@ -4,8 +4,16 @@ export declare const initialInvoicesState: InvoicesState;
|
|
|
4
4
|
declare const reducer: import("redux").Reducer<InvoicesState, import("redux").AnyAction>;
|
|
5
5
|
declare const actions: {
|
|
6
6
|
setInvoices: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[Invoice[]], Invoice[], string, never, never>;
|
|
7
|
+
setInvoiceDownloadState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[{
|
|
8
|
+
loading: boolean;
|
|
9
|
+
error: string | null;
|
|
10
|
+
}], {
|
|
11
|
+
loading: boolean;
|
|
12
|
+
error: string | null;
|
|
13
|
+
}, string, never, never>;
|
|
7
14
|
setLoading: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[boolean], boolean, string, never, never>;
|
|
8
15
|
setError: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[string | null], string | null, string, never, never>;
|
|
16
|
+
setState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[Partial<InvoicesState>], Partial<InvoicesState>, string, never, never>;
|
|
9
17
|
loadInvoices: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
10
18
|
downloadInvoice: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[DownloadInvoiceActionPayload], DownloadInvoiceActionPayload, string, never, never>;
|
|
11
19
|
};
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import { PaymentMethodState
|
|
1
|
+
import { PaymentMethodState } from './interfaces';
|
|
2
2
|
import { ISubscriptionUpdatePaymentMethodBillingDetails } from '@frontegg/rest-api';
|
|
3
3
|
import { WithCallback } from '../../../interfaces';
|
|
4
4
|
export declare const initialPaymentMethodState: PaymentMethodState;
|
|
5
5
|
declare const reducer: import("redux").Reducer<PaymentMethodState, import("redux").AnyAction>;
|
|
6
6
|
declare const actions: {
|
|
7
|
-
|
|
7
|
+
setState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[Partial<PaymentMethodState>], Partial<PaymentMethodState>, string, never, never>;
|
|
8
8
|
setLoading: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[boolean], boolean, string, never, never>;
|
|
9
9
|
setError: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[string | null], string | null, string, never, never>;
|
|
10
10
|
loadPaymentMethod: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
11
|
+
submitPaymentMethod: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
12
|
+
submitPaymentMethodError: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>;
|
|
13
|
+
submitPaymentMethodSuccess: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
11
14
|
updatePaymentMethodBillingDetails: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[WithCallback<ISubscriptionUpdatePaymentMethodBillingDetails & {
|
|
12
15
|
id: string;
|
|
13
16
|
}, boolean>], WithCallback<ISubscriptionUpdatePaymentMethodBillingDetails & {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { WithCallback } from
|
|
2
|
-
import { ISubscriptionUpdatePaymentMethodBillingDetails } from
|
|
3
|
-
import { subscriptionsPaymentMethodActions } from './index';
|
|
1
|
+
import { WithCallback } from '../../../interfaces';
|
|
2
|
+
import { ISubscriptionUpdatePaymentMethodBillingDetails } from '@frontegg/rest-api';
|
|
4
3
|
export declare type PaymentMethod = {
|
|
5
4
|
id: string;
|
|
6
5
|
type: 'card';
|
|
@@ -22,7 +21,10 @@ export interface PaymentMethodActions {
|
|
|
22
21
|
updatePaymentMethodBillingDetails: (payload: WithCallback<ISubscriptionUpdatePaymentMethodBillingDetails & {
|
|
23
22
|
id: string;
|
|
24
23
|
}>) => void;
|
|
25
|
-
setError:
|
|
24
|
+
setError: (error: string | null) => void;
|
|
25
|
+
submitPaymentMethod: () => void;
|
|
26
|
+
submitPaymentMethodError: (error: string) => void;
|
|
27
|
+
submitPaymentMethodSuccess: () => void;
|
|
26
28
|
}
|
|
27
29
|
export interface BillingDetailsResponse {
|
|
28
30
|
name?: string;
|
|
@@ -4,8 +4,16 @@ export declare const billingInitialState: BillingState;
|
|
|
4
4
|
export declare const billingActions: {
|
|
5
5
|
invoices: {
|
|
6
6
|
setInvoices: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("..").Invoice[]], import("..").Invoice[], string, never, never>;
|
|
7
|
+
setInvoiceDownloadState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[{
|
|
8
|
+
loading: boolean;
|
|
9
|
+
error: string | null;
|
|
10
|
+
}], {
|
|
11
|
+
loading: boolean;
|
|
12
|
+
error: string | null;
|
|
13
|
+
}, string, never, never>;
|
|
7
14
|
setLoading: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[boolean], boolean, string, never, never>;
|
|
8
15
|
setError: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[string | null], string | null, string, never, never>;
|
|
16
|
+
setState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[Partial<import("./interfaces").InvoicesState>], Partial<import("./interfaces").InvoicesState>, string, never, never>;
|
|
9
17
|
loadInvoices: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
10
18
|
downloadInvoice: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("./interfaces").DownloadInvoiceActionPayload], import("./interfaces").DownloadInvoiceActionPayload, string, never, never>;
|
|
11
19
|
};
|
|
@@ -17,15 +25,19 @@ export declare const billingActions: {
|
|
|
17
25
|
setRenewalError: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[string | null], string | null, string, never, never>;
|
|
18
26
|
setLoading: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[boolean], boolean, string, never, never>;
|
|
19
27
|
setError: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[string | null], string | null, string, never, never>;
|
|
28
|
+
setState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[Partial<import("./interfaces").BillingInformationState>], Partial<import("./interfaces").BillingInformationState>, string, never, never>;
|
|
20
29
|
loadBillingInformation: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
21
30
|
cancelSubscription: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
22
31
|
renewSubscription: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
23
32
|
};
|
|
24
33
|
paymentMethod: {
|
|
25
|
-
|
|
34
|
+
setState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[Partial<import("./interfaces").PaymentMethodState>], Partial<import("./interfaces").PaymentMethodState>, string, never, never>;
|
|
26
35
|
setLoading: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[boolean], boolean, string, never, never>;
|
|
27
36
|
setError: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[string | null], string | null, string, never, never>;
|
|
28
37
|
loadPaymentMethod: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
38
|
+
submitPaymentMethod: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
39
|
+
submitPaymentMethodError: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>;
|
|
40
|
+
submitPaymentMethodSuccess: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
29
41
|
updatePaymentMethodBillingDetails: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("../../interfaces").WithCallback<import("@frontegg/rest-api").ISubscriptionUpdatePaymentMethodBillingDetails & {
|
|
30
42
|
id: string;
|
|
31
43
|
}, boolean>], import("../../interfaces").WithCallback<import("@frontegg/rest-api").ISubscriptionUpdatePaymentMethodBillingDetails & {
|