@esri/hub-common 14.27.0 → 14.29.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.
@@ -20,6 +20,7 @@ export const ContentPermissions = [
20
20
  "hub:content:workspace:details",
21
21
  "hub:content:workspace:discussion",
22
22
  "hub:content:workspace:settings",
23
+ "hub:content:workspace:collaborators",
23
24
  "hub:content:manage",
24
25
  ];
25
26
  /**
@@ -73,6 +74,10 @@ export const ContentPermissionPolicies = [
73
74
  dependencies: ["hub:content:edit"],
74
75
  entityOwner: true,
75
76
  },
77
+ {
78
+ permission: "hub:content:workspace:collaborators",
79
+ dependencies: ["hub:content:edit"],
80
+ },
76
81
  {
77
82
  permission: "hub:content:manage",
78
83
  dependencies: ["hub:content:edit"],
@@ -1 +1 @@
1
- {"version":3,"file":"ContentBusinessRules.js","sourceRoot":"","sources":["../../../../src/content/_internal/ContentBusinessRules.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAkB;AACnD,mEAAmE;CACpE,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,oBAAoB;IACpB,kCAAkC;IAClC,wBAAwB;IACxB,kBAAkB;IAClB,kBAAkB;IAClB,gCAAgC;IAChC,iCAAiC;IACjC,+BAA+B;IAC/B,kCAAkC;IAClC,gCAAgC;IAChC,oBAAoB;CACZ,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAwB;IAC5D;QACE,UAAU,EAAE,oBAAoB;QAChC,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;KACvC;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,aAAa,EAAE,KAAK;KACrB;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,UAAU,EAAE,IAAI;KACjB;IACD,iCAAiC;IACjC,IAAI;IACJ,sCAAsC;IACtC,yBAAyB;IACzB,uBAAuB;IACvB,gEAAgE;IAChE,KAAK;IACL;QACE,UAAU,EAAE,gCAAgC;QAC5C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,iCAAiC;QAC7C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,+BAA+B;QAC3C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,kCAAkC;QAC9C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,gCAAgC;QAC5C,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAClC,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;CACF,CAAC"}
1
+ {"version":3,"file":"ContentBusinessRules.js","sourceRoot":"","sources":["../../../../src/content/_internal/ContentBusinessRules.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAkB;AACnD,mEAAmE;CACpE,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,oBAAoB;IACpB,kCAAkC;IAClC,wBAAwB;IACxB,kBAAkB;IAClB,kBAAkB;IAClB,gCAAgC;IAChC,iCAAiC;IACjC,+BAA+B;IAC/B,kCAAkC;IAClC,gCAAgC;IAChC,qCAAqC;IACrC,oBAAoB;CACZ,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAwB;IAC5D;QACE,UAAU,EAAE,oBAAoB;QAChC,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;KACvC;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,aAAa,EAAE,KAAK;KACrB;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,UAAU,EAAE,IAAI;KACjB;IACD,iCAAiC;IACjC,IAAI;IACJ,sCAAsC;IACtC,yBAAyB;IACzB,uBAAuB;IACvB,gEAAgE;IAChE,KAAK;IACL;QACE,UAAU,EAAE,gCAAgC;QAC5C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,iCAAiC;QAC7C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,+BAA+B;QAC3C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,kCAAkC;QAC9C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,gCAAgC;QAC5C,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAClC,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,qCAAqC;QACjD,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;CACF,CAAC"}
@@ -16,7 +16,7 @@ export function computeLinks(group, requestOptions) {
16
16
  }
17
17
  return {
18
18
  self: getGroupHomeUrl(group.id, requestOptions),
19
- siteRelative: `/teams/${group.id}`,
19
+ siteRelative: `/groups/${group.id}`,
20
20
  workspaceRelative: getRelativeWorkspaceUrl("Group", group.id),
21
21
  thumbnail: getGroupThumbnailUrl(requestOptions.portal, group, token),
22
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"computeLinks.js","sourceRoot":"","sources":["../../../../src/groups/_internal/computeLinks.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,cAA+B;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IAED,OAAO;QACL,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,cAAc,CAAC;QAC/C,YAAY,EAAE,UAAU,KAAK,CAAC,EAAE,EAAE;QAClC,iBAAiB,EAAE,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7D,SAAS,EAAE,oBAAoB,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;KACrE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"computeLinks.js","sourceRoot":"","sources":["../../../../src/groups/_internal/computeLinks.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,cAA+B;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IAED,OAAO;QACL,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,cAAc,CAAC;QAC/C,YAAY,EAAE,WAAW,KAAK,CAAC,EAAE,EAAE;QACnC,iBAAiB,EAAE,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7D,SAAS,EAAE,oBAAoB,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;KACrE,CAAC;AACJ,CAAC"}
@@ -22,4 +22,5 @@ export * from "./dasherize";
22
22
  export * from "./titleize";
23
23
  export * from "./memoize";
24
24
  export * from "./getEnvironmentFromPortalUrl";
25
+ export * from "./poll";
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Function to poll a provided request until a validation
3
+ * state or timeout is reached
4
+ * @param requestFn
5
+ * @param validationFn
6
+ * @param opts
7
+ */
8
+ export const poll = async (requestFn, validationFn, opts) => {
9
+ const options = opts || /* istanbul ignore next - must pass in overrides for tests */ {};
10
+ const timeout = options.timeout || 30000;
11
+ const timeBetweenRequests = options.timeBetweenRequests ||
12
+ /* istanbul ignore next - cannot delay by this much in tests */ 3000;
13
+ let resp;
14
+ let requestCount = 0;
15
+ do {
16
+ // On subsequent requests, check if the timeout has been reached
17
+ // If YES: throw an error
18
+ // If NO: delay before the next request
19
+ if (requestCount > 0) {
20
+ if (requestCount * timeBetweenRequests >= timeout) {
21
+ throw new Error("Polling timeout");
22
+ }
23
+ await delay(timeBetweenRequests);
24
+ }
25
+ resp = await requestFn();
26
+ requestCount++;
27
+ } while (!validationFn(resp));
28
+ return resp;
29
+ };
30
+ const delay = (milliseconds) => {
31
+ return new Promise((resolve) => setTimeout(resolve, milliseconds));
32
+ };
33
+ //# sourceMappingURL=poll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poll.js","sourceRoot":"","sources":["../../../src/utils/poll.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EACvB,SAAoB,EACpB,YAAoC,EACpC,IAGC,EACa,EAAE;IAChB,MAAM,OAAO,GACX,IAAI,IAAI,6DAA6D,CAAC,EAAE,CAAC;IAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,MAAM,mBAAmB,GACvB,OAAO,CAAC,mBAAmB;QAC3B,+DAA+D,CAAC,IAAI,CAAC;IAEvE,IAAI,IAAS,CAAC;IACd,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,GAAG;QACD,gEAAgE;QAChE,yBAAyB;QACzB,uCAAuC;QACvC,IAAI,YAAY,GAAG,CAAC,EAAE;YACpB,IAAI,YAAY,GAAG,mBAAmB,IAAI,OAAO,EAAE;gBACjD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;aACpC;YACD,MAAM,KAAK,CAAC,mBAAmB,CAAC,CAAC;SAClC;QAED,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;QACzB,YAAY,EAAE,CAAC;KAChB,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;IAE9B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,YAAoB,EAAE,EAAE;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC"}
@@ -23,6 +23,7 @@ exports.ContentPermissions = [
23
23
  "hub:content:workspace:details",
24
24
  "hub:content:workspace:discussion",
25
25
  "hub:content:workspace:settings",
26
+ "hub:content:workspace:collaborators",
26
27
  "hub:content:manage",
27
28
  ];
