@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.
Files changed (29) hide show
  1. package/dist/esm/content/search.js +2 -0
  2. package/dist/esm/content/search.js.map +1 -1
  3. package/dist/esm/search/_internal/getUserGroupsByMembership.js +42 -0
  4. package/dist/esm/search/_internal/getUserGroupsByMembership.js.map +1 -0
  5. package/dist/esm/search/_internal/getUserGroupsFromQuery.js +24 -25
  6. package/dist/esm/search/_internal/getUserGroupsFromQuery.js.map +1 -1
  7. package/dist/esm/search/_internal/index.js +1 -0
  8. package/dist/esm/search/_internal/index.js.map +1 -1
  9. package/dist/esm/search/getAddContentConfig.js +50 -8
  10. package/dist/esm/search/getAddContentConfig.js.map +1 -1
  11. package/dist/esm/users/_internal/UserBusinessRules.js +20 -5
  12. package/dist/esm/users/_internal/UserBusinessRules.js.map +1 -1
  13. package/dist/node/content/search.js +2 -0
  14. package/dist/node/content/search.js.map +1 -1
  15. package/dist/node/search/_internal/getUserGroupsByMembership.js +46 -0
  16. package/dist/node/search/_internal/getUserGroupsByMembership.js.map +1 -0
  17. package/dist/node/search/_internal/getUserGroupsFromQuery.js +24 -25
  18. package/dist/node/search/_internal/getUserGroupsFromQuery.js.map +1 -1
  19. package/dist/node/search/_internal/index.js +1 -0
  20. package/dist/node/search/_internal/index.js.map +1 -1
  21. package/dist/node/search/getAddContentConfig.js +50 -8
  22. package/dist/node/search/getAddContentConfig.js.map +1 -1
  23. package/dist/node/users/_internal/UserBusinessRules.js +20 -5
  24. package/dist/node/users/_internal/UserBusinessRules.js.map +1 -1
  25. package/dist/types/search/_internal/getUserGroupsByMembership.d.ts +16 -0
  26. package/dist/types/search/_internal/index.d.ts +1 -0
  27. package/dist/types/search/types/AddContentWorkflowTypes.d.ts +1 -1
  28. package/dist/types/users/_internal/UserBusinessRules.d.ts +1 -1
  29. 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":"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"}
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
- const response = {
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 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
- groups.forEach((groupId) => {
25
- var _a, _b, _c;
26
- // get the group from the user's groups array
27
- const group = userGroups.find((g) => g.id === groupId);
28
- if (group) {
29
- if (((_a = group.userMembership) === null || _a === void 0 ? void 0 : _a.memberType) === "owner") {
30
- response.owner.push(groupId);
31
- }
32
- if (((_b = group.userMembership) === null || _b === void 0 ? void 0 : _b.memberType) === "admin") {
33
- response.admin.push(groupId);
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(groupId);
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
- });
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,MAAM,QAAQ,GAAwB;QACpC,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;IAE5D,wBAAwB;IACxB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IACrC,iFAAiF;IACjF,4BAA4B;IAC5B,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;;QACzB,6CAA6C;QAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QACvD,IAAI,KAAK,EAAE;YACT,IAAI,OAAA,KAAK,CAAC,cAAc,0CAAE,UAAU,MAAK,OAAO,EAAE;gBAChD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9B;YACD,IAAI,OAAA,KAAK,CAAC,cAAc,0CAAE,UAAU,MAAK,OAAO,EAAE;gBAChD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9B;YACD,0DAA0D;YAC1D,IAAI,OAAA,KAAK,CAAC,cAAc,0CAAE,UAAU,MAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;gBACtE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/B;YACD,qDAAqD;YACrD,oDAAoD;YACpD,mCAAmC;SACpC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC"}
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"}
@@ -7,4 +7,5 @@ export * from "./hubSearchEvents";
7
7
  export * from "./hubSearchEventAttendees";
8
8
  export * from "./getWorkflowForType";
9
9
  export * from "./getCatalogGroups";
10
+ export * from "./getUserGroupsByMembership";
10
11
  //# sourceMappingURL=index.js.map
@@ -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
- const userGroups = getUserGroupsFromQuery(query, context.currentUser);
175
- if (!userGroups.owner.length &&
176
- !userGroups.admin.length &&
177
- !userGroups.member.length) {
178
- response.state = "disabled";
179
- response.reason = "not-in-groups";
180
- return response;
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 (wft.workflows.includes("existing")) {
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;AAE5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,6BAA6B,GAA8B;IAC/D,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,UAAU;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAuB,EACvB,cAAqC;IAErC,IAAI,cAAc,EAAE;QAClB,IAAI,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE;YAC3C,OAAO,2BAA2B,CAAC,cAAwB,EAAE,OAAO,CAAC,CAAC;SACvE;aAAM,IAAI,OAAO,CAAC,cAAc,EAAE,eAAe,CAAC,EAAE;YACnD,OAAO,6BAA6B,CAClC,cAA6B,EAC7B,OAAO,CACR,CAAC;SACH;aAAM;YACL,0EAA0E;YAC1E,MAAM,MAAM,GAAG,WAAW,CAAC,6BAA6B,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAC;YACjC,OAAO,MAAM,CAAC;SACf;KACF;SAAM;QACL,sDAAsD;QACtD,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAC;KAC5C;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,0BAA0B,CACjC,OAAuB;;IAEvB,MAAM,QAAQ,GAAG,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAC5D,oCAAoC;IACpC,MAAM,KAAK,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAEjD,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACvC,OAAO,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5B,kEAAkE;QAClE,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACpB,QAAQ,CAAC,MAAM,GAAG;oBAChB,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,EAAE;iBACV,CAAC;aACH;YACD,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACtC;IACH,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,GAAG,OAAA,QAAQ,CAAC,MAAM,0CAAE,KAAK,CAAC,MAAM,EAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IAExE,IAAI,QAAQ,CAAC,KAAK,KAAK,UAAU,EAAE;QACjC,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC;KACnC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,6BAA6B,CACpC,OAAoB,EACpB,OAAuB;IAEvB,IAAI,QAAQ,GAAG,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,IACE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM;QACxB,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM;QACxB,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EACzB;QACA,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC;QAC5B,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC;QAClC,OAAO,QAAQ,CAAC;KACjB;IAED,iDAAiD;IACjD,2CAA2C;IAC3C,QAAQ,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAE/C,IAAI,QAAQ,CAAC,MAAM,EAAE;QACnB,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC;KACrC;SAAM;QACL,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC;QAC5B,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC;KACnC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,2BAA2B,CAClC,KAAa,EACb,OAAuB;IAEvB,IAAI,KAAK,CAAC,YAAY,KAAK,MAAM,EAAE;QACjC,OAAO,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KACxD;SAAM,IAAI,KAAK,CAAC,YAAY,KAAK,OAAO,EAAE;QACzC,OAAO,gCAAgC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KACzD;SAAM;QACL,MAAM,QAAQ,GAAG,WAAW,CAAC,6BAA6B,CAAC,CAAC;QAC5D,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC;QAC5B,QAAQ,CAAC,MAAM,GAAG,2BAA2B,CAAC;QAC9C,OAAO,QAAQ,CAAC;KACjB;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gCAAgC,CACvC,KAAa,EACb,OAAuB;IAEvB,MAAM,QAAQ,GAAG,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACtE,IACE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM;QACxB,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM;QACxB,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EACzB;QACA,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC;QAC5B,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC;QAClC,OAAO,QAAQ,CAAC;KACjB;IAED,+DAA+D;IAC/D,IAAI,eAAe,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE;QACvD,QAAQ,CAAC,MAAM,GAAG;YAChB,YAAY,EAAE,OAAO;YACrB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,CAAC,OAAO,CAAC;YAChB,MAAM,EAAE,UAAU;SACnB,CAAC;KACH;IACD,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,GAAG;QAClB,YAAY,EAAE,OAAO;QACrB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,KAAK,EAAE,qBAAqB,CAAC,KAAK,CAAC;QACnC,MAAM,EAAE,UAAU;KACnB,CAAC;IACF,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;IAC3B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,+BAA+B,CACtC,KAAa,EACb,OAAuB;IAEvB,MAAM,QAAQ,GAAG,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACtE,IACE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM;QACxB,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM;QACxB,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EACzB;QACA,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC;QAC5B,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC;QAClC,OAAO,QAAQ,CAAC;KACjB;IACD,sEAAsE;IACtE,IAAI,UAAU,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEnD,mEAAmE;IACnE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;QACtB,UAAU,GAAG,yBAAyB,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;KACvE;IAED,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5C,OAAO,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE;IACF,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACvD,gEAAgE;IAChE,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5B,kEAAkE;QAClE,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACpB,QAAQ,CAAC,MAAM,GAAG;oBAChB,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,UAAU;iBACnB,CAAC;aACH;YACD,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACtC;QACD,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACtB,QAAQ,CAAC,QAAQ,GAAG;oBAClB,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,UAAU;oBAClB,KAAK,EAAE,iBAAiB;iBACzB,CAAC;aACH;YACD,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACxC;IACH,CAAC,CAAC,CAAC;IAEH,4CAA4C;IAC5C,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE;QACxC,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;KAC5B;SAAM;QACL,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC;QAC5B,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC;KACnC;IAED,OAAO,QAAQ,CAAC;AAClB,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
- // NOTE: other entities like site, group, and content gate this to alpha
52
- // but at least for now this is the only pane for users, so no gating
53
- // availability: ["alpha"],
54
- dependencies: ["hub:user:workspace", "hub:user:view"],
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:edit"],
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,wEAAwE;QACxE,qEAAqE;QACrE,2BAA2B;QAC3B,YAAY,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;KACtD;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;KACtD;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,YAAY,EAAE,CAAC,eAAe,CAAC;KAChC;CACF,CAAC"}
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;AAE1C;;;;;;GAMG;AACI,KAAK,UAAU,yBAAyB,CAC7C,IAAW,EACX,OAAiB,EACjB,cAAkC;IAElC,6BAA6B;IAC7B,MAAM,MAAM,GAAqB;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,KAAK;QAChB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW;QACzC,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,iBAAiB,EAAE,cAAc;QACjC,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACpC,iBAAiB,EAAE,eAAe;QAClC,MAAM,EAAE,sBAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,iBAAiB;YAC/B,SAAS,EAAE,iBAAiB;SAC7B;QACD,QAAQ,EAAE,6CAAsB,CAAC,IAAI,CAAC;QACtC,SAAS,EAAE,IAAI;KAChB,CAAC;IAEF,mBAAmB;IACnB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,sCAAsC;IACtC,gEAAgE;IAChE,uDAAuD;IACvD,IAAI;IAEJ,iCAAiC;IACjC,gEAAgE;IAChE,IAAI;IAEJ,iBAAiB;IACjB,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,aAAM,CAAC,CAAC;IACnD,qDAAqD;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,2BAAY,CAAC,CAAC;IACxC,+CAA+C;IAC/C,MAAM,WAAW,GAAG,aAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,aAAM,CAAC,CAAC;IAC9D,wBAAwB;IACxB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,WAAW,CAAC,MAAM,EAAE;QACtB,QAAQ,GAAG,MAAM,mCAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;KAC1E;IAED,yCAAyC;IACzC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,iBAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,eAAe;IACf,8CAA8C;IAC9C,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,+BAAmB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACnE,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,qBAAc,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,wCAAiB,CAC3C,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,EAAE,EACT,IAAI,CAAC,YAAY,CAClB,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAtED,8DAsEC"}
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
- const response = {
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 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
- groups.forEach((groupId) => {
28
- var _a, _b, _c;
29
- // get the group from the user's groups array
30
- const group = userGroups.find((g) => g.id === groupId);
31
- if (group) {
32
- if (((_a = group.userMembership) === null || _a === void 0 ? void 0 : _a.memberType) === "owner") {
33
- response.owner.push(groupId);
34
- }
35
- if (((_b = group.userMembership) === null || _b === void 0 ? void 0 : _b.memberType) === "admin") {
36
- response.admin.push(groupId);
37
- }
38
- // If user is just a member and the group is not view only
39
- if (((_c = group.userMembership) === null || _c === void 0 ? void 0 : _c.memberType) === "member" && !group.isViewOnly) {
40
- response.member.push(groupId);
41
- }
42
- // there is a `none` option in the userMembership but
43
- // that would never be returned in the user's groups
44
- // so we don't need to check for it
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,MAAM,QAAQ,GAAwB;QACpC,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;IAE5D,wBAAwB;IACxB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IACrC,iFAAiF;IACjF,4BAA4B;IAC5B,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;;QACzB,6CAA6C;QAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QACvD,IAAI,KAAK,EAAE;YACT,IAAI,OAAA,KAAK,CAAC,cAAc,0CAAE,UAAU,MAAK,OAAO,EAAE;gBAChD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9B;YACD,IAAI,OAAA,KAAK,CAAC,cAAc,0CAAE,UAAU,MAAK,OAAO,EAAE;gBAChD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9B;YACD,0DAA0D;YAC1D,IAAI,OAAA,KAAK,CAAC,cAAc,0CAAE,UAAU,MAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;gBACtE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC/B;YACD,qDAAqD;YACrD,oDAAoD;YACpD,mCAAmC;SACpC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AArCD,wDAqCC"}
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
- const userGroups = getUserGroupsFromQuery_1.getUserGroupsFromQuery(query, context.currentUser);
179
- if (!userGroups.owner.length &&
180
- !userGroups.admin.length &&
181
- !userGroups.member.length) {
182
- response.state = "disabled";
183
- response.reason = "not-in-groups";
184
- return response;
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 (wft.workflows.includes("existing")) {
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":"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"}
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
- // NOTE: other entities like site, group, and content gate this to alpha
55
- // but at least for now this is the only pane for users, so no gating
56
- // availability: ["alpha"],
57
- dependencies: ["hub:user:workspace", "hub:user:view"],
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:edit"],
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,wEAAwE;QACxE,qEAAqE;QACrE,2BAA2B;QAC3B,YAAY,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;KACtD;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,YAAY,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;KACtD;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,YAAY,EAAE,CAAC,eAAe,CAAC;KAChC;CACF,CAAC"}
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;
@@ -7,3 +7,4 @@ export * from "./hubSearchEvents";
7
7
  export * from "./hubSearchEventAttendees";
8
8
  export * from "./getWorkflowForType";
9
9
  export * from "./getCatalogGroups";
10
+ export * from "./getUserGroupsByMembership";
@@ -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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "14.193.0",
3
+ "version": "14.194.0",
4
4
  "description": "Common TypeScript types and utility functions for @esri/hub.js.",
5
5
  "main": "dist/node/index.js",
6
6
  "module": "dist/esm/index.js",