@frontegg/redux-store 7.93.0 → 7.94.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.
|
@@ -37,32 +37,45 @@ export default ((store, api, sharedActions) => {
|
|
|
37
37
|
const {
|
|
38
38
|
shouldLoadRoles = true,
|
|
39
39
|
shouldLoadApps,
|
|
40
|
+
shouldLoadEmails = false,
|
|
40
41
|
retryConfig
|
|
41
42
|
} = options;
|
|
42
43
|
|
|
43
|
-
// Get user IDs for fetching roles and groups
|
|
44
|
+
// Get user IDs for fetching roles and groups and emails
|
|
44
45
|
const userIds = users.map(user => user.id);
|
|
45
46
|
|
|
46
|
-
// Fetch roles, permissions, user roles, user groups, and all groups in parallel
|
|
47
|
+
// Fetch roles, permissions, user roles, user groups, user emails, and all groups in parallel
|
|
47
48
|
const [{
|
|
48
49
|
items: userUsernames
|
|
50
|
+
}, {
|
|
51
|
+
items: userPhoneNumbers
|
|
49
52
|
}, {
|
|
50
53
|
items: roles
|
|
51
|
-
}, permissions, userRoles, userGroups,
|
|
54
|
+
}, permissions, userRoles, userGroups, {
|
|
55
|
+
items: userEmails
|
|
56
|
+
}, groups] = await Promise.all([userIds.length > 0 ? api.users.getUsersUsernames({
|
|
52
57
|
userIds
|
|
53
58
|
}) : {
|
|
54
59
|
items: []
|
|
60
|
+
}, userIds.length > 0 ? api.userPhoneNumbers.getUsersPhoneNumberV2({
|
|
61
|
+
userIds: userIds.join(',')
|
|
62
|
+
}) : {
|
|
63
|
+
items: []
|
|
55
64
|
}, api.teams.loadAvailableRoles(), api.teams.loadAvailablePermissions(), userIds.length > 0 ? api.users.getUsersRoles({
|
|
56
65
|
ids: userIds
|
|
57
66
|
}) : [], userIds.length > 0 ? api.users.getUsersGroups({
|
|
58
67
|
ids: userIds
|
|
59
|
-
}) : [],
|
|
68
|
+
}) : [], shouldLoadEmails && userIds.length > 0 ? api.usersEmails.getUsersEmailsV1({
|
|
69
|
+
userIds: userIds.join(',')
|
|
70
|
+
}) : {
|
|
71
|
+
items: []
|
|
72
|
+
}, __getGroupsForUsers(retryConfig), shouldLoadRoles ? loadRoles({
|
|
60
73
|
retryConfig
|
|
61
74
|
}) : undefined]);
|
|
62
75
|
|
|
63
76
|
// Map user roles and groups to users
|
|
64
77
|
const usersWithRolesAndGroups = users.map(user => {
|
|
65
|
-
var _userUsernames$find;
|
|
78
|
+
var _userUsernames$find, _userPhoneNumbers$fin, _userEmailsForUser$fi;
|
|
66
79
|
// Find user's role IDs
|
|
67
80
|
const userRoleData = userRoles.find(ur => ur.userId === user.id);
|
|
68
81
|
const userRoleIds = (userRoleData == null ? void 0 : userRoleData.roleIds) || [];
|
|
@@ -75,12 +88,28 @@ export default ((store, api, sharedActions) => {
|
|
|
75
88
|
|
|
76
89
|
// Find user's username
|
|
77
90
|
const userUsername = userUsernames == null ? void 0 : (_userUsernames$find = userUsernames.find(username => username.userId === user.id)) == null ? void 0 : _userUsernames$find.username;
|
|
91
|
+
// Find user's phone number
|
|
92
|
+
const userPhoneNumber = userPhoneNumbers == null ? void 0 : (_userPhoneNumbers$fin = userPhoneNumbers.find(phone => phone.userId === user.id)) == null ? void 0 : _userPhoneNumbers$fin.phoneNumber;
|
|
93
|
+
// Find user's emails - get all emails for the user and identify primary
|
|
94
|
+
const userEmailsForUser = (userEmails == null ? void 0 : userEmails.filter(email => email.userId === user.id)) || [];
|
|
95
|
+
const primaryEmail = (_userEmailsForUser$fi = userEmailsForUser.find(email => email.isPrimary)) == null ? void 0 : _userEmailsForUser$fi.email;
|
|
96
|
+
const allEmails = userEmailsForUser.map(email => ({
|
|
97
|
+
email: email.email,
|
|
98
|
+
isPrimary: email.isPrimary
|
|
99
|
+
}));
|
|
78
100
|
if (!user.name) {
|
|
79
101
|
user.name = userUsername;
|
|
80
102
|
}
|
|
81
103
|
|
|
82
104
|
//@ts-ignore
|
|
83
105
|
return _extends({}, user, {
|
|
106
|
+
username: userUsername,
|
|
107
|
+
phoneNumber: userPhoneNumber
|
|
108
|
+
}, shouldLoadEmails && primaryEmail ? {
|
|
109
|
+
email: primaryEmail
|
|
110
|
+
} : {}, shouldLoadEmails && allEmails.length > 0 ? {
|
|
111
|
+
emails: allEmails
|
|
112
|
+
} : {}, {
|
|
84
113
|
roles: userRolesFull,
|
|
85
114
|
roleIds: userRoleIds,
|
|
86
115
|
groups: userGroupsFull,
|
|
@@ -152,6 +181,7 @@ export default ((store, api, sharedActions) => {
|
|
|
152
181
|
const {
|
|
153
182
|
silentLoading,
|
|
154
183
|
callback,
|
|
184
|
+
shouldLoadEmails = false,
|
|
155
185
|
retryConfig
|
|
156
186
|
} = payload;
|
|
157
187
|
const teamState = store.auth.teamState;
|
|
@@ -201,6 +231,7 @@ export default ((store, api, sharedActions) => {
|
|
|
201
231
|
} = await __enrichUsersWithRolesGroupsAndPermissions(users, {
|
|
202
232
|
shouldLoadRoles,
|
|
203
233
|
shouldLoadApps,
|
|
234
|
+
shouldLoadEmails,
|
|
204
235
|
retryConfig
|
|
205
236
|
});
|
|
206
237
|
__setUsersStateAndCallback(enrichedUsers, roles, permissions, response._metadata.totalPages, response._metadata.totalItems, callback);
|
|
@@ -400,6 +431,7 @@ export default ((store, api, sharedActions) => {
|
|
|
400
431
|
callback,
|
|
401
432
|
shouldLoadRoles = true,
|
|
402
433
|
shouldLoadApps,
|
|
434
|
+
shouldLoadEmails = false,
|
|
403
435
|
retryConfig
|
|
404
436
|
} = payload;
|
|
405
437
|
const teamState = store.auth.teamState;
|
|
@@ -441,6 +473,7 @@ export default ((store, api, sharedActions) => {
|
|
|
441
473
|
} = await __enrichUsersWithRolesGroupsAndPermissions(users, {
|
|
442
474
|
shouldLoadRoles,
|
|
443
475
|
shouldLoadApps,
|
|
476
|
+
shouldLoadEmails,
|
|
444
477
|
retryConfig
|
|
445
478
|
});
|
|
446
479
|
__setUsersStateAndCallback(enrichedUsers, roles, permissions, totalPages, totalItems, callback);
|
|
@@ -832,7 +865,8 @@ export default ((store, api, sharedActions) => {
|
|
|
832
865
|
const {
|
|
833
866
|
_phoneNumber,
|
|
834
867
|
shouldLoadRoles = true,
|
|
835
|
-
shouldLoadApps
|
|
868
|
+
shouldLoadApps,
|
|
869
|
+
shouldLoadEmails = false
|
|
836
870
|
} = payload;
|
|
837
871
|
return __loadUsersBySearchCriteria(payload, (pageOffset, pageSize) => api.userPhoneNumbers.getUsersPhoneNumberV2({
|
|
838
872
|
_phoneNumber,
|
|
@@ -844,7 +878,8 @@ export default ((store, api, sharedActions) => {
|
|
|
844
878
|
const {
|
|
845
879
|
_usernamePrefix,
|
|
846
880
|
shouldLoadRoles = true,
|
|
847
|
-
shouldLoadApps
|
|
881
|
+
shouldLoadApps,
|
|
882
|
+
shouldLoadEmails = false
|
|
848
883
|
} = payload;
|
|
849
884
|
return __loadUsersBySearchCriteria(payload, (pageOffset, pageSize) => api.usernames.getUsernamesV1({
|
|
850
885
|
_usernamePrefix,
|
|
@@ -856,7 +891,8 @@ export default ((store, api, sharedActions) => {
|
|
|
856
891
|
const {
|
|
857
892
|
_email,
|
|
858
893
|
shouldLoadRoles = true,
|
|
859
|
-
shouldLoadApps
|
|
894
|
+
shouldLoadApps,
|
|
895
|
+
shouldLoadEmails = false
|
|
860
896
|
} = payload;
|
|
861
897
|
return __loadUsersBySearchCriteria(payload, (pageOffset, pageSize) => api.usersEmails.getUsersEmailsV1({
|
|
862
898
|
_email,
|
|
@@ -49,6 +49,10 @@ export type LoadRolesAndPermissionsPayload = WithCallback<{}, {
|
|
|
49
49
|
export interface ITeamStateUser extends ITeamUser {
|
|
50
50
|
groups?: GroupsState['groups'];
|
|
51
51
|
applications?: ApplicationsState['userApplications'];
|
|
52
|
+
emails?: Array<{
|
|
53
|
+
email: string;
|
|
54
|
+
isPrimary: boolean;
|
|
55
|
+
}>;
|
|
52
56
|
}
|
|
53
57
|
export interface TeamState {
|
|
54
58
|
loaders: LoaderIndicatorState<TeamStateKeys>;
|
|
@@ -123,6 +127,7 @@ export interface IGetUsersV3Payload {
|
|
|
123
127
|
shouldShowSubTenantUsersIfReseller?: ISearchUserQueryParamsV3['_includeSubTenants'];
|
|
124
128
|
shouldLoadApps?: boolean;
|
|
125
129
|
shouldLoadRoles?: boolean;
|
|
130
|
+
shouldLoadEmails?: boolean;
|
|
126
131
|
identifier?: ISearchUserQueryParamsV3['_identifier'];
|
|
127
132
|
identifierType?: ISearchUserQueryParamsV3['_identifierType'];
|
|
128
133
|
}
|
|
@@ -131,6 +136,7 @@ export interface IBaseUserSearchPayload {
|
|
|
131
136
|
_offset?: number;
|
|
132
137
|
shouldLoadApps?: boolean;
|
|
133
138
|
shouldLoadRoles?: boolean;
|
|
139
|
+
shouldLoadEmails?: boolean;
|
|
134
140
|
shouldShowSubTenantUsersIfReseller?: boolean;
|
|
135
141
|
}
|
|
136
142
|
export interface ILoadUsersByGetPhoneNumberV2Payload extends IBaseUserSearchPayload {
|
package/index.js
CHANGED
|
@@ -44,32 +44,45 @@ var _default = (store, api, sharedActions) => {
|
|
|
44
44
|
const {
|
|
45
45
|
shouldLoadRoles = true,
|
|
46
46
|
shouldLoadApps,
|
|
47
|
+
shouldLoadEmails = false,
|
|
47
48
|
retryConfig
|
|
48
49
|
} = options;
|
|
49
50
|
|
|
50
|
-
// Get user IDs for fetching roles and groups
|
|
51
|
+
// Get user IDs for fetching roles and groups and emails
|
|
51
52
|
const userIds = users.map(user => user.id);
|
|
52
53
|
|
|
53
|
-
// Fetch roles, permissions, user roles, user groups, and all groups in parallel
|
|
54
|
+
// Fetch roles, permissions, user roles, user groups, user emails, and all groups in parallel
|
|
54
55
|
const [{
|
|
55
56
|
items: userUsernames
|
|
57
|
+
}, {
|
|
58
|
+
items: userPhoneNumbers
|
|
56
59
|
}, {
|
|
57
60
|
items: roles
|
|
58
|
-
}, permissions, userRoles, userGroups,
|
|
61
|
+
}, permissions, userRoles, userGroups, {
|
|
62
|
+
items: userEmails
|
|
63
|
+
}, groups] = await Promise.all([userIds.length > 0 ? api.users.getUsersUsernames({
|
|
59
64
|
userIds
|
|
60
65
|
}) : {
|
|
61
66
|
items: []
|
|
67
|
+
}, userIds.length > 0 ? api.userPhoneNumbers.getUsersPhoneNumberV2({
|
|
68
|
+
userIds: userIds.join(',')
|
|
69
|
+
}) : {
|
|
70
|
+
items: []
|
|
62
71
|
}, api.teams.loadAvailableRoles(), api.teams.loadAvailablePermissions(), userIds.length > 0 ? api.users.getUsersRoles({
|
|
63
72
|
ids: userIds
|
|
64
73
|
}) : [], userIds.length > 0 ? api.users.getUsersGroups({
|
|
65
74
|
ids: userIds
|
|
66
|
-
}) : [],
|
|
75
|
+
}) : [], shouldLoadEmails && userIds.length > 0 ? api.usersEmails.getUsersEmailsV1({
|
|
76
|
+
userIds: userIds.join(',')
|
|
77
|
+
}) : {
|
|
78
|
+
items: []
|
|
79
|
+
}, __getGroupsForUsers(retryConfig), shouldLoadRoles ? loadRoles({
|
|
67
80
|
retryConfig
|
|
68
81
|
}) : undefined]);
|
|
69
82
|
|
|
70
83
|
// Map user roles and groups to users
|
|
71
84
|
const usersWithRolesAndGroups = users.map(user => {
|
|
72
|
-
var _userUsernames$find;
|
|
85
|
+
var _userUsernames$find, _userPhoneNumbers$fin, _userEmailsForUser$fi;
|
|
73
86
|
// Find user's role IDs
|
|
74
87
|
const userRoleData = userRoles.find(ur => ur.userId === user.id);
|
|
75
88
|
const userRoleIds = (userRoleData == null ? void 0 : userRoleData.roleIds) || [];
|
|
@@ -82,12 +95,28 @@ var _default = (store, api, sharedActions) => {
|
|
|
82
95
|
|
|
83
96
|
// Find user's username
|
|
84
97
|
const userUsername = userUsernames == null ? void 0 : (_userUsernames$find = userUsernames.find(username => username.userId === user.id)) == null ? void 0 : _userUsernames$find.username;
|
|
98
|
+
// Find user's phone number
|
|
99
|
+
const userPhoneNumber = userPhoneNumbers == null ? void 0 : (_userPhoneNumbers$fin = userPhoneNumbers.find(phone => phone.userId === user.id)) == null ? void 0 : _userPhoneNumbers$fin.phoneNumber;
|
|
100
|
+
// Find user's emails - get all emails for the user and identify primary
|
|
101
|
+
const userEmailsForUser = (userEmails == null ? void 0 : userEmails.filter(email => email.userId === user.id)) || [];
|
|
102
|
+
const primaryEmail = (_userEmailsForUser$fi = userEmailsForUser.find(email => email.isPrimary)) == null ? void 0 : _userEmailsForUser$fi.email;
|
|
103
|
+
const allEmails = userEmailsForUser.map(email => ({
|
|
104
|
+
email: email.email,
|
|
105
|
+
isPrimary: email.isPrimary
|
|
106
|
+
}));
|
|
85
107
|
if (!user.name) {
|
|
86
108
|
user.name = userUsername;
|
|
87
109
|
}
|
|
88
110
|
|
|
89
111
|
//@ts-ignore
|
|
90
112
|
return (0, _extends2.default)({}, user, {
|
|
113
|
+
username: userUsername,
|
|
114
|
+
phoneNumber: userPhoneNumber
|
|
115
|
+
}, shouldLoadEmails && primaryEmail ? {
|
|
116
|
+
email: primaryEmail
|
|
117
|
+
} : {}, shouldLoadEmails && allEmails.length > 0 ? {
|
|
118
|
+
emails: allEmails
|
|
119
|
+
} : {}, {
|
|
91
120
|
roles: userRolesFull,
|
|
92
121
|
roleIds: userRoleIds,
|
|
93
122
|
groups: userGroupsFull,
|
|
@@ -159,6 +188,7 @@ var _default = (store, api, sharedActions) => {
|
|
|
159
188
|
const {
|
|
160
189
|
silentLoading,
|
|
161
190
|
callback,
|
|
191
|
+
shouldLoadEmails = false,
|
|
162
192
|
retryConfig
|
|
163
193
|
} = payload;
|
|
164
194
|
const teamState = store.auth.teamState;
|
|
@@ -208,6 +238,7 @@ var _default = (store, api, sharedActions) => {
|
|
|
208
238
|
} = await __enrichUsersWithRolesGroupsAndPermissions(users, {
|
|
209
239
|
shouldLoadRoles,
|
|
210
240
|
shouldLoadApps,
|
|
241
|
+
shouldLoadEmails,
|
|
211
242
|
retryConfig
|
|
212
243
|
});
|
|
213
244
|
__setUsersStateAndCallback(enrichedUsers, roles, permissions, response._metadata.totalPages, response._metadata.totalItems, callback);
|
|
@@ -407,6 +438,7 @@ var _default = (store, api, sharedActions) => {
|
|
|
407
438
|
callback,
|
|
408
439
|
shouldLoadRoles = true,
|
|
409
440
|
shouldLoadApps,
|
|
441
|
+
shouldLoadEmails = false,
|
|
410
442
|
retryConfig
|
|
411
443
|
} = payload;
|
|
412
444
|
const teamState = store.auth.teamState;
|
|
@@ -448,6 +480,7 @@ var _default = (store, api, sharedActions) => {
|
|
|
448
480
|
} = await __enrichUsersWithRolesGroupsAndPermissions(users, {
|
|
449
481
|
shouldLoadRoles,
|
|
450
482
|
shouldLoadApps,
|
|
483
|
+
shouldLoadEmails,
|
|
451
484
|
retryConfig
|
|
452
485
|
});
|
|
453
486
|
__setUsersStateAndCallback(enrichedUsers, roles, permissions, totalPages, totalItems, callback);
|
|
@@ -839,7 +872,8 @@ var _default = (store, api, sharedActions) => {
|
|
|
839
872
|
const {
|
|
840
873
|
_phoneNumber,
|
|
841
874
|
shouldLoadRoles = true,
|
|
842
|
-
shouldLoadApps
|
|
875
|
+
shouldLoadApps,
|
|
876
|
+
shouldLoadEmails = false
|
|
843
877
|
} = payload;
|
|
844
878
|
return __loadUsersBySearchCriteria(payload, (pageOffset, pageSize) => api.userPhoneNumbers.getUsersPhoneNumberV2({
|
|
845
879
|
_phoneNumber,
|
|
@@ -851,7 +885,8 @@ var _default = (store, api, sharedActions) => {
|
|
|
851
885
|
const {
|
|
852
886
|
_usernamePrefix,
|
|
853
887
|
shouldLoadRoles = true,
|
|
854
|
-
shouldLoadApps
|
|
888
|
+
shouldLoadApps,
|
|
889
|
+
shouldLoadEmails = false
|
|
855
890
|
} = payload;
|
|
856
891
|
return __loadUsersBySearchCriteria(payload, (pageOffset, pageSize) => api.usernames.getUsernamesV1({
|
|
857
892
|
_usernamePrefix,
|
|
@@ -863,7 +898,8 @@ var _default = (store, api, sharedActions) => {
|
|
|
863
898
|
const {
|
|
864
899
|
_email,
|
|
865
900
|
shouldLoadRoles = true,
|
|
866
|
-
shouldLoadApps
|
|
901
|
+
shouldLoadApps,
|
|
902
|
+
shouldLoadEmails = false
|
|
867
903
|
} = payload;
|
|
868
904
|
return __loadUsersBySearchCriteria(payload, (pageOffset, pageSize) => api.usersEmails.getUsersEmailsV1({
|
|
869
905
|
_email,
|
package/node/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frontegg/redux-store",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.94.0",
|
|
4
4
|
"main": "./node/index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Frontegg LTD",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@babel/runtime": "^7.18.6",
|
|
9
9
|
"@frontegg/entitlements-javascript-commons": "1.1.2",
|
|
10
|
-
"@frontegg/rest-api": "7.
|
|
10
|
+
"@frontegg/rest-api": "7.94.0",
|
|
11
11
|
"fast-deep-equal": "3.1.3",
|
|
12
12
|
"get-value": "^3.0.1",
|
|
13
13
|
"proxy-compare": "^3.0.0",
|