@esri/hub-common 14.193.0 → 14.195.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 (41) 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/downloads/_internal/file-url-fetchers/fetchExportImageDownloadFile.js +0 -1
  4. package/dist/esm/downloads/_internal/file-url-fetchers/fetchExportImageDownloadFile.js.map +1 -1
  5. package/dist/esm/downloads/_internal/file-url-fetchers/fetchHubApiDownloadFile.js +38 -13
  6. package/dist/esm/downloads/_internal/file-url-fetchers/fetchHubApiDownloadFile.js.map +1 -1
  7. package/dist/esm/downloads/types.js.map +1 -1
  8. package/dist/esm/search/_internal/getUserGroupsByMembership.js +42 -0
  9. package/dist/esm/search/_internal/getUserGroupsByMembership.js.map +1 -0
  10. package/dist/esm/search/_internal/getUserGroupsFromQuery.js +24 -25
  11. package/dist/esm/search/_internal/getUserGroupsFromQuery.js.map +1 -1
  12. package/dist/esm/search/_internal/index.js +1 -0
  13. package/dist/esm/search/_internal/index.js.map +1 -1
  14. package/dist/esm/search/getAddContentConfig.js +50 -8
  15. package/dist/esm/search/getAddContentConfig.js.map +1 -1
  16. package/dist/esm/users/_internal/UserBusinessRules.js +20 -5
  17. package/dist/esm/users/_internal/UserBusinessRules.js.map +1 -1
  18. package/dist/node/content/search.js +2 -0
  19. package/dist/node/content/search.js.map +1 -1
  20. package/dist/node/downloads/_internal/file-url-fetchers/fetchExportImageDownloadFile.js +0 -1
  21. package/dist/node/downloads/_internal/file-url-fetchers/fetchExportImageDownloadFile.js.map +1 -1
  22. package/dist/node/downloads/_internal/file-url-fetchers/fetchHubApiDownloadFile.js +38 -13
  23. package/dist/node/downloads/_internal/file-url-fetchers/fetchHubApiDownloadFile.js.map +1 -1
  24. package/dist/node/downloads/types.js.map +1 -1
  25. package/dist/node/search/_internal/getUserGroupsByMembership.js +46 -0
  26. package/dist/node/search/_internal/getUserGroupsByMembership.js.map +1 -0
  27. package/dist/node/search/_internal/getUserGroupsFromQuery.js +24 -25
  28. package/dist/node/search/_internal/getUserGroupsFromQuery.js.map +1 -1
  29. package/dist/node/search/_internal/index.js +1 -0
  30. package/dist/node/search/_internal/index.js.map +1 -1
  31. package/dist/node/search/getAddContentConfig.js +50 -8
  32. package/dist/node/search/getAddContentConfig.js.map +1 -1
  33. package/dist/node/users/_internal/UserBusinessRules.js +20 -5
  34. package/dist/node/users/_internal/UserBusinessRules.js.map +1 -1
  35. package/dist/types/downloads/_internal/file-url-fetchers/fetchHubApiDownloadFile.d.ts +3 -2
  36. package/dist/types/downloads/types.d.ts +33 -0
  37. package/dist/types/search/_internal/getUserGroupsByMembership.d.ts +16 -0
  38. package/dist/types/search/_internal/index.d.ts +1 -0
  39. package/dist/types/search/types/AddContentWorkflowTypes.d.ts +1 -1
  40. package/dist/types/users/_internal/UserBusinessRules.d.ts +1 -1
  41. 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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"}
