@frontegg/redux-store 6.175.0 → 6.176.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.
@@ -1,6 +1,7 @@
1
- import { IAddRole, IAttachPermissionsToRole, IAttachPermissionToRoles, IDeleteRole, IRole, IRolePermission, IUpdateRole } from '@frontegg/rest-api';
1
+ import { IAddRole, IAttachPermissionsToRole, IDeleteRole, IRole, IUpdateRole } from '@frontegg/rest-api';
2
2
  import { WithCallback, WithSilentLoad } from '../../interfaces';
3
3
  import { RolesState } from './interfaces';
4
+ import { RolesStateIndicator } from './types';
4
5
  declare const rolesState: RolesState;
5
6
  declare const reducers: {
6
7
  setRolesState: {
@@ -105,6 +106,24 @@ declare const reducers: {
105
106
  header?: any;
106
107
  loaderComponent?: any;
107
108
  };
109
+ setRolesStateLoader: {
110
+ prepare: (payload: RolesStateIndicator) => {
111
+ payload: RolesStateIndicator;
112
+ };
113
+ reducer: (state: import("..").AuthState, { payload }: {
114
+ payload: RolesStateIndicator;
115
+ type: string;
116
+ }) => import("..").AuthState;
117
+ };
118
+ setRolesStateError: {
119
+ prepare: (payload: RolesStateIndicator) => {
120
+ payload: RolesStateIndicator;
121
+ };
122
+ reducer: (state: import("..").AuthState, { payload }: {
123
+ payload: RolesStateIndicator;
124
+ type: string;
125
+ }) => import("..").AuthState;
126
+ };
108
127
  };
109
128
  declare const actions: {
110
129
  loadRolesAndPermissions: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[({
@@ -116,7 +135,6 @@ declare const actions: {
116
135
  updateRole: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[WithCallback<IUpdateRole, IRole>], WithCallback<IUpdateRole, IRole>, string, never, never>;
117
136
  deleteRole: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[WithCallback<IDeleteRole, boolean>], WithCallback<IDeleteRole, boolean>, string, never, never>;
118
137
  attachPermissionsToRole: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[WithCallback<IAttachPermissionsToRole, IRole>], WithCallback<IAttachPermissionsToRole, IRole>, string, never, never>;
119
- attachPermissionToRoles: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[WithCallback<IAttachPermissionToRoles, IRolePermission>], WithCallback<IAttachPermissionToRoles, IRolePermission>, string, never, never>;
120
138
  };
121
139
  /**
122
140
  * To be used for actions types after dispatch, and should contains
@@ -125,12 +143,13 @@ declare const actions: {
125
143
  declare type DispatchedActions = {
126
144
  setRolesState: (state: RolesState) => void;
127
145
  resetRolesState: () => void;
146
+ setRolesStateLoader: (payload: RolesStateIndicator) => void;
147
+ setRolesStateError: (payload: RolesStateIndicator) => void;
128
148
  loadRolesAndPermissions: (payload?: WithSilentLoad<{}>) => void;
129
149
  addRole: (payload: WithCallback<IAddRole, IRole>) => void;
130
150
  updateRole: (payload: WithCallback<IUpdateRole, IRole>) => void;
131
151
  deleteRole: (payload: WithCallback<IDeleteRole>) => void;
132
152
  attachPermissionsToRole: (payload: WithCallback<IAttachPermissionsToRole, IRole>) => void;
133
- attachPermissionToRoles: (payload: WithCallback<IAttachPermissionToRoles, IRolePermission>) => void;
134
153
  };
135
154
  export declare type RolesActions = DispatchedActions;
136
155
  export { rolesState, reducers as rolesReducers, actions as rolesActions };
@@ -1,8 +1,9 @@
1
1
  import { createAction } from '@reduxjs/toolkit';
2
- import { resetStateByKey, typeReducerForKey } from '../utils';
2
+ import { errorsReducerForKey, loadersReducerForKey, resetStateByKey, typeReducerForKey } from '../utils';
3
3
  import { authStoreName } from '../../constants';
4
4
  const rolesState = {
5
- loading: false,
5
+ loaders: {},
6
+ errors: {},
6
7
  roles: [],
7
8
  permissions: [],
8
9
  permissionCategories: []
@@ -11,7 +12,9 @@ const reducers = {
11
12
  setRolesState: typeReducerForKey('rolesState'),
12
13
  resetRolesState: resetStateByKey('rolesState', {
13
14
  rolesState
14
- })
15
+ }),
16
+ setRolesStateLoader: loadersReducerForKey('rolesState'),
17
+ setRolesStateError: errorsReducerForKey('rolesState')
15
18
  };
16
19
  const actions = {
17
20
  loadRolesAndPermissions: createAction(`${authStoreName}/loadRoles`, payload => ({
@@ -28,9 +31,6 @@ const actions = {
28
31
  })),
29
32
  attachPermissionsToRole: createAction(`${authStoreName}/attachPermissionsToRole`, payload => ({
30
33
  payload
31
- })),
32
- attachPermissionToRoles: createAction(`${authStoreName}/attachPermissionToRoles`, payload => ({
33
- payload
34
34
  }))
35
35
  };
36
36
 
@@ -1,10 +1,11 @@
1
+ import { ErrorsIndicatorState, LoaderIndicatorState } from '../../interfaces';
1
2
  import { IRole, IRolePermission, IRolePermissionCategory } from '@frontegg/rest-api';
3
+ import { RolesStateKeys } from './types';
2
4
  export declare type RolesState = {
3
5
  roles?: IRole[];
4
- selectedRole?: Partial<IRole>;
6
+ selectedRole?: IRole;
5
7
  permissions?: IRolePermission[];
6
8
  permissionCategories?: IRolePermissionCategory[];
7
- loading?: boolean;
8
- error?: string | null;
9
- saving?: boolean;
9
+ loaders?: LoaderIndicatorState<RolesStateKeys>;
10
+ errors?: ErrorsIndicatorState<RolesStateKeys>;
10
11
  };
@@ -2,34 +2,46 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
2
2
  const _excluded = ["callback"],
3
3
  _excluded2 = ["callback"],
4
4
  _excluded3 = ["callback"],
5
- _excluded4 = ["callback"],
6
- _excluded5 = ["callback"];
7
- import { all, call, put, takeEvery, takeLeading } from 'redux-saga/effects';
5
+ _excluded4 = ["callback"];
6
+ import { all, call, put, takeEvery, takeLeading, select } from 'redux-saga/effects';
8
7
  import { api } from '@frontegg/rest-api';
9
8
  import { actions } from '../reducer';
10
9
  import { rolesAdminViewerDemo } from '../dummy';
11
10
  import { errorHandler } from '../../utils';
11
+ import { RolesStateKeys } from './types';
12
12
  function* loadRolesAndPermissions({
13
13
  payload
14
14
  }) {
15
15
  var _payload$silentLoadin;
16
- yield put(actions.setRolesState({
17
- loading: !((_payload$silentLoadin = payload == null ? void 0 : payload.silentLoading) != null ? _payload$silentLoadin : false),
18
- error: null
16
+ const key = RolesStateKeys.LOAD_ROLES;
17
+ yield put(actions.setRolesStateLoader({
18
+ key,
19
+ value: !((_payload$silentLoadin = payload == null ? void 0 : payload.silentLoading) != null ? _payload$silentLoadin : false)
19
20
  }));
20
21
  try {
21
22
  const result = yield all([call(api.roles.getRoles), call(api.roles.getPermissions), call(api.roles.getPermissionCategories)]);
22
23
  const [roles, permissions, permissionCategories] = result;
24
+ const {
25
+ selectedRole
26
+ } = yield select(state => state.auth.rolesState);
27
+ const updatedSelectedRole = roles == null ? void 0 : roles.find(({
28
+ id: roleId
29
+ }) => (selectedRole == null ? void 0 : selectedRole.id) === roleId);
23
30
  yield put(actions.setRolesState({
24
31
  roles,
25
32
  permissions,
26
33
  permissionCategories,
27
- loading: false
34
+ selectedRole: updatedSelectedRole
28
35
  }));
29
36
  } catch (e) {
30
- yield put(actions.setRolesState({
31
- error: errorHandler(e),
32
- loading: false
37
+ yield put(actions.setRolesStateError({
38
+ key,
39
+ value: errorHandler(e)
40
+ }));
41
+ } finally {
42
+ yield put(actions.setRolesStateLoader({
43
+ key,
44
+ value: false
33
45
  }));
34
46
  }
35
47
  }
@@ -40,8 +52,10 @@ function* addRole(_ref) {
40
52
  }
41
53
  } = _ref,
42
54
  body = _objectWithoutPropertiesLoose(_ref.payload, _excluded);
43
- yield put(actions.setRolesState({
44
- saving: true
55
+ const key = RolesStateKeys.ADD_ROLE;
56
+ yield put(actions.setRolesStateLoader({
57
+ key,
58
+ value: true
45
59
  }));
46
60
  try {
47
61
  const role = yield call(api.roles.addRole, body);
@@ -50,16 +64,20 @@ function* addRole(_ref) {
50
64
  silentLoading: true
51
65
  }));
52
66
  yield put(actions.setRolesState({
53
- roles,
54
- saving: false
67
+ roles
55
68
  }));
56
69
  callback == null ? void 0 : callback(role);
57
70
  } catch (e) {
58
- yield put(actions.setRolesState({
59
- error: errorHandler(e),
60
- saving: false
71
+ yield put(actions.setRolesStateError({
72
+ key,
73
+ value: errorHandler(e)
61
74
  }));
62
75
  callback == null ? void 0 : callback(null, e);
76
+ } finally {
77
+ yield put(actions.setRolesStateLoader({
78
+ key,
79
+ value: false
80
+ }));
63
81
  }
64
82
  }
65
83
  function* deleteRole(_ref2) {
@@ -69,24 +87,28 @@ function* deleteRole(_ref2) {
69
87
  }
70
88
  } = _ref2,
71
89
  body = _objectWithoutPropertiesLoose(_ref2.payload, _excluded2);
72
- yield put(actions.setRolesState({
73
- saving: true
90
+ const key = RolesStateKeys.DELETE_ROLE_DIALOG;
91
+ yield put(actions.setRolesStateLoader({
92
+ key,
93
+ value: true
74
94
  }));
75
95
  try {
76
96
  yield call(api.roles.deleteRole, body);
77
97
  yield put(actions.loadRolesAndPermissions({
78
98
  silentLoading: true
79
99
  }));
80
- yield put(actions.setRolesState({
81
- saving: false
82
- }));
83
100
  callback == null ? void 0 : callback(true);
84
101
  } catch (e) {
85
- yield put(actions.setRolesState({
86
- error: errorHandler(e),
87
- saving: false
102
+ yield put(actions.setRolesStateError({
103
+ key,
104
+ value: errorHandler(e)
88
105
  }));
89
106
  callback == null ? void 0 : callback(false, e);
107
+ } finally {
108
+ yield put(actions.setRolesStateLoader({
109
+ key,
110
+ value: false
111
+ }));
90
112
  }
91
113
  }
92
114
  function* updateRole(_ref3) {
@@ -96,24 +118,28 @@ function* updateRole(_ref3) {
96
118
  }
97
119
  } = _ref3,
98
120
  body = _objectWithoutPropertiesLoose(_ref3.payload, _excluded3);
99
- yield put(actions.setRolesState({
100
- saving: true
121
+ const key = RolesStateKeys.EDIT_ROLE_DIALOG;
122
+ yield put(actions.setRolesStateLoader({
123
+ key,
124
+ value: true
101
125
  }));
102
126
  try {
103
127
  const role = yield call(api.roles.updateRole, body);
104
128
  yield put(actions.loadRolesAndPermissions({
105
129
  silentLoading: true
106
130
  }));
107
- yield put(actions.setRolesState({
108
- saving: false
109
- }));
110
131
  callback == null ? void 0 : callback(role);
111
132
  } catch (e) {
112
- yield put(actions.setRolesState({
113
- error: errorHandler(e),
114
- saving: false
133
+ yield put(actions.setRolesStateError({
134
+ key,
135
+ value: errorHandler(e)
115
136
  }));
116
137
  callback == null ? void 0 : callback(null, e);
138
+ } finally {
139
+ yield put(actions.setRolesStateLoader({
140
+ key,
141
+ value: false
142
+ }));
117
143
  }
118
144
  }
119
145
  function* attachPermissionsToRole(_ref4) {
@@ -123,51 +149,28 @@ function* attachPermissionsToRole(_ref4) {
123
149
  }
124
150
  } = _ref4,
125
151
  body = _objectWithoutPropertiesLoose(_ref4.payload, _excluded4);
126
- yield put(actions.setRolesState({
127
- saving: true
152
+ const key = RolesStateKeys.MANAGE_PERMISSIONS;
153
+ yield put(actions.setRolesStateLoader({
154
+ key,
155
+ value: true
128
156
  }));
129
157
  try {
130
158
  const role = yield call(api.roles.attachPermissionsToRole, body);
131
159
  yield put(actions.loadRolesAndPermissions({
132
160
  silentLoading: true
133
161
  }));
134
- yield put(actions.setRolesState({
135
- saving: false
136
- }));
137
162
  callback == null ? void 0 : callback(role);
138
163
  } catch (e) {
139
- yield put(actions.setRolesState({
140
- error: errorHandler(e),
141
- saving: false
164
+ yield put(actions.setRolesStateError({
165
+ key,
166
+ value: errorHandler(e)
142
167
  }));
143
168
  callback == null ? void 0 : callback(null, e);
144
- }
145
- }
146
- function* attachPermissionToRoles(_ref5) {
147
- let {
148
- payload: {
149
- callback
150
- }
151
- } = _ref5,
152
- body = _objectWithoutPropertiesLoose(_ref5.payload, _excluded5);
153
- yield put(actions.setRolesState({
154
- saving: true
155
- }));
156
- try {
157
- const permission = yield call(api.roles.attachPermissionToRoles, body);
158
- yield put(actions.loadRolesAndPermissions({
159
- silentLoading: true
160
- }));
161
- yield put(actions.setRolesState({
162
- saving: false
163
- }));
164
- callback == null ? void 0 : callback(permission);
165
- } catch (e) {
166
- yield put(actions.setRolesState({
167
- error: errorHandler(e),
168
- saving: false
169
+ } finally {
170
+ yield put(actions.setRolesStateLoader({
171
+ key,
172
+ value: false
169
173
  }));
170
- callback == null ? void 0 : callback(null, e);
171
174
  }
172
175
  }
173
176
  export function* rolesSagas() {
@@ -176,7 +179,6 @@ export function* rolesSagas() {
176
179
  yield takeEvery(actions.deleteRole, deleteRole);
177
180
  yield takeEvery(actions.updateRole, updateRole);
178
181
  yield takeEvery(actions.attachPermissionsToRole, attachPermissionsToRole);
179
- yield takeEvery(actions.attachPermissionToRoles, attachPermissionToRoles);
180
182
  }
181
183
 
182
184
  /*********************************
@@ -187,19 +189,24 @@ function* loadRolesAndPermissionsMock({
187
189
  payload
188
190
  }) {
189
191
  var _payload$silentLoadin2;
190
- yield put(actions.setRolesState({
191
- loading: !((_payload$silentLoadin2 = payload == null ? void 0 : payload.silentLoading) != null ? _payload$silentLoadin2 : false),
192
- error: null
192
+ const key = RolesStateKeys.LOAD_ROLES;
193
+ yield put(actions.setRolesStateLoader({
194
+ key,
195
+ value: !((_payload$silentLoadin2 = payload == null ? void 0 : payload.silentLoading) != null ? _payload$silentLoadin2 : false)
193
196
  }));
194
197
  try {
195
198
  yield put(actions.setRolesState({
196
- roles: rolesAdminViewerDemo,
197
- loading: false
199
+ roles: rolesAdminViewerDemo
198
200
  }));
199
201
  } catch (e) {
200
- yield put(actions.setRolesState({
201
- error: errorHandler(e),
202
- loading: false
202
+ yield put(actions.setRolesStateError({
203
+ key,
204
+ value: errorHandler(e)
205
+ }));
206
+ } finally {
207
+ yield put(actions.setRolesStateLoader({
208
+ key,
209
+ value: false
203
210
  }));
204
211
  }
205
212
  }
@@ -0,0 +1,11 @@
1
+ export declare enum RolesStateKeys {
2
+ EDIT_ROLE_DIALOG = "editRoleDialog",
3
+ DELETE_ROLE_DIALOG = "deleteRoleDialog",
4
+ LOAD_ROLES = "loadRoles",
5
+ ADD_ROLE = "addRole",
6
+ MANAGE_PERMISSIONS = "managePermissions"
7
+ }
8
+ export declare type RolesStateIndicator = {
9
+ key: RolesStateKeys;
10
+ value: boolean | string;
11
+ };
@@ -0,0 +1,8 @@
1
+ export let RolesStateKeys;
2
+ (function (RolesStateKeys) {
3
+ RolesStateKeys["EDIT_ROLE_DIALOG"] = "editRoleDialog";
4
+ RolesStateKeys["DELETE_ROLE_DIALOG"] = "deleteRoleDialog";
5
+ RolesStateKeys["LOAD_ROLES"] = "loadRoles";
6
+ RolesStateKeys["ADD_ROLE"] = "addRole";
7
+ RolesStateKeys["MANAGE_PERMISSIONS"] = "managePermissions";
8
+ })(RolesStateKeys || (RolesStateKeys = {}));
package/auth/index.d.ts CHANGED
@@ -183,7 +183,6 @@ declare const _default: {
183
183
  updateRole: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("..").WithCallback<import("@frontegg/rest-api").IUpdateRole, import("@frontegg/rest-api").IRole>], import("..").WithCallback<import("@frontegg/rest-api").IUpdateRole, import("@frontegg/rest-api").IRole>, string, never, never>;
184
184
  deleteRole: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("..").WithCallback<import("@frontegg/rest-api").IDeleteRole, boolean>], import("..").WithCallback<import("@frontegg/rest-api").IDeleteRole, boolean>, string, never, never>;
185
185
  attachPermissionsToRole: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("..").WithCallback<import("@frontegg/rest-api").IAttachPermissionsToRole, import("@frontegg/rest-api").IRole>], import("..").WithCallback<import("@frontegg/rest-api").IAttachPermissionsToRole, import("@frontegg/rest-api").IRole>, string, never, never>;
186
- attachPermissionToRoles: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("..").WithCallback<import("@frontegg/rest-api").IAttachPermissionToRoles, import("@frontegg/rest-api").IRolePermission>], import("..").WithCallback<import("@frontegg/rest-api").IAttachPermissionToRoles, import("@frontegg/rest-api").IRolePermission>, string, never, never>;
187
186
  switchTenant: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("..").WithCallback<import("@frontegg/rest-api").ISwitchTenant, boolean>], import("..").WithCallback<import("@frontegg/rest-api").ISwitchTenant, boolean>, string, never, never>;
188
187
  loadTenants: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[({
189
188
  callback?: import("..").CallbackMethod<import("@frontegg/rest-api").ITenantsResponse[]> | undefined;
@@ -647,6 +646,8 @@ declare const _default: {
647
646
  resetSessionsState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
648
647
  setRolesState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[Partial<import("./RolesState/interfaces").RolesState>], Partial<import("./RolesState/interfaces").RolesState>, string, never, never>;
649
648
  resetRolesState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
649
+ setRolesStateLoader: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("./RolesState/types").RolesStateIndicator], import("./RolesState/types").RolesStateIndicator, string, never, never>;
650
+ setRolesStateError: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("./RolesState/types").RolesStateIndicator], import("./RolesState/types").RolesStateIndicator, string, never, never>;
650
651
  setTenantsState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[Partial<import("./TenantsState/interfaces").TenantsState>], Partial<import("./TenantsState/interfaces").TenantsState>, string, never, never>;
651
652
  resetTenantsState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
652
653
  setAccountSettingsState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[Partial<import("./AccountSettingsState/interfaces").AccountSettingsState>], Partial<import("./AccountSettingsState/interfaces").AccountSettingsState>, string, never, never>;
package/auth/reducer.d.ts CHANGED
@@ -141,7 +141,6 @@ declare const actions: {
141
141
  updateRole: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("..").WithCallback<import("@frontegg/rest-api").IUpdateRole, import("@frontegg/rest-api").IRole>], import("..").WithCallback<import("@frontegg/rest-api").IUpdateRole, import("@frontegg/rest-api").IRole>, string, never, never>;
142
142
  deleteRole: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("..").WithCallback<import("@frontegg/rest-api").IDeleteRole, boolean>], import("..").WithCallback<import("@frontegg/rest-api").IDeleteRole, boolean>, string, never, never>;
143
143
  attachPermissionsToRole: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("..").WithCallback<import("@frontegg/rest-api").IAttachPermissionsToRole, import("@frontegg/rest-api").IRole>], import("..").WithCallback<import("@frontegg/rest-api").IAttachPermissionsToRole, import("@frontegg/rest-api").IRole>, string, never, never>;
144
- attachPermissionToRoles: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("..").WithCallback<import("@frontegg/rest-api").IAttachPermissionToRoles, import("@frontegg/rest-api").IRolePermission>], import("..").WithCallback<import("@frontegg/rest-api").IAttachPermissionToRoles, import("@frontegg/rest-api").IRolePermission>, string, never, never>;
145
144
  switchTenant: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("..").WithCallback<import("@frontegg/rest-api").ISwitchTenant, boolean>], import("..").WithCallback<import("@frontegg/rest-api").ISwitchTenant, boolean>, string, never, never>;
146
145
  loadTenants: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[({
147
146
  callback?: import("..").CallbackMethod<import("@frontegg/rest-api").ITenantsResponse[]> | undefined;
@@ -605,6 +604,8 @@ declare const actions: {
605
604
  resetSessionsState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
606
605
  setRolesState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[Partial<import(".").RolesState>], Partial<import(".").RolesState>, string, never, never>;
607
606
  resetRolesState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
607
+ setRolesStateLoader: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("./RolesState/types").RolesStateIndicator], import("./RolesState/types").RolesStateIndicator, string, never, never>;
608
+ setRolesStateError: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[import("./RolesState/types").RolesStateIndicator], import("./RolesState/types").RolesStateIndicator, string, never, never>;
608
609
  setTenantsState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[Partial<import(".").TenantsState>], Partial<import(".").TenantsState>, string, never, never>;
609
610
  resetTenantsState: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
610
611
  setAccountSettingsState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[Partial<import(".").AccountSettingsState>], Partial<import(".").AccountSettingsState>, string, never, never>;
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license Frontegg v6.175.0
1
+ /** @license Frontegg v6.176.0
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -8,7 +8,8 @@ var _toolkit = require("@reduxjs/toolkit");
8
8
  var _utils = require("../utils");
9
9
  var _constants = require("../../constants");
10
10
  const rolesState = {
11
- loading: false,
11
+ loaders: {},
12
+ errors: {},
12
13
  roles: [],
13
14
  permissions: [],
14
15
  permissionCategories: []
@@ -18,7 +19,9 @@ const reducers = {
18
19
  setRolesState: (0, _utils.typeReducerForKey)('rolesState'),
19
20
  resetRolesState: (0, _utils.resetStateByKey)('rolesState', {
20
21
  rolesState
21
- })
22
+ }),
23
+ setRolesStateLoader: (0, _utils.loadersReducerForKey)('rolesState'),
24
+ setRolesStateError: (0, _utils.errorsReducerForKey)('rolesState')
22
25
  };
23
26
  exports.rolesReducers = reducers;
24
27
  const actions = {
@@ -36,9 +39,6 @@ const actions = {
36
39
  })),
37
40
  attachPermissionsToRole: (0, _toolkit.createAction)(`${_constants.authStoreName}/attachPermissionsToRole`, payload => ({
38
41
  payload
39
- })),
40
- attachPermissionToRoles: (0, _toolkit.createAction)(`${_constants.authStoreName}/attachPermissionToRoles`, payload => ({
41
- payload
42
42
  }))
43
43
  };
44
44
 
@@ -12,32 +12,44 @@ var _restApi = require("@frontegg/rest-api");
12
12
  var _reducer = require("../reducer");
13
13
  var _dummy = require("../dummy");
14
14
  var _utils = require("../../utils");
15
+ var _types = require("./types");
15
16
  const _excluded = ["callback"],
16
17
  _excluded2 = ["callback"],
17
18
  _excluded3 = ["callback"],
18
- _excluded4 = ["callback"],
19
- _excluded5 = ["callback"];
19
+ _excluded4 = ["callback"];
20
20
  function* loadRolesAndPermissions({
21
21
  payload
22
22
  }) {
23
23
  var _payload$silentLoadin;
24
- yield (0, _effects.put)(_reducer.actions.setRolesState({
25
- loading: !((_payload$silentLoadin = payload == null ? void 0 : payload.silentLoading) != null ? _payload$silentLoadin : false),
26
- error: null
24
+ const key = _types.RolesStateKeys.LOAD_ROLES;
25
+ yield (0, _effects.put)(_reducer.actions.setRolesStateLoader({
26
+ key,
27
+ value: !((_payload$silentLoadin = payload == null ? void 0 : payload.silentLoading) != null ? _payload$silentLoadin : false)
27
28
  }));
28
29
  try {
29
30
  const result = yield (0, _effects.all)([(0, _effects.call)(_restApi.api.roles.getRoles), (0, _effects.call)(_restApi.api.roles.getPermissions), (0, _effects.call)(_restApi.api.roles.getPermissionCategories)]);
30
31
  const [roles, permissions, permissionCategories] = result;
32
+ const {
33
+ selectedRole
34
+ } = yield (0, _effects.select)(state => state.auth.rolesState);
35
+ const updatedSelectedRole = roles == null ? void 0 : roles.find(({
36
+ id: roleId
37
+ }) => (selectedRole == null ? void 0 : selectedRole.id) === roleId);
31
38
  yield (0, _effects.put)(_reducer.actions.setRolesState({
32
39
  roles,
33
40
  permissions,
34
41
  permissionCategories,
35
- loading: false
42
+ selectedRole: updatedSelectedRole
36
43
  }));
37
44
  } catch (e) {
38
- yield (0, _effects.put)(_reducer.actions.setRolesState({
39
- error: (0, _utils.errorHandler)(e),
40
- loading: false
45
+ yield (0, _effects.put)(_reducer.actions.setRolesStateError({
46
+ key,
47
+ value: (0, _utils.errorHandler)(e)
48
+ }));
49
+ } finally {
50
+ yield (0, _effects.put)(_reducer.actions.setRolesStateLoader({
51
+ key,
52
+ value: false
41
53
  }));
42
54
  }
43
55
  }
@@ -48,8 +60,10 @@ function* addRole(_ref) {
48
60
  }
49
61
  } = _ref,
50
62
  body = (0, _objectWithoutPropertiesLoose2.default)(_ref.payload, _excluded);
51
- yield (0, _effects.put)(_reducer.actions.setRolesState({
52
- saving: true
63
+ const key = _types.RolesStateKeys.ADD_ROLE;
64
+ yield (0, _effects.put)(_reducer.actions.setRolesStateLoader({
65
+ key,
66
+ value: true
53
67
  }));
54
68
  try {
55
69
  const role = yield (0, _effects.call)(_restApi.api.roles.addRole, body);
@@ -58,16 +72,20 @@ function* addRole(_ref) {
58
72
  silentLoading: true
59
73
  }));
60
74
  yield (0, _effects.put)(_reducer.actions.setRolesState({
61
- roles,
62
- saving: false
75
+ roles
63
76
  }));
64
77
  callback == null ? void 0 : callback(role);
65
78
  } catch (e) {
66
- yield (0, _effects.put)(_reducer.actions.setRolesState({
67
- error: (0, _utils.errorHandler)(e),
68
- saving: false
79
+ yield (0, _effects.put)(_reducer.actions.setRolesStateError({
80
+ key,
81
+ value: (0, _utils.errorHandler)(e)
69
82
  }));
70
83
  callback == null ? void 0 : callback(null, e);
84
+ } finally {
85
+ yield (0, _effects.put)(_reducer.actions.setRolesStateLoader({
86
+ key,
87
+ value: false
88
+ }));
71
89
  }
72
90
  }
73
91
  function* deleteRole(_ref2) {
@@ -77,24 +95,28 @@ function* deleteRole(_ref2) {
77
95
  }
78
96
  } = _ref2,
79
97
  body = (0, _objectWithoutPropertiesLoose2.default)(_ref2.payload, _excluded2);
80
- yield (0, _effects.put)(_reducer.actions.setRolesState({
81
- saving: true
98
+ const key = _types.RolesStateKeys.DELETE_ROLE_DIALOG;
99
+ yield (0, _effects.put)(_reducer.actions.setRolesStateLoader({
100
+ key,
101
+ value: true
82
102
  }));
83
103
  try {
84
104
  yield (0, _effects.call)(_restApi.api.roles.deleteRole, body);
85
105
  yield (0, _effects.put)(_reducer.actions.loadRolesAndPermissions({
86
106
  silentLoading: true
87
107
  }));
88
- yield (0, _effects.put)(_reducer.actions.setRolesState({
89
- saving: false
90
- }));
91
108
  callback == null ? void 0 : callback(true);
92
109
  } catch (e) {
93
- yield (0, _effects.put)(_reducer.actions.setRolesState({
94
- error: (0, _utils.errorHandler)(e),
95
- saving: false
110
+ yield (0, _effects.put)(_reducer.actions.setRolesStateError({
111
+ key,
112
+ value: (0, _utils.errorHandler)(e)
96
113
  }));
97
114
  callback == null ? void 0 : callback(false, e);
115
+ } finally {
116
+ yield (0, _effects.put)(_reducer.actions.setRolesStateLoader({
117
+ key,
118
+ value: false
119
+ }));
98
120
  }
99
121
  }
100
122
  function* updateRole(_ref3) {
@@ -104,24 +126,28 @@ function* updateRole(_ref3) {
104
126
  }
105
127
  } = _ref3,
106
128
  body = (0, _objectWithoutPropertiesLoose2.default)(_ref3.payload, _excluded3);
107
- yield (0, _effects.put)(_reducer.actions.setRolesState({
108
- saving: true
129
+ const key = _types.RolesStateKeys.EDIT_ROLE_DIALOG;
130
+ yield (0, _effects.put)(_reducer.actions.setRolesStateLoader({
131
+ key,
132
+ value: true
109
133
  }));
110
134
  try {
111
135
  const role = yield (0, _effects.call)(_restApi.api.roles.updateRole, body);
112
136
  yield (0, _effects.put)(_reducer.actions.loadRolesAndPermissions({
113
137
  silentLoading: true
114
138
  }));
115
- yield (0, _effects.put)(_reducer.actions.setRolesState({
116
- saving: false
117
- }));
118
139
  callback == null ? void 0 : callback(role);
119
140
  } catch (e) {
120
- yield (0, _effects.put)(_reducer.actions.setRolesState({
121
- error: (0, _utils.errorHandler)(e),
122
- saving: false
141
+ yield (0, _effects.put)(_reducer.actions.setRolesStateError({
142
+ key,
143
+ value: (0, _utils.errorHandler)(e)
123
144
  }));
124
145
  callback == null ? void 0 : callback(null, e);
146
+ } finally {
147
+ yield (0, _effects.put)(_reducer.actions.setRolesStateLoader({
148
+ key,
149
+ value: false
150
+ }));
125
151
  }
126
152
  }
127
153
  function* attachPermissionsToRole(_ref4) {
@@ -131,51 +157,28 @@ function* attachPermissionsToRole(_ref4) {
131
157
  }
132
158
  } = _ref4,
133
159
  body = (0, _objectWithoutPropertiesLoose2.default)(_ref4.payload, _excluded4);
134
- yield (0, _effects.put)(_reducer.actions.setRolesState({
135
- saving: true
160
+ const key = _types.RolesStateKeys.MANAGE_PERMISSIONS;
161
+ yield (0, _effects.put)(_reducer.actions.setRolesStateLoader({
162
+ key,
163
+ value: true
136
164
  }));
137
165
  try {
138
166
  const role = yield (0, _effects.call)(_restApi.api.roles.attachPermissionsToRole, body);
139
167
  yield (0, _effects.put)(_reducer.actions.loadRolesAndPermissions({
140
168
  silentLoading: true
141
169
  }));
142
- yield (0, _effects.put)(_reducer.actions.setRolesState({
143
- saving: false
144
- }));
145
170
  callback == null ? void 0 : callback(role);
146
171
  } catch (e) {
147
- yield (0, _effects.put)(_reducer.actions.setRolesState({
148
- error: (0, _utils.errorHandler)(e),
149
- saving: false
172
+ yield (0, _effects.put)(_reducer.actions.setRolesStateError({
173
+ key,
174
+ value: (0, _utils.errorHandler)(e)
150
175
  }));
151
176
  callback == null ? void 0 : callback(null, e);
152
- }
153
- }
154
- function* attachPermissionToRoles(_ref5) {
155
- let {
156
- payload: {
157
- callback
158
- }
159
- } = _ref5,
160
- body = (0, _objectWithoutPropertiesLoose2.default)(_ref5.payload, _excluded5);
161
- yield (0, _effects.put)(_reducer.actions.setRolesState({
162
- saving: true
163
- }));
164
- try {
165
- const permission = yield (0, _effects.call)(_restApi.api.roles.attachPermissionToRoles, body);
166
- yield (0, _effects.put)(_reducer.actions.loadRolesAndPermissions({
167
- silentLoading: true
168
- }));
169
- yield (0, _effects.put)(_reducer.actions.setRolesState({
170
- saving: false
171
- }));
172
- callback == null ? void 0 : callback(permission);
173
- } catch (e) {
174
- yield (0, _effects.put)(_reducer.actions.setRolesState({
175
- error: (0, _utils.errorHandler)(e),
176
- saving: false
177
+ } finally {
178
+ yield (0, _effects.put)(_reducer.actions.setRolesStateLoader({
179
+ key,
180
+ value: false
177
181
  }));
178
- callback == null ? void 0 : callback(null, e);
179
182
  }
180
183
  }
181
184
  function* rolesSagas() {
@@ -184,7 +187,6 @@ function* rolesSagas() {
184
187
  yield (0, _effects.takeEvery)(_reducer.actions.deleteRole, deleteRole);
185
188
  yield (0, _effects.takeEvery)(_reducer.actions.updateRole, updateRole);
186
189
  yield (0, _effects.takeEvery)(_reducer.actions.attachPermissionsToRole, attachPermissionsToRole);
187
- yield (0, _effects.takeEvery)(_reducer.actions.attachPermissionToRoles, attachPermissionToRoles);
188
190
  }
189
191
 
190
192
  /*********************************
@@ -195,19 +197,24 @@ function* loadRolesAndPermissionsMock({
195
197
  payload
196
198
  }) {
197
199
  var _payload$silentLoadin2;
198
- yield (0, _effects.put)(_reducer.actions.setRolesState({
199
- loading: !((_payload$silentLoadin2 = payload == null ? void 0 : payload.silentLoading) != null ? _payload$silentLoadin2 : false),
200
- error: null
200
+ const key = _types.RolesStateKeys.LOAD_ROLES;
201
+ yield (0, _effects.put)(_reducer.actions.setRolesStateLoader({
202
+ key,
203
+ value: !((_payload$silentLoadin2 = payload == null ? void 0 : payload.silentLoading) != null ? _payload$silentLoadin2 : false)
201
204
  }));
202
205
  try {
203
206
  yield (0, _effects.put)(_reducer.actions.setRolesState({
204
- roles: _dummy.rolesAdminViewerDemo,
205
- loading: false
207
+ roles: _dummy.rolesAdminViewerDemo
206
208
  }));
207
209
  } catch (e) {
208
- yield (0, _effects.put)(_reducer.actions.setRolesState({
209
- error: (0, _utils.errorHandler)(e),
210
- loading: false
210
+ yield (0, _effects.put)(_reducer.actions.setRolesStateError({
211
+ key,
212
+ value: (0, _utils.errorHandler)(e)
213
+ }));
214
+ } finally {
215
+ yield (0, _effects.put)(_reducer.actions.setRolesStateLoader({
216
+ key,
217
+ value: false
211
218
  }));
212
219
  }
213
220
  }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RolesStateKeys = void 0;
7
+ let RolesStateKeys;
8
+ exports.RolesStateKeys = RolesStateKeys;
9
+ (function (RolesStateKeys) {
10
+ RolesStateKeys["EDIT_ROLE_DIALOG"] = "editRoleDialog";
11
+ RolesStateKeys["DELETE_ROLE_DIALOG"] = "deleteRoleDialog";
12
+ RolesStateKeys["LOAD_ROLES"] = "loadRoles";
13
+ RolesStateKeys["ADD_ROLE"] = "addRole";
14
+ RolesStateKeys["MANAGE_PERMISSIONS"] = "managePermissions";
15
+ })(RolesStateKeys || (exports.RolesStateKeys = RolesStateKeys = {}));
package/node/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license Frontegg v6.175.0
1
+ /** @license Frontegg v6.176.0
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontegg/redux-store",
3
- "version": "6.175.0",
3
+ "version": "6.176.0",
4
4
  "main": "./node/index.js",
5
5
  "license": "MIT",
6
6
  "author": "Frontegg LTD",