28
29
  /**
@@ -76,6 +77,10 @@ exports.ContentPermissionPolicies = [
76
77
  dependencies: ["hub:content:edit"],
77
78
  entityOwner: true,
78
79
  },
80
+ {
81
+ permission: "hub:content:workspace:collaborators",
82
+ dependencies: ["hub:content:edit"],
83
+ },
79
84
  {
80
85
  permission: "hub:content:manage",
81
86
  dependencies: ["hub:content:edit"],
@@ -1 +1 @@
1
- {"version":3,"file":"ContentBusinessRules.js","sourceRoot":"","sources":["../../../../src/content/_internal/ContentBusinessRules.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,sBAAsB,GAAkB;AACnD,mEAAmE;CACpE,CAAC;AAEF;;;;GAIG;AACU,QAAA,kBAAkB,GAAG;IAChC,oBAAoB;IACpB,kCAAkC;IAClC,wBAAwB;IACxB,kBAAkB;IAClB,kBAAkB;IAClB,gCAAgC;IAChC,iCAAiC;IACjC,+BAA+B;IAC/B,kCAAkC;IAClC,gCAAgC;IAChC,oBAAoB;CACZ,CAAC;AAEX;;;;GAIG;AACU,QAAA,yBAAyB,GAAwB;IAC5D;QACE,UAAU,EAAE,oBAAoB;QAChC,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;KACvC;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,aAAa,EAAE,KAAK;KACrB;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,UAAU,EAAE,IAAI;KACjB;IACD,iCAAiC;IACjC,IAAI;IACJ,sCAAsC;IACtC,yBAAyB;IACzB,uBAAuB;IACvB,gEAAgE;IAChE,KAAK;IACL;QACE,UAAU,EAAE,gCAAgC;QAC5C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,iCAAiC;QAC7C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,+BAA+B;QAC3C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,kCAAkC;QAC9C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,gCAAgC;QAC5C,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAClC,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;CACF,CAAC"}
1
+ {"version":3,"file":"ContentBusinessRules.js","sourceRoot":"","sources":["../../../../src/content/_internal/ContentBusinessRules.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,sBAAsB,GAAkB;AACnD,mEAAmE;CACpE,CAAC;AAEF;;;;GAIG;AACU,QAAA,kBAAkB,GAAG;IAChC,oBAAoB;IACpB,kCAAkC;IAClC,wBAAwB;IACxB,kBAAkB;IAClB,kBAAkB;IAClB,gCAAgC;IAChC,iCAAiC;IACjC,+BAA+B;IAC/B,kCAAkC;IAClC,gCAAgC;IAChC,qCAAqC;IACrC,oBAAoB;CACZ,CAAC;AAEX;;;;GAIG;AACU,QAAA,yBAAyB,GAAwB;IAC5D;QACE,UAAU,EAAE,oBAAoB;QAChC,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;KACvC;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,aAAa,EAAE,KAAK;KACrB;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,UAAU,EAAE,IAAI;KACjB;IACD,iCAAiC;IACjC,IAAI;IACJ,sCAAsC;IACtC,yBAAyB;IACzB,uBAAuB;IACvB,gEAAgE;IAChE,KAAK;IACL;QACE,UAAU,EAAE,gCAAgC;QAC5C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,iCAAiC;QAC7C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,+BAA+B;QAC3C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,kCAAkC;QAC9C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,gCAAgC;QAC5C,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAClC,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,qCAAqC;QACjD,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;CACF,CAAC"}
@@ -19,7 +19,7 @@ function computeLinks(group, requestOptions) {
19
19
  }
20
20
  return {
21
21
  self: getGroupHomeUrl_1.getGroupHomeUrl(group.id, requestOptions),
22
- siteRelative: `/teams/${group.id}`,
22
+ siteRelative: `/groups/${group.id}`,
23
23
  workspaceRelative: getRelativeWorkspaceUrl_1.getRelativeWorkspaceUrl("Group", group.id),
24
24
  thumbnail: utils_1.getGroupThumbnailUrl(requestOptions.portal, group, token),
25
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"computeLinks.js","sourceRoot":"","sources":["../../../../src/groups/_internal/computeLinks.ts"],"names":[],"mappings":";;;AAIA,gFAA6E;AAC7E,gEAA6D;AAC7D,8CAA0D;AAE1D;;;;;;GAMG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,cAA+B;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IAED,OAAO;QACL,IAAI,EAAE,iCAAe,CAAC,KAAK,CAAC,EAAE,EAAE,cAAc,CAAC;QAC/C,YAAY,EAAE,UAAU,KAAK,CAAC,EAAE,EAAE;QAClC,iBAAiB,EAAE,iDAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7D,SAAS,EAAE,4BAAoB,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;KACrE,CAAC;AACJ,CAAC;AAhBD,oCAgBC"}
1
+ {"version":3,"file":"computeLinks.js","sourceRoot":"","sources":["../../../../src/groups/_internal/computeLinks.ts"],"names":[],"mappings":";;;AAIA,gFAA6E;AAC7E,gEAA6D;AAC7D,8CAA0D;AAE1D;;;;;;GAMG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,cAA+B;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IAED,OAAO;QACL,IAAI,EAAE,iCAAe,CAAC,KAAK,CAAC,EAAE,EAAE,cAAc,CAAC;QAC/C,YAAY,EAAE,WAAW,KAAK,CAAC,EAAE,EAAE;QACnC,iBAAiB,EAAE,iDAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7D,SAAS,EAAE,4BAAoB,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;KACrE,CAAC;AACJ,CAAC;AAhBD,oCAgBC"}
@@ -25,4 +25,5 @@ tslib_1.__exportStar(require("./dasherize"), exports);
25
25
  tslib_1.__exportStar(require("./titleize"), exports);
26
26
  tslib_1.__exportStar(require("./memoize"), exports);
27
27
  tslib_1.__exportStar(require("./getEnvironmentFromPortalUrl"), exports);
28
+ tslib_1.__exportStar(require("./poll"), exports);
28
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,kDAAwB;AACxB,qDAA2B;AAC3B,iEAAuC;AACvC,sEAA4C;AAC5C,sDAA4B;AAC5B,mEAAyC;AACzC,4DAAkC;AAClC,kEAAwC;AACxC,qDAA2B;AAC3B,oDAA0B;AAC1B,mDAAyB;AACzB,oDAA0B;AAC1B,4DAAkC;AAClC,2DAAiC;AACjC,6DAAmC;AACnC,mDAAyB;AACzB,4DAAkC;AAClC,6DAAmC;AACnC,gEAAsC;AACtC,sDAA4B;AAC5B,qDAA2B;AAC3B,oDAA0B;AAC1B,wEAA8C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,kDAAwB;AACxB,qDAA2B;AAC3B,iEAAuC;AACvC,sEAA4C;AAC5C,sDAA4B;AAC5B,mEAAyC;AACzC,4DAAkC;AAClC,kEAAwC;AACxC,qDAA2B;AAC3B,oDAA0B;AAC1B,mDAAyB;AACzB,oDAA0B;AAC1B,4DAAkC;AAClC,2DAAiC;AACjC,6DAAmC;AACnC,mDAAyB;AACzB,4DAAkC;AAClC,6DAAmC;AACnC,gEAAsC;AACtC,sDAA4B;AAC5B,qDAA2B;AAC3B,oDAA0B;AAC1B,wEAA8C;AAC9C,iDAAuB"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.poll = void 0;
4
+ /**
5
+ * Function to poll a provided request until a validation
6
+ * state or timeout is reached
7
+ * @param requestFn
8
+ * @param validationFn
9
+ * @param opts
10
+ */
11
+ exports.poll = async (requestFn, validationFn, opts) => {
12
+ const options = opts || /* istanbul ignore next - must pass in overrides for tests */ {};
13
+ const timeout = options.timeout || 30000;
14
+ const timeBetweenRequests = options.timeBetweenRequests ||
15
+ /* istanbul ignore next - cannot delay by this much in tests */ 3000;
16
+ let resp;
17
+ let requestCount = 0;
18
+ do {
19
+ // On subsequent requests, check if the timeout has been reached
20
+ // If YES: throw an error
21
+ // If NO: delay before the next request
22
+ if (requestCount > 0) {
23
+ if (requestCount * timeBetweenRequests >= timeout) {
24
+ throw new Error("Polling timeout");
25
+ }
26
+ await delay(timeBetweenRequests);
27
+ }
28
+ resp = await requestFn();
29
+ requestCount++;
30
+ } while (!validationFn(resp));
31
+ return resp;
32
+ };
33
+ const delay = (milliseconds) => {
34
+ return new Promise((resolve) => setTimeout(resolve, milliseconds));
35
+ };
36
+ //# sourceMappingURL=poll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poll.js","sourceRoot":"","sources":["../../../src/utils/poll.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACU,QAAA,IAAI,GAAG,KAAK,EACvB,SAAoB,EACpB,YAAoC,EACpC,IAGC,EACa,EAAE;IAChB,MAAM,OAAO,GACX,IAAI,IAAI,6DAA6D,CAAC,EAAE,CAAC;IAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,MAAM,mBAAmB,GACvB,OAAO,CAAC,mBAAmB;QAC3B,+DAA+D,CAAC,IAAI,CAAC;IAEvE,IAAI,IAAS,CAAC;IACd,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,GAAG;QACD,gEAAgE;QAChE,yBAAyB;QACzB,uCAAuC;QACvC,IAAI,YAAY,GAAG,CAAC,EAAE;YACpB,IAAI,YAAY,GAAG,mBAAmB,IAAI,OAAO,EAAE;gBACjD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;aACpC;YACD,MAAM,KAAK,CAAC,mBAAmB,CAAC,CAAC;SAClC;QAED,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;QACzB,YAAY,EAAE,CAAC;KAChB,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;IAE9B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,YAAoB,EAAE,EAAE;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC"}
@@ -8,7 +8,7 @@ export declare const ContentDefaultFeatures: IFeatureFlags;
8
8
  * These define the requirements any user must meet to perform related actions