@@ -37,7 +37,6 @@ export async function fetchExportImageDownloadFile(options) {
37
37
  // requestOptions.params.size = `${maxImageWidth},${maxImageHeight}`;
38
38
  // }
39
39
  const blob = await request(`${entity.url}/exportImage`, requestOptions);
40
- progressCallback && progressCallback(DownloadOperationStatus.COMPLETED);
41
40
  return {
42
41
  type: "blob",
43
42
  blob,
@@ -1 +1 @@
1
- {"version":3,"file":"fetchExportImageDownloadFile.js","sourceRoot":"","sources":["../../../../../src/downloads/_internal/file-url-fetchers/fetchExportImageDownloadFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetchExportImageDownloadFile.js","sourceRoot":"","sources":["../../../../../src/downloads/_internal/file-url-fetchers/fetchExportImageDownloadFile.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import HubError from "../../../HubError";
2
2
  import { getProp } from "../../../objects/get-prop";
3
+ import { wait } from "../../../utils/wait";
3
4
  import { ArcgisHubDownloadError, DownloadOperationStatus, ServiceDownloadFormat, } from "../../types";
4
5
  /**
5
6
  * @private
6
- * Fetches a download file url from the Hub Download API
7
+ * Fetches a download file url from the Hub Download API. If we know the file will be served from
8
+ * a cache, we also return the status of the cache.
7
9
  *
8
10
  * NOTE: The Hub Download API only works with a certain subset of Feature and Map services
9
11
  * and performs different operations (i.e., calling createReplica or paging the service's
@@ -13,13 +15,19 @@ import { ArcgisHubDownloadError, DownloadOperationStatus, ServiceDownloadFormat,
13
15
  * interface for downloading data from any service supported by the Hub Download API.
14
16
  *
15
17
  * @param options options for refining / filtering the resulting download file
16
- * @returns a url to download the file
18
+ * @returns the url to download the file and cache status
17
19
  */
18
20
  export async function fetchHubApiDownloadFile(options) {
19
21
  validateOptions(options);
20
22
  const requestUrl = getDownloadApiRequestUrl(options);
21
- const { pollInterval, progressCallback } = options;
22
- return pollDownloadApi(requestUrl, pollInterval, progressCallback);
23
+ const { pollInterval, updateCache, progressCallback } = options;
24
+ let cacheQueryParam;
25
+ if (updateCache) {
26
+ // The download api has 2 query params that can be used for controlling cache behavior.
27
+ // This one should only be used as part of an initial request to update the cache
28
+ cacheQueryParam = "updateCache";
29
+ }
30
+ return pollDownloadApi(requestUrl, pollInterval, cacheQueryParam, progressCallback);
23
31
  }
24
32
  function validateOptions(options) {
25
33
  const { layers = [] } = options;
@@ -41,7 +49,7 @@ function validateOptions(options) {
41
49
  * @returns a download api url that can be polled
42
50
  */
43
51
  function getDownloadApiRequestUrl(options) {
44
- const { entity, format, context, layers, geometry, where } = options;
52
+ const { entity, format, context, layers, geometry, where, updateCache } = options;
45
53
  const searchParams = new URLSearchParams({
46
54
  redirect: "false",
47
55
  layers: layers[0].toString(),
@@ -66,11 +74,21 @@ function getDownloadApiRequestUrl(options) {
66
74
  * Polls the Hub Download API until the download is ready, then returns the download file URL
67
75
  *
68
76
  * @param requestUrl Hub Download Api URL to poll
77
+ * @param pollInterval interval in milliseconds to poll for job completion
78
+ * @param cacheQueryParam an optional query param to control cache behavior. 'updateCache' should
79
+ * only be used with the initial request when a download cache update is desired. All subsequent
80
+ * requests should use'trackCacheUpdate' to follow the progress of the cache update.
81
+ * for subsequent requests when polling the progress of a cache update.
69
82
  * @param progressCallback an optional callback to report download generation progress
70
83
  * @returns the final file URL
71
84
  */
72
- async function pollDownloadApi(requestUrl, pollInterval, progressCallback) {
73
- const response = await fetch(requestUrl);
85
+ async function pollDownloadApi(requestUrl, pollInterval, cacheQueryParam, progressCallback) {
86
+ // If requested, append the cache query param to the request URL
87
+ let withCacheQueryParam = requestUrl;
88
+ if (cacheQueryParam) {
89
+ withCacheQueryParam = `${requestUrl}&${cacheQueryParam}=true`;
90
+ }
91
+ const response = await fetch(withCacheQueryParam);
74
92
  if (!response.ok) {
75
93
  const errorBody = await response.json();
76
94
  // TODO: Add standarized messageId when available
@@ -78,22 +96,29 @@ async function pollDownloadApi(requestUrl, pollInterval, progressCallback) {
78
96
  rawMessage: errorBody.message,
79
97
  });
80
98
  }
81
- const { status, progressInPercent, resultUrl } = await response.json();
99
+ const { status, progressInPercent, resultUrl, cacheStatus, } = await response.json();
82
100
  const operationStatus = toDownloadOperationStatus(status);
83
101
  if (operationStatus === DownloadOperationStatus.FAILED) {
84
102
  throw new HubError("fetchHubApiDownloadFileUrl", "Download operation failed with a 200");
85
103
  }
86
- progressCallback && progressCallback(operationStatus, progressInPercent);
87
- // Operation complete, return the download URL
88
104
  if (resultUrl) {
105
+ // Operation complete, return the download URL and cache status
89
106
  return {
90
107
  type: "url",
91
108
  href: resultUrl,
109
+ cacheStatus,
92
110
  };
93
111
  }
94
- // Operation still in progress, poll again
95
- await new Promise((resolve) => setTimeout(resolve, pollInterval));
96
- return pollDownloadApi(requestUrl, pollInterval, progressCallback);
112
+ // Operation still in progress. Report progress if a callback was provided and poll again.
113
+ progressCallback && progressCallback(operationStatus, progressInPercent);
114
+ await wait(pollInterval);
115
+ let updatedCacheQueryParam;
116
+ if (cacheQueryParam) {
117
+ // After an initial request with ?updateCache=true, we need to switch to ?trackCacheUpdate=true.
118
+ // This enables us to follow the progress of the cache update without causing an infinite update loop.
119
+ updatedCacheQueryParam = "trackCacheUpdate";
120
+ }
121
+ return pollDownloadApi(requestUrl, pollInterval, updatedCacheQueryParam, progressCallback);
97
122
  }
98
123
  /**
99
124
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"fetchHubApiDownloadFile.js","sourceRoot":"","sources":["../../../../../src/downloads/_internal/file-url-fetchers/fetchHubApiDownloadFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetchHubApiDownloadFile.js","sourceRoot":"","sources":["../../../../../src/downloads/_internal/file-url-fetchers/fetchHubApiDownloadFile.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/downloads/types.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC;QACpC,kBAAkB,EAAE,IAAI;KACzB;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC;QACpC,kBAAkB,EAAE,KAAK;KAC1B;IACD,SAAS,EAAE;QACT,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,CAAC,WAAW,CAAC;QACxB,kBAAkB,EAAE,IAAI;KACzB;IACD,eAAe,EAAE;QACf,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,CAAC,kBAAkB,CAAC;QAC/B,kBAAkB,EAAE,IAAI;KACzB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,CAAC,SAAS,CAAC;QACtB,kBAAkB,EAAE,KAAK;KAC1B;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,CAAC,iBAAiB,CAAC;QAC9B,kBAAkB,EAAE,IAAI;KACzB;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,CAAC,oBAAoB,CAAC;QACjC,kBAAkB,EAAE,IAAI;KACzB;CAOF,CAAC;AAKF;;GAEG;AACH,MAAM,CAAN,IAAY,qBA0BX;AA1BD,WAAY,qBAAqB;IAC/B,wBAAwB;IACxB,oCAAW,CAAA;IACX,oCAAW,CAAA;IACX,oCAAW,CAAA;IACX,2CAAkB,CAAA;IAClB,oCAAW,CAAA;IACX,sCAAa,CAAA;IACb,wCAAe,CAAA;IACf,sCAAa,CAAA;IACb,wCAAe,CAAA;IACf,oCAAW,CAAA;IACX,oCAAW,CAAA;IACX,sCAAa,CAAA;IAEb,gCAAgC;IAChC,oCAAW,CAAA;IACX,wCAAe,CAAA;IACf,iEAAwC,CAAA;IACxC,6CAAoB,CAAA;IACpB,4CAAmB,CAAA;IACnB,mDAA0B,CAAA;IAC1B,sCAAa,CAAA;IACb,oCAAW,CAAA;IACX,gDAAuB,CAAA;IACvB,0CAAiB,CAAA;AACnB,CAAC,EA1BW,qBAAqB,KAArB,qBAAqB,QA0BhC;AA0ED;;;GAGG;AACH,MAAM,CAAN,IAAY,uBAMX;AAND,WAAY,uBAAuB;IACjC,8CAAmB,CAAA;IACnB,oDAAyB,CAAA;IACzB,oDAAyB,CAAA;IACzB,kDAAuB,CAAA;IACvB,4CAAiB,CAAA;AACnB,CAAC,EANW,uBAAuB,KAAvB,uBAAuB,QAMlC;AAoBD;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAK/C,YAAY,OAAuC;QACjD,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/downloads/types.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC;QACpC,kBAAkB,EAAE,IAAI;KACzB;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC;QACpC,kBAAkB,EAAE,KAAK;KAC1B;IACD,SAAS,EAAE;QACT,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,CAAC,WAAW,CAAC;QACxB,kBAAkB,EAAE,IAAI;KACzB;IACD,eAAe,EAAE;QACf,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,CAAC,kBAAkB,CAAC;QAC/B,kBAAkB,EAAE,IAAI;KACzB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,CAAC,SAAS,CAAC;QACtB,kBAAkB,EAAE,KAAK;KAC1B;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,CAAC,iBAAiB,CAAC;QAC9B,kBAAkB,EAAE,IAAI;KACzB;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,CAAC,oBAAoB,CAAC;QACjC,kBAAkB,EAAE,IAAI;KACzB;CAOF,CAAC;AAKF;;GAEG;AACH,MAAM,CAAN,IAAY,qBA0BX;AA1BD,WAAY,qBAAqB;IAC/B,wBAAwB;IACxB,oCAAW,CAAA;IACX,oCAAW,CAAA;IACX,oCAAW,CAAA;IACX,2CAAkB,CAAA;IAClB,oCAAW,CAAA;IACX,sCAAa,CAAA;IACb,wCAAe,CAAA;IACf,sCAAa,CAAA;IACb,wCAAe,CAAA;IACf,oCAAW,CAAA;IACX,oCAAW,CAAA;IACX,sCAAa,CAAA;IAEb,gCAAgC;IAChC,oCAAW,CAAA;IACX,wCAAe,CAAA;IACf,iEAAwC,CAAA;IACxC,6CAAoB,CAAA;IACpB,4CAAmB,CAAA;IACnB,mDAA0B,CAAA;IAC1B,sCAAa,CAAA;IACb,oCAAW,CAAA;IACX,gDAAuB,CAAA;IACvB,0CAAiB,CAAA;AACnB,CAAC,EA1BW,qBAAqB,KAArB,qBAAqB,QA0BhC;AA4GD;;;GAGG;AACH,MAAM,CAAN,IAAY,uBAMX;AAND,WAAY,uBAAuB;IACjC,8CAAmB,CAAA;IACnB,oDAAyB,CAAA;IACzB,oDAAyB,CAAA;IACzB,kDAAuB,CAAA;IACvB,4CAAiB,CAAA;AACnB,CAAC,EANW,uBAAuB,KAAvB,uBAAuB,QAMlC;AAoBD;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAK/C,YAAY,OAAuC;QACjD,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;CACF"}
@@ -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":"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"}
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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"}
@@ -40,7 +40,6 @@ async function fetchExportImageDownloadFile(options) {
40
40
  // requestOptions.params.size = `${maxImageWidth},${maxImageHeight}`;
41
41
  // }
42
42
  const blob = await arcgis_rest_request_1.request(`${entity.url}/exportImage`, requestOptions);
43
- progressCallback && progressCallback(types_1.DownloadOperationStatus.COMPLETED);
44
43
  return {
45
44
  type: "blob",
46
45
  blob,
@@ -1 +1 @@
1
- {"version":3,"file":"fetchExportImageDownloadFile.js","sourceRoot":"","sources":["../../../../../src/downloads/_internal/file-url-fetchers/fetchExportImageDownloadFile.ts"],"names":[],"mappings":";;;AAAA,mEAAoD;AACpD,uCAKqB;AACrB,gDAAyC;AACzC,wDAAoD;AAIpD;;;;;;;GAOG;AACI,KAAK,UAAU,4BAA4B,CAChD,OAAkC;IAElC,eAAe,CAAC,OAAO,CAAC,CAAC;IAEzB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAC9D,gBAAgB,IAAI,gBAAgB,CAAC,+BAAuB,CAAC,OAAO,CAAC,CAAC;IAEtE,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAC1C,iDAAiD;IACjD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAEzC,MAAM,cAAc,qBAAQ,OAAO,CAAC,cAAc,CAAE,CAAC;IACrD,cAAc,CAAC,UAAU,GAAG,KAAK,CAAC;IAClC,cAAc,CAAC,MAAM,GAAG;QACtB,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;QACvC,MAAM,EAAE,GAAG,IAAI,EAAE;QACjB,CAAC,EAAE,OAAO;QACV,MAAM;QACN,UAAU,EACR,sFAAsF;KACzF,CAAC;IAEF,8FAA8F;IAC9F,gGAAgG;IAChG,qCAAqC;IACrC,EAAE;IACF,4CAA4C;IAC5C,mDAAmD;IACnD,yCAAyC;IACzC,uEAAuE;IACvE,IAAI;IAEJ,MAAM,IAAI,GAAS,MAAM,6BAAO,CAAC,GAAG,MAAM,CAAC,GAAG,cAAc,EAAE,cAAc,CAAC,CAAC;IAC9E,gBAAgB,IAAI,gBAAgB,CAAC,+BAAuB,CAAC,SAAS,CAAC,CAAC;IACxE,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,IAAI;QACJ,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,MAA2B,CAAC;KAC/D,CAAC;AACJ,CAAC;AAzCD,oEAyCC;AAED,SAAS,eAAe,CAAC,OAAkC;IACzD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAE7B,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC1C,MAAM,IAAI,kBAAQ,CAChB,iCAAiC,EACjC,uEAAuE,CACxE,CAAC;KACH;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAkC;IAElC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACrC,MAAM,YAAY,GAAG,kBAAO,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;IAEpE,sEAAsE;IACtE,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,QAAQ,EAAE;QACZ,MAAM,GAAG,QAAyB,CAAC;KACpC;SAAM,IAAI,YAAY,EAAE;QACvB,MAAM,GAAG,YAAY,CAAC;KACvB;IAED,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,kBAAQ,CAChB,iCAAiC,EACjC,6CAA6C,CAC9C,CAAC;KACH;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CACtB,MAA2B,EAC3B,MAAyB;IAEzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,kBAAO,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,6BAAqB,CAAC,GAAG,CAAC;QAC1D,CAAC,CAAC,+EAA+E;YAC/E,6BAAqB,CAAC,GAAG;QAC3B,CAAC,CAAC,MAAM,CAAC;IACX,OAAO,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"fetchExportImageDownloadFile.js","sourceRoot":"","sources":["../../../../../src/downloads/_internal/file-url-fetchers/fetchExportImageDownloadFile.ts"],"names":[],"mappings":";;;AAAA,mEAAoD;AACpD,uCAKqB;AACrB,gDAAyC;AACzC,wDAAoD;AAIpD;;;;;;;GAOG;AACI,KAAK,UAAU,4BAA4B,CAChD,OAAkC;IAElC,eAAe,CAAC,OAAO,CAAC,CAAC;IAEzB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAC9D,gBAAgB,IAAI,gBAAgB,CAAC,+BAAuB,CAAC,OAAO,CAAC,CAAC;IAEtE,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAC1C,iDAAiD;IACjD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAEzC,MAAM,cAAc,qBAAQ,OAAO,CAAC,cAAc,CAAE,CAAC;IACrD,cAAc,CAAC,UAAU,GAAG,KAAK,CAAC;IAClC,cAAc,CAAC,MAAM,GAAG;QACtB,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;QACvC,MAAM,EAAE,GAAG,IAAI,EAAE;QACjB,CAAC,EAAE,OAAO;QACV,MAAM;QACN,UAAU,EACR,sFAAsF;KACzF,CAAC;IAEF,8FAA8F;IAC9F,gGAAgG;IAChG,qCAAqC;IACrC,EAAE;IACF,4CAA4C;IAC5C,mDAAmD;IACnD,yCAAyC;IACzC,uEAAuE;IACvE,IAAI;IAEJ,MAAM,IAAI,GAAS,MAAM,6BAAO,CAAC,GAAG,MAAM,CAAC,GAAG,cAAc,EAAE,cAAc,CAAC,CAAC;IAC9E,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,IAAI;QACJ,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,MAA2B,CAAC;KAC/D,CAAC;AACJ,CAAC;AAxCD,oEAwCC;AAED,SAAS,eAAe,CAAC,OAAkC;IACzD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAE7B,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC1C,MAAM,IAAI,kBAAQ,CAChB,iCAAiC,EACjC,uEAAuE,CACxE,CAAC;KACH;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAkC;IAElC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACrC,MAAM,YAAY,GAAG,kBAAO,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;IAEpE,sEAAsE;IACtE,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,QAAQ,EAAE;QACZ,MAAM,GAAG,QAAyB,CAAC;KACpC;SAAM,IAAI,YAAY,EAAE;QACvB,MAAM,GAAG,YAAY,CAAC;KACvB;IAED,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,kBAAQ,CAChB,iCAAiC,EACjC,6CAA6C,CAC9C,CAAC;KACH;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CACtB,MAA2B,EAC3B,MAAyB;IAEzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,kBAAO,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,6BAAqB,CAAC,GAAG,CAAC;QAC1D,CAAC,CAAC,+EAA+E;YAC/E,6BAAqB,CAAC,GAAG;QAC3B,CAAC,CAAC,MAAM,CAAC;IACX,OAAO,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC;AAChC,CAAC"}
@@ -3,10 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fetchHubApiDownloadFile = void 0;
4
4
  const HubError_1 = require("../../../HubError");
5
5
  const get_prop_1 = require("../../../objects/get-prop");
6
+ const wait_1 = require("../../../utils/wait");
6
7
  const types_1 = require("../../types");
7
8
  /**
8
9
  * @private
9
- * Fetches a download file url from the Hub Download API
10
+ * Fetches a download file url from the Hub Download API. If we know the file will be served from
11
+ * a cache, we also return the status of the cache.
10
12
  *
11
13
  * NOTE: The Hub Download API only works with a certain subset of Feature and Map services
12
14
  * and performs different operations (i.e., calling createReplica or paging the service's
@@ -16,13 +18,19 @@ const types_1 = require("../../types");
16
18
  * interface for downloading data from any service supported by the Hub Download API.
17
19
  *
18
20
  * @param options options for refining / filtering the resulting download file
19
- * @returns a url to download the file
21
+ * @returns the url to download the file and cache status
20
22
  */
21
23
  async function fetchHubApiDownloadFile(options) {
22
24
  validateOptions(options);
23
25
  const requestUrl = getDownloadApiRequestUrl(options);
24
- const { pollInterval, progressCallback } = options;
25
- return pollDownloadApi(requestUrl, pollInterval, progressCallback);
26
+ const { pollInterval, updateCache, progressCallback } = options;
27
+ let cacheQueryParam;
28
+ if (updateCache) {
29
+ // The download api has 2 query params that can be used for controlling cache behavior.
30
+ // This one should only be used as part of an initial request to update the cache
31
+ cacheQueryParam = "updateCache";
32
+ }
33
+ return pollDownloadApi(requestUrl, pollInterval, cacheQueryParam, progressCallback);
26
34
  }
27
35
  exports.fetchHubApiDownloadFile = fetchHubApiDownloadFile;
28
36
  function validateOptions(options) {
@@ -45,7 +53,7 @@ function validateOptions(options) {
45
53
  * @returns a download api url that can be polled
46
54
  */
47
55
  function getDownloadApiRequestUrl(options) {
48
- const { entity, format, context, layers, geometry, where } = options;
56
+ const { entity, format, context, layers, geometry, where, updateCache } = options;
49
57
  const searchParams = new URLSearchParams({
50
58
  redirect: "false",
51
59
  layers: layers[0].toString(),
@@ -70,11 +78,21 @@ function getDownloadApiRequestUrl(options) {
70
78
  * Polls the Hub Download API until the download is ready, then returns the download file URL
71
79
  *
72
80
  * @param requestUrl Hub Download Api URL to poll
81
+ * @param pollInterval interval in milliseconds to poll for job completion
82
+ * @param cacheQueryParam an optional query param to control cache behavior. 'updateCache' should
83
+ * only be used with the initial request when a download cache update is desired. All subsequent
84
+ * requests should use'trackCacheUpdate' to follow the progress of the cache update.
85
+ * for subsequent requests when polling the progress of a cache update.
73
86
  * @param progressCallback an optional callback to report download generation progress
74
87
  * @returns the final file URL
75
88
  */
76
- async function pollDownloadApi(requestUrl, pollInterval, progressCallback) {
77
- const response = await fetch(requestUrl);
89
+ async function pollDownloadApi(requestUrl, pollInterval, cacheQueryParam, progressCallback) {
90
+ // If requested, append the cache query param to the request URL
91
+ let withCacheQueryParam = requestUrl;
92
+ if (cacheQueryParam) {
93
+ withCacheQueryParam = `${requestUrl}&${cacheQueryParam}=true`;
94
+ }
95
+ const response = await fetch(withCacheQueryParam);
78
96
  if (!response.ok) {
79
97
  const errorBody = await response.json();
80
98
  // TODO: Add standarized messageId when available
@@ -82,22 +100,29 @@ async function pollDownloadApi(requestUrl, pollInterval, progressCallback) {
82
100
  rawMessage: errorBody.message,
83
101
  });
84
102
  }
85
- const { status, progressInPercent, resultUrl } = await response.json();
103
+ const { status, progressInPercent, resultUrl, cacheStatus, } = await response.json();
86
104
  const operationStatus = toDownloadOperationStatus(status);
87
105
  if (operationStatus === types_1.DownloadOperationStatus.FAILED) {
88
106
  throw new HubError_1.default("fetchHubApiDownloadFileUrl", "Download operation failed with a 200");
89
107
  }
90
- progressCallback && progressCallback(operationStatus, progressInPercent);
91
- // Operation complete, return the download URL
92
108
  if (resultUrl) {
109
+ // Operation complete, return the download URL and cache status
93
110
  return {
94
111
  type: "url",
95
112
  href: resultUrl,
113
+ cacheStatus,
96
114
  };
97
115
  }
98
- // Operation still in progress, poll again
99
- await new Promise((resolve) => setTimeout(resolve, pollInterval));
100
- return pollDownloadApi(requestUrl, pollInterval, progressCallback);
116
+ // Operation still in progress. Report progress if a callback was provided and poll again.
117
+ progressCallback && progressCallback(operationStatus, progressInPercent);
118
+ await wait_1.wait(pollInterval);
119
+ let updatedCacheQueryParam;
120
+ if (cacheQueryParam) {
121
+ // After an initial request with ?updateCache=true, we need to switch to ?trackCacheUpdate=true.
122
+ // This enables us to follow the progress of the cache update without causing an infinite update loop.
123
+ updatedCacheQueryParam = "trackCacheUpdate";
124
+ }
125
+ return pollDownloadApi(requestUrl, pollInterval, updatedCacheQueryParam, progressCallback);
101
126
  }
102
127
  /**
103
128
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"fetchHubApiDownloadFile.js","sourceRoot":"","sources":["../../../../../src/downloads/_internal/file-url-fetchers/fetchHubApiDownloadFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetchHubApiDownloadFile.js","sourceRoot":"","sources":["../../../../../src/downloads/_internal/file-url-fetchers/fetchHubApiDownloadFile.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/downloads/types.ts"],"names":[],"mappings":";;;AAGA;;;;GAIG;AACU,QAAA,mBAAmB,GAAG;IACjC,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC;QACpC,kBAAkB,EAAE,IAAI;KACzB;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC;QACpC,kBAAkB,EAAE,KAAK;KAC1B;IACD,SAAS,EAAE;QACT,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,CAAC,WAAW,CAAC;QACxB,kBAAkB,EAAE,IAAI;KACzB;IACD,eAAe,EAAE;QACf,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,CAAC,kBAAkB,CAAC;QAC/B,kBAAkB,EAAE,IAAI;KACzB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,CAAC,SAAS,CAAC;QACtB,kBAAkB,EAAE,KAAK;KAC1B;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,CAAC,iBAAiB,CAAC;QAC9B,kBAAkB,EAAE,IAAI;KACzB;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,CAAC,oBAAoB,CAAC;QACjC,kBAAkB,EAAE,IAAI;KACzB;CAOF,CAAC;AAKF;;GAEG;AACH,IAAY,qBA0BX;AA1BD,WAAY,qBAAqB;IAC/B,wBAAwB;IACxB,oCAAW,CAAA;IACX,oCAAW,CAAA;IACX,oCAAW,CAAA;IACX,2CAAkB,CAAA;IAClB,oCAAW,CAAA;IACX,sCAAa,CAAA;IACb,wCAAe,CAAA;IACf,sCAAa,CAAA;IACb,wCAAe,CAAA;IACf,oCAAW,CAAA;IACX,oCAAW,CAAA;IACX,sCAAa,CAAA;IAEb,gCAAgC;IAChC,oCAAW,CAAA;IACX,wCAAe,CAAA;IACf,iEAAwC,CAAA;IACxC,6CAAoB,CAAA;IACpB,4CAAmB,CAAA;IACnB,mDAA0B,CAAA;IAC1B,sCAAa,CAAA;IACb,oCAAW,CAAA;IACX,gDAAuB,CAAA;IACvB,0CAAiB,CAAA;AACnB,CAAC,EA1BW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QA0BhC;AA0ED;;;GAGG;AACH,IAAY,uBAMX;AAND,WAAY,uBAAuB;IACjC,8CAAmB,CAAA;IACnB,oDAAyB,CAAA;IACzB,oDAAyB,CAAA;IACzB,kDAAuB,CAAA;IACvB,4CAAiB,CAAA;AACnB,CAAC,EANW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAMlC;AAoBD;;GAEG;AACH,MAAa,sBAAuB,SAAQ,KAAK;IAK/C,YAAY,OAAuC;QACjD,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;CACF;AAZD,wDAYC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/downloads/types.ts"],"names":[],"mappings":";;;AAGA;;;;GAIG;AACU,QAAA,mBAAmB,GAAG;IACjC,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC;QACpC,kBAAkB,EAAE,IAAI;KACzB;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC;QACpC,kBAAkB,EAAE,KAAK;KAC1B;IACD,SAAS,EAAE;QACT,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,CAAC,WAAW,CAAC;QACxB,kBAAkB,EAAE,IAAI;KACzB;IACD,eAAe,EAAE;QACf,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,CAAC,kBAAkB,CAAC;QAC/B,kBAAkB,EAAE,IAAI;KACzB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,CAAC,SAAS,CAAC;QACtB,kBAAkB,EAAE,KAAK;KAC1B;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,CAAC,iBAAiB,CAAC;QAC9B,kBAAkB,EAAE,IAAI;KACzB;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,CAAC,oBAAoB,CAAC;QACjC,kBAAkB,EAAE,IAAI;KACzB;CAOF,CAAC;AAKF;;GAEG;AACH,IAAY,qBA0BX;AA1BD,WAAY,qBAAqB;IAC/B,wBAAwB;IACxB,oCAAW,CAAA;IACX,oCAAW,CAAA;IACX,oCAAW,CAAA;IACX,2CAAkB,CAAA;IAClB,oCAAW,CAAA;IACX,sCAAa,CAAA;IACb,wCAAe,CAAA;IACf,sCAAa,CAAA;IACb,wCAAe,CAAA;IACf,oCAAW,CAAA;IACX,oCAAW,CAAA;IACX,sCAAa,CAAA;IAEb,gCAAgC;IAChC,oCAAW,CAAA;IACX,wCAAe,CAAA;IACf,iEAAwC,CAAA;IACxC,6CAAoB,CAAA;IACpB,4CAAmB,CAAA;IACnB,mDAA0B,CAAA;IAC1B,sCAAa,CAAA;IACb,oCAAW,CAAA;IACX,gDAAuB,CAAA;IACvB,0CAAiB,CAAA;AACnB,CAAC,EA1BW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QA0BhC;AA4GD;;;GAGG;AACH,IAAY,uBAMX;AAND,WAAY,uBAAuB;IACjC,8CAAmB,CAAA;IACnB,oDAAyB,CAAA;IACzB,oDAAyB,CAAA;IACzB,kDAAuB,CAAA;IACvB,4CAAiB,CAAA;AACnB,CAAC,EANW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAMlC;AAoBD;;GAEG;AACH,MAAa,sBAAuB,SAAQ,KAAK;IAK/C,YAAY,OAAuC;QACjD,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;CACF;AAZD,wDAYC"}
@@ -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"}
@@ -1,7 +1,8 @@
1
1
  import { IFetchDownloadFileOptions, IFetchDownloadFileResponse } from "../../types";
2
2
  /**
3
3
  * @private
4
- * Fetches a download file url from the Hub Download API
4
+ * Fetches a download file url from the Hub Download API. If we know the file will be served from
5
+ * a cache, we also return the status of the cache.
5
6
  *
6
7
  * NOTE: The Hub Download API only works with a certain subset of Feature and Map services
7
8
  * and performs different operations (i.e., calling createReplica or paging the service's
@@ -11,6 +12,6 @@ import { IFetchDownloadFileOptions, IFetchDownloadFileResponse } from "../../typ
11
12
  * interface for downloading data from any service supported by the Hub Download API.
12
13
  *
13
14
  * @param options options for refining / filtering the resulting download file
14
- * @returns a url to download the file
15
+ * @returns the url to download the file and cache status
15
16
  */
16
17
  export declare function fetchHubApiDownloadFile(options: IFetchDownloadFileOptions): Promise<IFetchDownloadFileResponse>;
@@ -113,16 +113,49 @@ export interface IFetchDownloadFileOptions {
113
113
  where?: string;
114
114
  progressCallback?: downloadProgressCallback;
115
115
  pollInterval?: number;
116
+ updateCache?: boolean;
116
117
  }
118
+ /**
119
+ * Response object for the fetchDownloadFile operation.
120
+ * The response object will contain either a Blob or a URL,
121
+ * depending on the type of download operation that was performed.
122
+ */
117
123
  export declare type IFetchDownloadFileResponse = IFetchDownloadFileBlobResponse | IFetchDownloadFileUrlResponse;
124
+ /**
125
+ * Base interface for all fetchDownloadFile response objects.
126
+ */
118
127
  interface IBaseFetchDownloadFileResponse {
119
128
  type: "blob" | "url";
129
+ /**
130
+ * If the response comes from our cache rather than a live download,
131
+ * indicates the status of the cached file
132
+ */
133
+ cacheStatus?: DownloadCacheStatus;
120
134
  }
135
+ /**
136
+ * Represents the status of a cached download file.
137
+ * - `ready` indicates that the file has up-to-date data
138
+ * - `ready_unknown` indicates that we don't know if the file is up-to-date
139
+ * - `stale` indicates that the file is out-of-date
140
+ */
141
+ export declare type DownloadCacheStatus = "ready" | "ready_unknown" | "stale";
142
+ /**
143
+ * Response object for the fetchDownloadFile operation when the response is a Blob.
144
+ */
121
145
  export interface IFetchDownloadFileBlobResponse extends IBaseFetchDownloadFileResponse {
122
146
  type: "blob";
147
+ /**
148
+ * The Blob object that contains the download file.
149
+ */
123
150
  blob: Blob;
151
+ /**
152
+ * The name to assign to the file when saving it to disk.
153
+ */
124
154
  filename: string;
125
155
  }
156
+ /**
157
+ * Response object for the fetchDownloadFile operation when the response is a URL.
158
+ */
126
159
  export interface IFetchDownloadFileUrlResponse extends IBaseFetchDownloadFileResponse {
127
160
  type: "url";
128
161
  href: string;
@@ -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.195.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",