@esri/hub-common 14.193.0 → 14.194.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/dist/esm/content/search.js +2 -0
- package/dist/esm/content/search.js.map +1 -1
- package/dist/esm/search/_internal/getUserGroupsByMembership.js +42 -0
- package/dist/esm/search/_internal/getUserGroupsByMembership.js.map +1 -0
- package/dist/esm/search/_internal/getUserGroupsFromQuery.js +24 -25
- package/dist/esm/search/_internal/getUserGroupsFromQuery.js.map +1 -1
- package/dist/esm/search/_internal/index.js +1 -0
- package/dist/esm/search/_internal/index.js.map +1 -1
- package/dist/esm/search/getAddContentConfig.js +50 -8
- package/dist/esm/search/getAddContentConfig.js.map +1 -1
- package/dist/esm/users/_internal/UserBusinessRules.js +20 -5
- package/dist/esm/users/_internal/UserBusinessRules.js.map +1 -1
- package/dist/node/content/search.js +2 -0
- package/dist/node/content/search.js.map +1 -1
- package/dist/node/search/_internal/getUserGroupsByMembership.js +46 -0
- package/dist/node/search/_internal/getUserGroupsByMembership.js.map +1 -0
- package/dist/node/search/_internal/getUserGroupsFromQuery.js +24 -25
- package/dist/node/search/_internal/getUserGroupsFromQuery.js.map +1 -1
- package/dist/node/search/_internal/index.js +1 -0
- package/dist/node/search/_internal/index.js.map +1 -1
- package/dist/node/search/getAddContentConfig.js +50 -8
- package/dist/node/search/getAddContentConfig.js.map +1 -1
- package/dist/node/users/_internal/UserBusinessRules.js +20 -5
- package/dist/node/users/_internal/UserBusinessRules.js.map +1 -1
- package/dist/types/search/_internal/getUserGroupsByMembership.d.ts +16 -0
- package/dist/types/search/_internal/index.d.ts +1 -0
- package/dist/types/search/types/AddContentWorkflowTypes.d.ts +1 -1
- package/dist/types/users/_internal/UserBusinessRules.d.ts +1 -1
- package/package.json +1 -1
|
@@ -7,6 +7,7 @@ import { unique } from "../util";
|
|
|
7
7
|
import { mapBy } from "../utils";
|
|
8
8
|
import { getFamily } from "./get-family";
|
|
9
9
|
import { deriveLocationFromItem, getHubRelativeUrl, } from "./_internal/internalContentUtils";
|
|
10
|
+
import { getRelativeWorkspaceUrl } from "../core/getRelativeWorkspaceUrl";
|
|
10
11
|
/**
|
|
11
12
|
* Enrich a generic search result
|
|
12
13
|
* @param item
|
|
@@ -68,6 +69,7 @@ export async function enrichContentSearchResult(item, include, requestOptions) {
|
|
|
68
69
|
result.links.thumbnail = getItemThumbnailUrl(item, requestOptions);
|
|
69
70
|
result.links.self = getItemHomeUrl(result.id, requestOptions);
|
|
70
71
|
result.links.siteRelative = getHubRelativeUrl(result.type, result.id, item.typeKeywords);
|
|
72
|
+
result.links.workspaceRelative = getRelativeWorkspaceUrl(result.type, result.id);
|
|
71
73
|
return result;
|
|
72
74
|
}
|
|
73
75
|
//# sourceMappingURL=search.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/content/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACL,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/content/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retrieves the user's groups categorized by their membership type.
|
|
3
|
+
*
|
|
4
|
+
* @param user - The user object containing group information.
|
|
5
|
+
* @returns An object categorizing the user's groups into `owner`, `admin`, and `member`.
|
|
6
|
+
*
|
|
7
|
+
* The function processes the user's groups and classifies them based on the membership type:
|
|
8
|
+
* - `owner`: Groups where the user is an owner.
|
|
9
|
+
* - `admin`: Groups where the user is an admin.
|
|
10
|
+
* - `member`: Groups where the user is a member and the group is not view-only.
|
|
11
|
+
*
|
|
12
|
+
* Note: The `none` membership type is not considered as it is not expected to be present in the user's groups.
|
|
13
|
+
*/
|
|
14
|
+
export function getUserGroupsByMembership(user) {
|
|
15
|
+
const response = {
|
|
16
|
+
owner: [],
|
|
17
|
+
member: [],
|
|
18
|
+
admin: [],
|
|
19
|
+
};
|
|
20
|
+
// get the user's groups
|
|
21
|
+
const userGroups = user.groups || [];
|
|
22
|
+
// loop through the groups and determine if the user is an admin or normal member
|
|
23
|
+
// and add into the response
|
|
24
|
+
userGroups.forEach((group) => {
|
|
25
|
+
var _a, _b, _c;
|
|
26
|
+
if (((_a = group.userMembership) === null || _a === void 0 ? void 0 : _a.memberType) === "owner") {
|
|
27
|
+
response.owner.push(group.id);
|
|
28
|
+
}
|
|
29
|
+
if (((_b = group.userMembership) === null || _b === void 0 ? void 0 : _b.memberType) === "admin") {
|
|
30
|
+
response.admin.push(group.id);
|
|
31
|
+
}
|
|
32
|
+
// If user is just a member and the group is not view only
|
|
33
|
+
if (((_c = group.userMembership) === null || _c === void 0 ? void 0 : _c.memberType) === "member" && !group.isViewOnly) {
|
|
34
|
+
response.member.push(group.id);
|
|
35
|
+
}
|
|
36
|
+
// there is a `none` option in the userMembership but
|
|
37
|
+
// that would never be returned in the user's groups
|
|
38
|
+
// so we don't need to check for it
|
|
39
|
+
});
|
|
40
|
+
return response;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=getUserGroupsByMembership.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUserGroupsByMembership.js","sourceRoot":"","sources":["../../../../src/search/_internal/getUserGroupsByMembership.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AAEH,MAAM,UAAU,yBAAyB,CAAC,IAAW;IACnD,MAAM,QAAQ,GAAwB;QACpC,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;KACV,CAAC;IACF,wBAAwB;IACxB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IACrC,iFAAiF;IACjF,4BAA4B;IAC5B,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;;QAC3B,IAAI,OAAA,KAAK,CAAC,cAAc,0CAAE,UAAU,MAAK,OAAO,EAAE;YAChD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SAC/B;QACD,IAAI,OAAA,KAAK,CAAC,cAAc,0CAAE,UAAU,MAAK,OAAO,EAAE;YAChD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SAC/B;QACD,0DAA0D;QAC1D,IAAI,OAAA,KAAK,CAAC,cAAc,0CAAE,UAAU,MAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YACtE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SAChC;QACD,qDAAqD;QACrD,oDAAoD;QACpD,mCAAmC;IACrC,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getPredicateValues } from "../getPredicateValues";
|
|
2
|
+
import { getUserGroupsByMembership } from "./getUserGroupsByMembership";
|
|
2
3
|
/**
|
|
3
4
|
* Given a query and a user, return an object with the set of groups
|
|
4
5
|
* that are in the Query, and which the user is a member of, split by
|
|
@@ -9,7 +10,7 @@ import { getPredicateValues } from "../getPredicateValues";
|
|
|
9
10
|
* @returns
|
|
10
11
|
*/
|
|
11
12
|
export function getUserGroupsFromQuery(query, user) {
|
|
12
|
-
|
|
13
|
+
let response = {
|
|
13
14
|
owner: [],
|
|
14
15
|
member: [],
|
|
15
16
|
admin: [],
|
|
@@ -17,30 +18,28 @@ export function getUserGroupsFromQuery(query, user) {
|
|
|
17
18
|
// collect up all the group predicates from the query's filters
|
|
18
19
|
// NOTE: this only pulls the all and any predicates
|
|
19
20
|
const groups = getPredicateValues("group", query);
|
|
20
|
-
// get the user's groups
|
|
21
|
-
const
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
groups.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
});
|
|
21
|
+
// get the user's groups by membership
|
|
22
|
+
const allUserGroups = getUserGroupsByMembership(user);
|
|
23
|
+
// if there are groups in the query, we subset the user's groups
|
|
24
|
+
// based on the groups in the query
|
|
25
|
+
if (groups.length) {
|
|
26
|
+
const props = [
|
|
27
|
+
"owner",
|
|
28
|
+
"admin",
|
|
29
|
+
"member",
|
|
30
|
+
];
|
|
31
|
+
groups.forEach((groupId) => {
|
|
32
|
+
// check each group type and add the group to the response if the user is a member
|
|
33
|
+
props.forEach((prop) => {
|
|
34
|
+
if (allUserGroups[prop].includes(groupId)) {
|
|
35
|
+
response[prop].push(groupId);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
response = allUserGroups;
|
|
42
|
+
}
|
|
44
43
|
return response;
|
|
45
44
|
}
|
|
46
45
|
//# sourceMappingURL=getUserGroupsFromQuery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUserGroupsFromQuery.js","sourceRoot":"","sources":["../../../../src/search/_internal/getUserGroupsFromQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D;;;;;;;;GAQG;AAEH,MAAM,UAAU,sBAAsB,CACpC,KAAa,EACb,IAAW;IAEX,
|
|
1
|
+
{"version":3,"file":"getUserGroupsFromQuery.js","sourceRoot":"","sources":["../../../../src/search/_internal/getUserGroupsFromQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE;;;;;;;;GAQG;AAEH,MAAM,UAAU,sBAAsB,CACpC,KAAa,EACb,IAAW;IAEX,IAAI,QAAQ,GAAwB;QAClC,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;KACV,CAAC;IACF,+DAA+D;IAC/D,mDAAmD;IACnD,MAAM,MAAM,GAAa,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5D,sCAAsC;IACtC,MAAM,aAAa,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACtD,gEAAgE;IAChE,mCAAmC;IACnC,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,MAAM,KAAK,GAAqC;YAC9C,OAAO;YACP,OAAO;YACP,QAAQ;SACT,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACzB,kFAAkF;YAClF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrB,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACzC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC9B;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,QAAQ,GAAG,aAAa,CAAC;KAC1B;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/search/_internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/search/_internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { getPredicateValues } from "./getPredicateValues";
|
|
|
5
5
|
import { getDefaultCreateableTypes, getWorkflowForType, } from "./_internal/getWorkflowForType";
|
|
6
6
|
import { getProp } from "../objects/get-prop";
|
|
7
7
|
import { getUserGroupsFromQuery } from "./_internal/getUserGroupsFromQuery";
|
|
8
|
+
import { getUserGroupsByMembership } from "./_internal/getUserGroupsByMembership";
|
|
8
9
|
import { getCatalogGroups } from "./_internal";
|
|
9
10
|
const EmptyAddContentWorkflowConfig = {
|
|
10
11
|
create: null,
|
|
@@ -116,6 +117,9 @@ function getAddContentConfigForQuery(query, context) {
|
|
|
116
117
|
else if (query.targetEntity === "event") {
|
|
117
118
|
return getAddContentConfigForEventQuery(query, context);
|
|
118
119
|
}
|
|
120
|
+
else if (query.targetEntity === "group") {
|
|
121
|
+
return getAddContentConfigForGroupQuery(query, context);
|
|
122
|
+
}
|
|
119
123
|
else {
|
|
120
124
|
const response = cloneObject(EmptyAddContentWorkflowConfig);
|
|
121
125
|
response.state = "disabled";
|
|
@@ -123,6 +127,27 @@ function getAddContentConfigForQuery(query, context) {
|
|
|
123
127
|
return response;
|
|
124
128
|
}
|
|
125
129
|
}
|
|
130
|
+
function getAddContentConfigForGroupQuery(_query, context) {
|
|
131
|
+
const response = cloneObject(EmptyAddContentWorkflowConfig);
|
|
132
|
+
// groups can be created or added but the user needs permission
|
|
133
|
+
const chk = checkPermission("hub:group:create", context);
|
|
134
|
+
if (chk.access) {
|
|
135
|
+
response.create = {
|
|
136
|
+
targetEntity: "group",
|
|
137
|
+
workflow: "create",
|
|
138
|
+
types: ["Group"],
|
|
139
|
+
};
|
|
140
|
+
response.state = "enabled";
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
response.state = "disabled";
|
|
144
|
+
response.reason = "no-permission";
|
|
145
|
+
if (chk.response === "assertion-failed") {
|
|
146
|
+
response.reason = "too-many-groups";
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return response;
|
|
150
|
+
}
|
|
126
151
|
/**
|
|
127
152
|
* Specific logic for targetEntity="event"
|
|
128
153
|
* @param query
|
|
@@ -171,13 +196,27 @@ function getAddContentConfigForEventQuery(query, context) {
|
|
|
171
196
|
*/
|
|
172
197
|
function getAddContentConfigForItemQuery(query, context) {
|
|
173
198
|
const response = cloneObject(EmptyAddContentWorkflowConfig);
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
199
|
+
// We need to return groups by membership so we can show the group sharing ux
|
|
200
|
+
let userGroups = {
|
|
201
|
+
owner: [],
|
|
202
|
+
admin: [],
|
|
203
|
+
member: [],
|
|
204
|
+
};
|
|
205
|
+
// If the query has groups, then we need to check that the user is a member of those groups
|
|
206
|
+
const groups = getPredicateValues("group", query);
|
|
207
|
+
if (groups.length) {
|
|
208
|
+
userGroups = getUserGroupsFromQuery(query, context.currentUser);
|
|
209
|
+
if (!userGroups.owner.length &&
|
|
210
|
+
!userGroups.admin.length &&
|
|
211
|
+
!userGroups.member.length) {
|
|
212
|
+
response.state = "disabled";
|
|
213
|
+
response.reason = "not-in-groups";
|
|
214
|
+
return response;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
// we just need all the user's groups, as IGroupsByMembership object
|
|
219
|
+
userGroups = getUserGroupsByMembership(context.currentUser);
|
|
181
220
|
}
|
|
182
221
|
// Get all the types from all the the predicates in all of the filters
|
|
183
222
|
let queryTypes = getPredicateValues("type", query);
|
|
@@ -204,7 +243,10 @@ function getAddContentConfigForItemQuery(query, context) {
|
|
|
204
243
|
}
|
|
205
244
|
response.create.types.push(wft.type);
|
|
206
245
|
}
|
|
207
|
-
if
|
|
246
|
+
// Only show the add existing workflows if the query includes groups
|
|
247
|
+
// otherwise the query is defined by other criteria that we likely can't
|
|
248
|
+
// handle at this time (e.g. items owned by current user)
|
|
249
|
+
if (wft.workflows.includes("existing") && groups.length) {
|
|
208
250
|
if (!response.existing) {
|
|
209
251
|
response.existing = {
|
|
210
252
|
targetEntity: wft.targetEntity,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAddContentConfig.js","sourceRoot":"","sources":["../../../src/search/getAddContentConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACL,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"getAddContentConfig.js","sourceRoot":"","sources":["../../../src/search/getAddContentConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,9 @@ export const UserPermissions = [
|
|
|
11
11
|
"hub:user:workspace",
|
|
12
12
|
"hub:user:workspace:overview",
|
|
13
13
|
"hub:user:workspace:settings",
|
|
14
|
+
"hub:user:workspace:content",
|
|
15
|
+
"hub:user:workspace:groups",
|
|
16
|
+
"hub:user:workspace:shared-with-me",
|
|
14
17
|
"hub:user:manage",
|
|
15
18
|
];
|
|
16
19
|
/**
|
|
@@ -48,14 +51,26 @@ export const UserPermissionPolicies = [
|
|
|
48
51
|
},
|
|
49
52
|
{
|
|
50
53
|
permission: "hub:user:workspace:overview",
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
dependencies: ["hub:user:workspace"],
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
permission: "hub:user:workspace:content",
|
|
58
|
+
availability: ["alpha"],
|
|
59
|
+
dependencies: ["hub:user:workspace", "hub:user:owner"],
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
permission: "hub:user:workspace:groups",
|
|
63
|
+
availability: ["alpha"],
|
|
64
|
+
dependencies: ["hub:user:workspace", "hub:user:owner"],
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
permission: "hub:user:workspace:shared-with-me",
|
|
68
|
+
availability: ["alpha"],
|
|
69
|
+
dependencies: ["hub:user:workspace", "hub:user:owner"],
|
|
55
70
|
},
|
|
56
71
|
{
|
|
57
72
|
permission: "hub:user:workspace:settings",
|
|
58
|
-
dependencies: ["hub:user:workspace", "hub:user:
|
|
73
|
+
dependencies: ["hub:user:workspace", "hub:user:owner"],
|
|
59
74
|
},
|
|
60
75
|
{
|
|
61
76
|
permission: "hub:user:manage",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserBusinessRules.js","sourceRoot":"","sources":["../../../../src/users/_internal/UserBusinessRules.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,UAAU;IACV,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,6BAA6B;IAC7B,6BAA6B;IAC7B,iBAAiB;CACT,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAwB;IACzD;QACE,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,KAAK;KACrB;IACD;QACE,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,qDAAqD;QACrD,kEAAkE;QAClE,YAAY,EAAE,CAAC,gBAAgB,CAAC;KACjC;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;QACjC,kDAAkD;QAClD,mCAAmC;QACnC,YAAY,EAAE,CAAC,uBAAuB,CAAC;KACxC;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,
|
|
1
|
+
{"version":3,"file":"UserBusinessRules.js","sourceRoot":"","sources":["../../../../src/users/_internal/UserBusinessRules.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,UAAU;IACV,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,6BAA6B;IAC7B,6BAA6B;IAC7B,4BAA4B;IAC5B,2BAA2B;IAC3B,mCAAmC;IACnC,iBAAiB;CACT,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAwB;IACzD;QACE,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,KAAK;KACrB;IACD;QACE,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,qDAAqD;QACrD,kEAAkE;QAClE,YAAY,EAAE,CAAC,gBAAgB,CAAC;KACjC;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;QACjC,kDAAkD;QAClD,mCAAmC;QACnC,YAAY,EAAE,CAAC,uBAAuB,CAAC;KACxC;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,CAAC,oBAAoB,CAAC;KACrC;IACD;QACE,UAAU,EAAE,4BAA4B;QACxC,YAAY,EAAE,CAAC,OAAO,CAAC;QACvB,YAAY,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;KACvD;IACD;QACE,UAAU,EAAE,2BAA2B;QACvC,YAAY,EAAE,CAAC,OAAO,CAAC;QACvB,YAAY,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;KACvD;IACD;QACE,UAAU,EAAE,mCAAmC;QAC/C,YAAY,EAAE,CAAC,OAAO,CAAC;QACvB,YAAY,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;KACvD;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;KACvD;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,YAAY,EAAE,CAAC,eAAe,CAAC;KAChC;CACF,CAAC"}
|
|
@@ -10,6 +10,7 @@ const util_1 = require("../util");
|
|
|
10
10
|
const utils_1 = require("../utils");
|
|
11
11
|
const get_family_1 = require("./get-family");
|
|
12
12
|
const internalContentUtils_1 = require("./_internal/internalContentUtils");
|
|
13
|
+
const getRelativeWorkspaceUrl_1 = require("../core/getRelativeWorkspaceUrl");
|
|
13
14
|
/**
|
|
14
15
|
* Enrich a generic search result
|
|
15
16
|
* @param item
|
|
@@ -71,6 +72,7 @@ async function enrichContentSearchResult(item, include, requestOptions) {
|
|
|
71
72
|
result.links.thumbnail = resources_1.getItemThumbnailUrl(item, requestOptions);
|
|
72
73
|
result.links.self = urls_1.getItemHomeUrl(result.id, requestOptions);
|
|
73
74
|
result.links.siteRelative = internalContentUtils_1.getHubRelativeUrl(result.type, result.id, item.typeKeywords);
|
|
75
|
+
result.links.workspaceRelative = getRelativeWorkspaceUrl_1.getRelativeWorkspaceUrl(result.type, result.id);
|
|
74
76
|
return result;
|
|
75
77
|
}
|
|
76
78
|
exports.enrichContentSearchResult = enrichContentSearchResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/content/search.ts"],"names":[],"mappings":";;;AACA,wDAA6D;AAC7D,wCAAqC;AACrC,4CAAmD;AAEnD,mEAAgE;AAEhE,kCAAyC;AACzC,kCAAiC;AACjC,oCAAiC;AACjC,6CAAyC;AACzC,2EAG0C;
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/content/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getUserGroupsByMembership = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Retrieves the user's groups categorized by their membership type.
|
|
6
|
+
*
|
|
7
|
+
* @param user - The user object containing group information.
|
|
8
|
+
* @returns An object categorizing the user's groups into `owner`, `admin`, and `member`.
|
|
9
|
+
*
|
|
10
|
+
* The function processes the user's groups and classifies them based on the membership type:
|
|
11
|
+
* - `owner`: Groups where the user is an owner.
|
|
12
|
+
* - `admin`: Groups where the user is an admin.
|
|
13
|
+
* - `member`: Groups where the user is a member and the group is not view-only.
|
|
14
|
+
*
|
|
15
|
+
* Note: The `none` membership type is not considered as it is not expected to be present in the user's groups.
|
|
16
|
+
*/
|
|
17
|
+
function getUserGroupsByMembership(user) {
|
|
18
|
+
const response = {
|
|
19
|
+
owner: [],
|
|
20
|
+
member: [],
|
|
21
|
+
admin: [],
|
|
22
|
+
};
|
|
23
|
+
// get the user's groups
|
|
24
|
+
const userGroups = user.groups || [];
|
|
25
|
+
// loop through the groups and determine if the user is an admin or normal member
|
|
26
|
+
// and add into the response
|
|
27
|
+
userGroups.forEach((group) => {
|
|
28
|
+
var _a, _b, _c;
|
|
29
|
+
if (((_a = group.userMembership) === null || _a === void 0 ? void 0 : _a.memberType) === "owner") {
|
|
30
|
+
response.owner.push(group.id);
|
|
31
|
+
}
|
|
32
|
+
if (((_b = group.userMembership) === null || _b === void 0 ? void 0 : _b.memberType) === "admin") {
|
|
33
|
+
response.admin.push(group.id);
|
|
34
|
+
}
|
|
35
|
+
// If user is just a member and the group is not view only
|
|
36
|
+
if (((_c = group.userMembership) === null || _c === void 0 ? void 0 : _c.memberType) === "member" && !group.isViewOnly) {
|
|
37
|
+
response.member.push(group.id);
|
|
38
|
+
}
|
|
39
|
+
// there is a `none` option in the userMembership but
|
|
40
|
+
// that would never be returned in the user's groups
|
|
41
|
+
// so we don't need to check for it
|
|
42
|
+
});
|
|
43
|
+
return response;
|
|
44
|
+
}
|
|
45
|
+
exports.getUserGroupsByMembership = getUserGroupsByMembership;
|
|
46
|
+
//# sourceMappingURL=getUserGroupsByMembership.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUserGroupsByMembership.js","sourceRoot":"","sources":["../../../../src/search/_internal/getUserGroupsByMembership.ts"],"names":[],"mappings":";;;AAGA;;;;;;;;;;;;GAYG;AAEH,SAAgB,yBAAyB,CAAC,IAAW;IACnD,MAAM,QAAQ,GAAwB;QACpC,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;KACV,CAAC;IACF,wBAAwB;IACxB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IACrC,iFAAiF;IACjF,4BAA4B;IAC5B,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;;QAC3B,IAAI,OAAA,KAAK,CAAC,cAAc,0CAAE,UAAU,MAAK,OAAO,EAAE;YAChD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SAC/B;QACD,IAAI,OAAA,KAAK,CAAC,cAAc,0CAAE,UAAU,MAAK,OAAO,EAAE;YAChD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SAC/B;QACD,0DAA0D;QAC1D,IAAI,OAAA,KAAK,CAAC,cAAc,0CAAE,UAAU,MAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YACtE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SAChC;QACD,qDAAqD;QACrD,oDAAoD;QACpD,mCAAmC;IACrC,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AA1BD,8DA0BC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getUserGroupsFromQuery = void 0;
|
|
4
4
|
const getPredicateValues_1 = require("../getPredicateValues");
|
|
5
|
+
const getUserGroupsByMembership_1 = require("./getUserGroupsByMembership");
|
|
5
6
|
/**
|
|
6
7
|
* Given a query and a user, return an object with the set of groups
|
|
7
8
|
* that are in the Query, and which the user is a member of, split by
|
|
@@ -12,7 +13,7 @@ const getPredicateValues_1 = require("../getPredicateValues");
|
|
|
12
13
|
* @returns
|
|
13
14
|
*/
|
|
14
15
|
function getUserGroupsFromQuery(query, user) {
|
|
15
|
-
|
|
16
|
+
let response = {
|
|
16
17
|
owner: [],
|
|
17
18
|
member: [],
|
|
18
19
|
admin: [],
|
|
@@ -20,30 +21,28 @@ function getUserGroupsFromQuery(query, user) {
|
|
|
20
21
|
// collect up all the group predicates from the query's filters
|
|
21
22
|
// NOTE: this only pulls the all and any predicates
|
|
22
23
|
const groups = getPredicateValues_1.getPredicateValues("group", query);
|
|
23
|
-
// get the user's groups
|
|
24
|
-
const
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
|
-
groups.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
});
|
|
24
|
+
// get the user's groups by membership
|
|
25
|
+
const allUserGroups = getUserGroupsByMembership_1.getUserGroupsByMembership(user);
|
|
26
|
+
// if there are groups in the query, we subset the user's groups
|
|
27
|
+
// based on the groups in the query
|
|
28
|
+
if (groups.length) {
|
|
29
|
+
const props = [
|
|
30
|
+
"owner",
|
|
31
|
+
"admin",
|
|
32
|
+
"member",
|
|
33
|
+
];
|
|
34
|
+
groups.forEach((groupId) => {
|
|
35
|
+
// check each group type and add the group to the response if the user is a member
|
|
36
|
+
props.forEach((prop) => {
|
|
37
|
+
if (allUserGroups[prop].includes(groupId)) {
|
|
38
|
+
response[prop].push(groupId);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
response = allUserGroups;
|
|
45
|
+
}
|
|
47
46
|
return response;
|
|
48
47
|
}
|
|
49
48
|
exports.getUserGroupsFromQuery = getUserGroupsFromQuery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUserGroupsFromQuery.js","sourceRoot":"","sources":["../../../../src/search/_internal/getUserGroupsFromQuery.ts"],"names":[],"mappings":";;;AACA,8DAA2D;AAG3D;;;;;;;;GAQG;AAEH,SAAgB,sBAAsB,CACpC,KAAa,EACb,IAAW;IAEX,
|
|
1
|
+
{"version":3,"file":"getUserGroupsFromQuery.js","sourceRoot":"","sources":["../../../../src/search/_internal/getUserGroupsFromQuery.ts"],"names":[],"mappings":";;;AACA,8DAA2D;AAG3D,2EAAwE;AACxE;;;;;;;;GAQG;AAEH,SAAgB,sBAAsB,CACpC,KAAa,EACb,IAAW;IAEX,IAAI,QAAQ,GAAwB;QAClC,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;KACV,CAAC;IACF,+DAA+D;IAC/D,mDAAmD;IACnD,MAAM,MAAM,GAAa,uCAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5D,sCAAsC;IACtC,MAAM,aAAa,GAAG,qDAAyB,CAAC,IAAI,CAAC,CAAC;IACtD,gEAAgE;IAChE,mCAAmC;IACnC,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,MAAM,KAAK,GAAqC;YAC9C,OAAO;YACP,OAAO;YACP,QAAQ;SACT,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACzB,kFAAkF;YAClF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrB,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACzC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC9B;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,QAAQ,GAAG,aAAa,CAAC;KAC1B;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAnCD,wDAmCC"}
|
|
@@ -10,4 +10,5 @@ tslib_1.__exportStar(require("./hubSearchEvents"), exports);
|
|
|
10
10
|
tslib_1.__exportStar(require("./hubSearchEventAttendees"), exports);
|
|
11
11
|
tslib_1.__exportStar(require("./getWorkflowForType"), exports);
|
|
12
12
|
tslib_1.__exportStar(require("./getCatalogGroups"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./getUserGroupsByMembership"), exports);
|
|
13
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/search/_internal/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,2DAAiC;AACjC,+DAAqC;AACrC,8DAAoC;AACpC,8DAAoC;AACpC,4DAAkC;AAClC,oEAA0C;AAC1C,+DAAqC;AACrC,6DAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/search/_internal/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,2DAAiC;AACjC,+DAAqC;AACrC,8DAAoC;AACpC,8DAAoC;AACpC,4DAAkC;AAClC,oEAA0C;AAC1C,+DAAqC;AACrC,6DAAmC;AACnC,sEAA4C"}
|
|
@@ -8,6 +8,7 @@ const getPredicateValues_1 = require("./getPredicateValues");
|
|
|
8
8
|
const getWorkflowForType_1 = require("./_internal/getWorkflowForType");
|
|
9
9
|
const get_prop_1 = require("../objects/get-prop");
|
|
10
10
|
const getUserGroupsFromQuery_1 = require("./_internal/getUserGroupsFromQuery");
|
|
11
|
+
const getUserGroupsByMembership_1 = require("./_internal/getUserGroupsByMembership");
|
|
11
12
|
const _internal_1 = require("./_internal");
|
|
12
13
|
const EmptyAddContentWorkflowConfig = {
|
|
13
14
|
create: null,
|
|
@@ -120,6 +121,9 @@ function getAddContentConfigForQuery(query, context) {
|
|
|
120
121
|
else if (query.targetEntity === "event") {
|
|
121
122
|
return getAddContentConfigForEventQuery(query, context);
|
|
122
123
|
}
|
|
124
|
+
else if (query.targetEntity === "group") {
|
|
125
|
+
return getAddContentConfigForGroupQuery(query, context);
|
|
126
|
+
}
|
|
123
127
|
else {
|
|
124
128
|
const response = util_1.cloneObject(EmptyAddContentWorkflowConfig);
|
|
125
129
|
response.state = "disabled";
|
|
@@ -127,6 +131,27 @@ function getAddContentConfigForQuery(query, context) {
|
|
|
127
131
|
return response;
|
|
128
132
|
}
|
|
129
133
|
}
|
|
134
|
+
function getAddContentConfigForGroupQuery(_query, context) {
|
|
135
|
+
const response = util_1.cloneObject(EmptyAddContentWorkflowConfig);
|
|
136
|
+
// groups can be created or added but the user needs permission
|
|
137
|
+
const chk = checkPermission_1.checkPermission("hub:group:create", context);
|
|
138
|
+
if (chk.access) {
|
|
139
|
+
response.create = {
|
|
140
|
+
targetEntity: "group",
|
|
141
|
+
workflow: "create",
|
|
142
|
+
types: ["Group"],
|
|
143
|
+
};
|
|
144
|
+
response.state = "enabled";
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
response.state = "disabled";
|
|
148
|
+
response.reason = "no-permission";
|
|
149
|
+
if (chk.response === "assertion-failed") {
|
|
150
|
+
response.reason = "too-many-groups";
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return response;
|
|
154
|
+
}
|
|
130
155
|
/**
|
|
131
156
|
* Specific logic for targetEntity="event"
|
|
132
157
|
* @param query
|
|
@@ -175,13 +200,27 @@ function getAddContentConfigForEventQuery(query, context) {
|
|
|
175
200
|
*/
|
|
176
201
|
function getAddContentConfigForItemQuery(query, context) {
|
|
177
202
|
const response = util_1.cloneObject(EmptyAddContentWorkflowConfig);
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
203
|
+
// We need to return groups by membership so we can show the group sharing ux
|
|
204
|
+
let userGroups = {
|
|
205
|
+
owner: [],
|
|
206
|
+
admin: [],
|
|
207
|
+
member: [],
|
|
208
|
+
};
|
|
209
|
+
// If the query has groups, then we need to check that the user is a member of those groups
|
|
210
|
+
const groups = getPredicateValues_1.getPredicateValues("group", query);
|
|
211
|
+
if (groups.length) {
|
|
212
|
+
userGroups = getUserGroupsFromQuery_1.getUserGroupsFromQuery(query, context.currentUser);
|
|
213
|
+
if (!userGroups.owner.length &&
|
|
214
|
+
!userGroups.admin.length &&
|
|
215
|
+
!userGroups.member.length) {
|
|
216
|
+
response.state = "disabled";
|
|
217
|
+
response.reason = "not-in-groups";
|
|
218
|
+
return response;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
// we just need all the user's groups, as IGroupsByMembership object
|
|
223
|
+
userGroups = getUserGroupsByMembership_1.getUserGroupsByMembership(context.currentUser);
|
|
185
224
|
}
|
|
186
225
|
// Get all the types from all the the predicates in all of the filters
|
|
187
226
|
let queryTypes = getPredicateValues_1.getPredicateValues("type", query);
|
|
@@ -208,7 +247,10 @@ function getAddContentConfigForItemQuery(query, context) {
|
|
|
208
247
|
}
|
|
209
248
|
response.create.types.push(wft.type);
|
|
210
249
|
}
|
|
211
|
-
if
|
|
250
|
+
// Only show the add existing workflows if the query includes groups
|
|
251
|
+
// otherwise the query is defined by other criteria that we likely can't
|
|
252
|
+
// handle at this time (e.g. items owned by current user)
|
|
253
|
+
if (wft.workflows.includes("existing") && groups.length) {
|
|
212
254
|
if (!response.existing) {
|
|
213
255
|
response.existing = {
|
|
214
256
|
targetEntity: wft.targetEntity,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAddContentConfig.js","sourceRoot":"","sources":["../../../src/search/getAddContentConfig.ts"],"names":[],"mappings":";;;AACA,oEAAiE;AACjE,kCAAsC;AACtC,6EAA0E;AAE1E,6DAA0D;AAC1D,uEAGwC;AACxC,kDAA8C;AAC9C,+EAA4E;
|
|
1
|
+
{"version":3,"file":"getAddContentConfig.js","sourceRoot":"","sources":["../../../src/search/getAddContentConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,9 @@ exports.UserPermissions = [
|
|
|
14
14
|
"hub:user:workspace",
|
|
15
15
|
"hub:user:workspace:overview",
|
|
16
16
|
"hub:user:workspace:settings",
|
|
17
|
+
"hub:user:workspace:content",
|
|
18
|
+
"hub:user:workspace:groups",
|
|
19
|
+
"hub:user:workspace:shared-with-me",
|
|
17
20
|
"hub:user:manage",
|
|
18
21
|
];
|
|
19
22
|
/**
|
|
@@ -51,14 +54,26 @@ exports.UserPermissionPolicies = [
|
|
|
51
54
|
},
|
|
52
55
|
{
|
|
53
56
|
permission: "hub:user:workspace:overview",
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
dependencies: ["hub:user:workspace"],
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
permission: "hub:user:workspace:content",
|
|
61
|
+
availability: ["alpha"],
|
|
62
|
+
dependencies: ["hub:user:workspace", "hub:user:owner"],
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
permission: "hub:user:workspace:groups",
|
|
66
|
+
availability: ["alpha"],
|
|
67
|
+
dependencies: ["hub:user:workspace", "hub:user:owner"],
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
permission: "hub:user:workspace:shared-with-me",
|
|
71
|
+
availability: ["alpha"],
|
|
72
|
+
dependencies: ["hub:user:workspace", "hub:user:owner"],
|
|
58
73
|
},
|
|
59
74
|
{
|
|
60
75
|
permission: "hub:user:workspace:settings",
|
|
61
|
-
dependencies: ["hub:user:workspace", "hub:user:
|
|
76
|
+
dependencies: ["hub:user:workspace", "hub:user:owner"],
|
|
62
77
|
},
|
|
63
78
|
{
|
|
64
79
|
permission: "hub:user:manage",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserBusinessRules.js","sourceRoot":"","sources":["../../../../src/users/_internal/UserBusinessRules.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACU,QAAA,eAAe,GAAG;IAC7B,UAAU;IACV,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,6BAA6B;IAC7B,6BAA6B;IAC7B,iBAAiB;CACT,CAAC;AAEX;;;GAGG;AACU,QAAA,sBAAsB,GAAwB;IACzD;QACE,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,KAAK;KACrB;IACD;QACE,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,qDAAqD;QACrD,kEAAkE;QAClE,YAAY,EAAE,CAAC,gBAAgB,CAAC;KACjC;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;QACjC,kDAAkD;QAClD,mCAAmC;QACnC,YAAY,EAAE,CAAC,uBAAuB,CAAC;KACxC;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,
|
|
1
|
+
{"version":3,"file":"UserBusinessRules.js","sourceRoot":"","sources":["../../../../src/users/_internal/UserBusinessRules.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACU,QAAA,eAAe,GAAG;IAC7B,UAAU;IACV,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,6BAA6B;IAC7B,6BAA6B;IAC7B,4BAA4B;IAC5B,2BAA2B;IAC3B,mCAAmC;IACnC,iBAAiB;CACT,CAAC;AAEX;;;GAGG;AACU,QAAA,sBAAsB,GAAwB;IACzD;QACE,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,KAAK;KACrB;IACD;QACE,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,qDAAqD;QACrD,kEAAkE;QAClE,YAAY,EAAE,CAAC,gBAAgB,CAAC;KACjC;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;QACjC,kDAAkD;QAClD,mCAAmC;QACnC,YAAY,EAAE,CAAC,uBAAuB,CAAC;KACxC;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,CAAC,oBAAoB,CAAC;KACrC;IACD;QACE,UAAU,EAAE,4BAA4B;QACxC,YAAY,EAAE,CAAC,OAAO,CAAC;QACvB,YAAY,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;KACvD;IACD;QACE,UAAU,EAAE,2BAA2B;QACvC,YAAY,EAAE,CAAC,OAAO,CAAC;QACvB,YAAY,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;KACvD;IACD;QACE,UAAU,EAAE,mCAAmC;QAC/C,YAAY,EAAE,CAAC,OAAO,CAAC;QACvB,YAAY,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;KACvD;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;KACvD;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,YAAY,EAAE,CAAC,eAAe,CAAC;KAChC;CACF,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IUser } from "@esri/arcgis-rest-types";
|
|
2
|
+
import { IGroupsByMembership } from "../types/IGroupsByMembership";
|
|
3
|
+
/**
|
|
4
|
+
* Retrieves the user's groups categorized by their membership type.
|
|
5
|
+
*
|
|
6
|
+
* @param user - The user object containing group information.
|
|
7
|
+
* @returns An object categorizing the user's groups into `owner`, `admin`, and `member`.
|
|
8
|
+
*
|
|
9
|
+
* The function processes the user's groups and classifies them based on the membership type:
|
|
10
|
+
* - `owner`: Groups where the user is an owner.
|
|
11
|
+
* - `admin`: Groups where the user is an admin.
|
|
12
|
+
* - `member`: Groups where the user is a member and the group is not view-only.
|
|
13
|
+
*
|
|
14
|
+
* Note: The `none` membership type is not considered as it is not expected to be present in the user's groups.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getUserGroupsByMembership(user: IUser): IGroupsByMembership;
|
|
@@ -14,7 +14,7 @@ export interface IAddContentWorkflowConfig {
|
|
|
14
14
|
upload?: IAddContentUploadWorkflowConfig;
|
|
15
15
|
existing?: IAddContentExistingWorkflowConfig;
|
|
16
16
|
state: "enabled" | "disabled";
|
|
17
|
-
reason?: "no-permission" | "not-in-groups" | "invalid-object" | "unsupported-target-entity";
|
|
17
|
+
reason?: "no-permission" | "not-in-groups" | "invalid-object" | "too-many-groups" | "unsupported-target-entity";
|
|
18
18
|
}
|
|
19
19
|
export declare type AddContentWorkflowConfig = IAddContentCreateWorkflowConfig | IAddContentExistingWorkflowConfig | IAddContentUploadWorkflowConfig;
|
|
20
20
|
interface IAddContentWorkflowBaseConfig {
|
|
@@ -4,7 +4,7 @@ import { IPermissionPolicy } from "../../permissions";
|
|
|
4
4
|
* These define the requirements any user must meet to perform related actions
|
|
5
5
|
* @private
|
|
6
6
|
*/
|
|
7
|
-
export declare const UserPermissions: readonly ["hub:user", "hub:user:view", "hub:user:edit", "hub:user:owner", "hub:user:workspace", "hub:user:workspace:overview", "hub:user:workspace:settings", "hub:user:manage"];
|
|
7
|
+
export declare const UserPermissions: readonly ["hub:user", "hub:user:view", "hub:user:edit", "hub:user:owner", "hub:user:workspace", "hub:user:workspace:overview", "hub:user:workspace:settings", "hub:user:workspace:content", "hub:user:workspace:groups", "hub:user:workspace:shared-with-me", "hub:user:manage"];
|
|
8
8
|
/**
|
|
9
9
|
* User permission policies
|
|
10
10
|
* @private
|