9
9
  * @private
10
10
  */
11
- export declare const ContentPermissions: readonly ["hub:content:create", "hub:content:edit", "hub:content:view", "hub:content:workspace:overview", "hub:content:workspace:dashboard", "hub:content:workspace:details", "hub:content:workspace:discussion", "hub:content:workspace:settings", "hub:content:manage"];
11
+ export declare const ContentPermissions: readonly ["hub:content:create", "hub:content:edit", "hub:content:view", "hub:content:workspace:overview", "hub:content:workspace:dashboard", "hub:content:workspace:details", "hub:content:workspace:discussion", "hub:content:workspace:settings", "hub:content:workspace:collaborators", "hub:content:manage"];
12
12
  /**
13
13
  * Content permission policies
14
14
  * No need to specify license for permissions that are available to all licenses
@@ -22,3 +22,4 @@ export * from "./dasherize";
22
22
  export * from "./titleize";
23
23
  export * from "./memoize";
24
24
  export * from "./getEnvironmentFromPortalUrl";
25
+ export * from "./poll";
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Function to poll a provided request until a validation
3
+ * state or timeout is reached
4
+ * @param requestFn
5
+ * @param validationFn
6
+ * @param opts
7
+ */
8
+ export declare const poll: (requestFn: () => any, validationFn: (resp: any) => boolean, opts?: {
9
+ timeout?: number;
10
+ timeBetweenRequests?: number;
11
+ }) => Promise<any>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "14.27.0",
3
+ "version": "14.29.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",