@esri/hub-common 13.25.2 → 13.27.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 (83) hide show
  1. package/dist/esm/ArcGISContextManager.js +2 -0
  2. package/dist/esm/ArcGISContextManager.js.map +1 -1
  3. package/dist/esm/capabilities/getWorkspaceCapabilities.js +2 -0
  4. package/dist/esm/capabilities/getWorkspaceCapabilities.js.map +1 -1
  5. package/dist/esm/capabilities/types.js +1 -0
  6. package/dist/esm/capabilities/types.js.map +1 -1
  7. package/dist/esm/core/types/HubEntity.js +5 -0
  8. package/dist/esm/core/types/HubEntity.js.map +1 -1
  9. package/dist/esm/core/types/HubEntityType.js +1 -0
  10. package/dist/esm/core/types/HubEntityType.js.map +1 -1
  11. package/dist/esm/core/types/IHubGroup.js +1 -0
  12. package/dist/esm/core/types/IHubGroup.js.map +1 -0
  13. package/dist/esm/core/types/ISystemStatus.js +1 -0
  14. package/dist/esm/core/types/ISystemStatus.js.map +1 -1
  15. package/dist/esm/groups/HubGroup.js +178 -0
  16. package/dist/esm/groups/HubGroup.js.map +1 -0
  17. package/dist/esm/groups/HubGroups.js +100 -1
  18. package/dist/esm/groups/HubGroups.js.map +1 -1
  19. package/dist/esm/groups/_internal/GroupBusinessRules.js +88 -0
  20. package/dist/esm/groups/_internal/GroupBusinessRules.js.map +1 -0
  21. package/dist/esm/groups/_internal/computeProps.js +37 -0
  22. package/dist/esm/groups/_internal/computeProps.js.map +1 -0
  23. package/dist/esm/groups/_internal/getPropertyMap.js +39 -0
  24. package/dist/esm/groups/_internal/getPropertyMap.js.map +1 -0
  25. package/dist/esm/groups/defaults.js +21 -0
  26. package/dist/esm/groups/defaults.js.map +1 -0
  27. package/dist/esm/groups/index.js +1 -0
  28. package/dist/esm/groups/index.js.map +1 -1
  29. package/dist/esm/permissions/HubPermissionPolicies.js +2 -0
  30. package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -1
  31. package/dist/esm/permissions/types/Permission.js +2 -0
  32. package/dist/esm/permissions/types/Permission.js.map +1 -1
  33. package/dist/esm/projects/_internal/getPropertyMap.js +1 -5
  34. package/dist/esm/projects/_internal/getPropertyMap.js.map +1 -1
  35. package/dist/node/ArcGISContextManager.js +2 -0
  36. package/dist/node/ArcGISContextManager.js.map +1 -1
  37. package/dist/node/capabilities/getWorkspaceCapabilities.js +2 -0
  38. package/dist/node/capabilities/getWorkspaceCapabilities.js.map +1 -1
  39. package/dist/node/capabilities/types.js +1 -0
  40. package/dist/node/capabilities/types.js.map +1 -1
  41. package/dist/node/core/types/HubEntity.js +5 -0
  42. package/dist/node/core/types/HubEntity.js.map +1 -1
  43. package/dist/node/core/types/HubEntityType.js +1 -0
  44. package/dist/node/core/types/HubEntityType.js.map +1 -1
  45. package/dist/node/core/types/IHubGroup.js +3 -0
  46. package/dist/node/core/types/IHubGroup.js.map +1 -0
  47. package/dist/node/core/types/ISystemStatus.js +1 -0
  48. package/dist/node/core/types/ISystemStatus.js.map +1 -1
  49. package/dist/node/groups/HubGroup.js +182 -0
  50. package/dist/node/groups/HubGroup.js.map +1 -0
  51. package/dist/node/groups/HubGroups.js +104 -1
  52. package/dist/node/groups/HubGroups.js.map +1 -1
  53. package/dist/node/groups/_internal/GroupBusinessRules.js +91 -0
  54. package/dist/node/groups/_internal/GroupBusinessRules.js.map +1 -0
  55. package/dist/node/groups/_internal/computeProps.js +41 -0
  56. package/dist/node/groups/_internal/computeProps.js.map +1 -0
  57. package/dist/node/groups/_internal/getPropertyMap.js +43 -0
  58. package/dist/node/groups/_internal/getPropertyMap.js.map +1 -0
  59. package/dist/node/groups/defaults.js +24 -0
  60. package/dist/node/groups/defaults.js.map +1 -0
  61. package/dist/node/groups/index.js +1 -0
  62. package/dist/node/groups/index.js.map +1 -1
  63. package/dist/node/permissions/HubPermissionPolicies.js +2 -0
  64. package/dist/node/permissions/HubPermissionPolicies.js.map +1 -1
  65. package/dist/node/permissions/types/Permission.js +2 -0
  66. package/dist/node/permissions/types/Permission.js.map +1 -1
  67. package/dist/node/projects/_internal/getPropertyMap.js +1 -5
  68. package/dist/node/projects/_internal/getPropertyMap.js.map +1 -1
  69. package/dist/types/capabilities/types.d.ts +1 -1
  70. package/dist/types/core/types/HubEntityType.d.ts +1 -1
  71. package/dist/types/core/types/IHubGroup.d.ts +87 -0
  72. package/dist/types/core/types/ISystemStatus.d.ts +1 -1
  73. package/dist/types/core/types/types.d.ts +20 -1
  74. package/dist/types/discussions/api/types.d.ts +18 -0
  75. package/dist/types/groups/HubGroup.d.ts +95 -0
  76. package/dist/types/groups/HubGroups.d.ts +35 -0
  77. package/dist/types/groups/_internal/GroupBusinessRules.d.ts +27 -0
  78. package/dist/types/groups/_internal/computeProps.d.ts +12 -0
  79. package/dist/types/groups/_internal/getPropertyMap.d.ts +8 -0
  80. package/dist/types/groups/defaults.d.ts +11 -0
  81. package/dist/types/groups/index.d.ts +1 -0
  82. package/dist/types/permissions/types/Permission.d.ts +1 -1
  83. package/package.json +1 -1
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GroupPermissionPolicies = exports.GroupPermissions = exports.GroupCapabilityPermissions = exports.GroupDefaultCapabilities = void 0;
4
+ /**
5
+ * Default capabilities for a Group. If not listed here, the capability will not be available
6
+ * NOTE: We do not use the group capabilities right now as we do not
7
+ * have a data store for it yet, leaving them here for the future
8
+ * @private
9
+ */
10
+ exports.GroupDefaultCapabilities = {
11
+ details: true,
12
+ settings: true,
13
+ members: true,
14
+ content: true,
15
+ };
16
+ /**
17
+ * List of all the Group Capability Permissions
18
+ * These are considered Hub Business Rules and are not intended
19
+ * to be modified by consumers
20
+ * @private
21
+ */
22
+ exports.GroupCapabilityPermissions = [
23
+ {
24
+ entity: "group",
25
+ capability: "details",
26
+ permissions: ["hub:group:edit"],
27
+ },
28
+ {
29
+ entity: "group",
30
+ capability: "settings",
31
+ permissions: ["hub:group:owner"],
32
+ },
33
+ {
34
+ entity: "group",
35
+ capability: "members",
36
+ permissions: ["hub:group:view"],
37
+ },
38
+ {
39
+ entity: "group",
40
+ capability: "content",
41
+ permissions: ["hub:group:edit"],
42
+ },
43
+ ];
44
+ /**
45
+ * Group Permission Policies
46
+ * These define the requirements any user must meet to perform related actions
47
+ * @private
48
+ */
49
+ exports.GroupPermissions = [
50
+ "hub:group:create",
51
+ "hub:group:delete",
52
+ "hub:group:edit",
53
+ "hub:group:view",
54
+ "hub:group:owner",
55
+ ];
56
+ /**
57
+ * Group permission policies
58
+ * @private
59
+ */
60
+ exports.GroupPermissionPolicies = [
61
+ {
62
+ permission: "hub:group:create",
63
+ subsystems: ["groups"],
64
+ authenticated: true,
65
+ privileges: ["portal:user:createGroup"],
66
+ },
67
+ {
68
+ permission: "hub:group:view",
69
+ subsystems: ["groups"],
70
+ authenticated: false,
71
+ },
72
+ {
73
+ permission: "hub:group:edit",
74
+ authenticated: true,
75
+ subsystems: ["groups"],
76
+ entityEdit: true,
77
+ },
78
+ {
79
+ permission: "hub:group:delete",
80
+ authenticated: true,
81
+ subsystems: ["groups"],
82
+ entityOwner: true,
83
+ },
84
+ {
85
+ permission: "hub:group:owner",
86
+ authenticated: true,
87
+ subsystems: ["groups"],
88
+ entityOwner: true,
89
+ },
90
+ ];
91
+ //# sourceMappingURL=GroupBusinessRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupBusinessRules.js","sourceRoot":"","sources":["../../../../src/groups/_internal/GroupBusinessRules.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AACU,QAAA,wBAAwB,GAAuB;IAC1D,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,IAAI;CACd,CAAC;AAEF;;;;;GAKG;AACU,QAAA,0BAA0B,GAA4B;IACjE;QACE,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,gBAAgB,CAAC;KAChC;IACD;QACE,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,iBAAiB,CAAC;KACjC;IACD;QACE,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,gBAAgB,CAAC;KAChC;IACD;QACE,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,gBAAgB,CAAC;KAChC;CACF,CAAC;AAEF;;;;GAIG;AACU,QAAA,gBAAgB,GAAG;IAC9B,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;CACT,CAAC;AAEX;;;GAGG;AACU,QAAA,uBAAuB,GAAwB;IAC1D;QACE,UAAU,EAAE,kBAAkB;QAC9B,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,yBAAyB,CAAC;KACxC;IACD;QACE,UAAU,EAAE,gBAAgB;QAC5B,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,aAAa,EAAE,KAAK;KACrB;IACD;QACE,UAAU,EAAE,gBAAgB;QAC5B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,UAAU,EAAE,IAAI;KACjB;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,WAAW,EAAE,IAAI;KAClB;CACF,CAAC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.computeProps = void 0;
4
+ const discussions_1 = require("../../discussions");
5
+ const search_1 = require("../../search");
6
+ /**
7
+ * Given a model and a group, set various computed properties that can't be directly mapped
8
+ * @private
9
+ * @param group
10
+ * @param hubGroup
11
+ * @param requestOptions
12
+ * @returns
13
+ */
14
+ function computeProps(group, hubGroup, requestOptions) {
15
+ let token;
16
+ if (requestOptions.authentication) {
17
+ const session = requestOptions.authentication;
18
+ token = session.token;
19
+ }
20
+ // thumbnail url
21
+ hubGroup.thumbnailUrl = search_1.getGroupThumbnailUrl(requestOptions.portal, group, token);
22
+ // Handle Dates
23
+ hubGroup.createdDate = new Date(group.created);
24
+ hubGroup.createdDateSource = "group.created";
25
+ hubGroup.updatedDate = new Date(group.modified);
26
+ hubGroup.updatedDateSource = "group.modified";
27
+ hubGroup.type = "Group";
28
+ hubGroup.isDiscussable = discussions_1.isDiscussable(group);
29
+ hubGroup.isSharedUpdate = (group.capabilities || []).includes("updateitemcontrol");
30
+ hubGroup.membershipAccess = "anyone";
31
+ if (group.membershipAccess === "org") {
32
+ hubGroup.membershipAccess = "organization";
33
+ }
34
+ if (group.membershipAccess === "collaboration") {
35
+ hubGroup.membershipAccess = "collaborators";
36
+ }
37
+ // cast b/c this takes a partial but returns a full group
38
+ return hubGroup;
39
+ }
40
+ exports.computeProps = computeProps;
41
+ //# sourceMappingURL=computeProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/groups/_internal/computeProps.ts"],"names":[],"mappings":";;;AAKA,mDAAkD;AAClD,yCAAoD;AAGpD;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,QAA4B,EAC5B,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;IACD,gBAAgB;IAChB,QAAQ,CAAC,YAAY,GAAG,6BAAoB,CAC1C,cAAc,CAAC,MAAM,EACrB,KAAK,EACL,KAAK,CACN,CAAC;IAEF,eAAe;IACf,QAAQ,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/C,QAAQ,CAAC,iBAAiB,GAAG,eAAe,CAAC;IAC7C,QAAQ,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChD,QAAQ,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAE9C,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC;IAExB,QAAQ,CAAC,aAAa,GAAG,2BAAa,CAAC,KAAK,CAAC,CAAC;IAE9C,QAAQ,CAAC,cAAc,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,QAAQ,CAC3D,mBAAmB,CACpB,CAAC;IAEF,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC;IACrC,IAAI,KAAK,CAAC,gBAAgB,KAAK,KAAK,EAAE;QACpC,QAAQ,CAAC,gBAAgB,GAAG,cAAc,CAAC;KAC5C;IACD,IAAI,KAAK,CAAC,gBAAgB,KAAK,eAAe,EAAE;QAC9C,QAAQ,CAAC,gBAAgB,GAAG,eAAe,CAAC;KAC7C;IAED,yDAAyD;IACzD,OAAO,QAAqB,CAAC;AAC/B,CAAC;AAzCD,oCAyCC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPropertyMap = void 0;
4
+ /**
5
+ * Returns an Array of IPropertyMap objects
6
+ * that define the projection of properties from a IGroup to an IHubGroup
7
+ * @returns
8
+ * @private
9
+ */
10
+ function getPropertyMap() {
11
+ const map = [];
12
+ /**
13
+ * group-specific mappings
14
+ */
15
+ map.push({ entityKey: "name", storeKey: "title" });
16
+ map.push({ entityKey: "summary", storeKey: "snippet" });
17
+ map.push({ entityKey: "permissions", storeKey: "properties.permissions" });
18
+ const groupProps = [
19
+ "access",
20
+ "autoJoin",
21
+ "description",
22
+ "id",
23
+ "isInvitationOnly",
24
+ "isDiscussable",
25
+ "isReadOnly",
26
+ "isViewOnly",
27
+ "membershipAccess",
28
+ "owner",
29
+ "protected",
30
+ "sortField",
31
+ "sortOrder",
32
+ "tags",
33
+ "thumbnail",
34
+ "thumbnailUrl",
35
+ "userMembership",
36
+ ];
37
+ groupProps.forEach((entry) => {
38
+ map.push({ entityKey: entry, storeKey: entry });
39
+ });
40
+ return map;
41
+ }
42
+ exports.getPropertyMap = getPropertyMap;
43
+ //# sourceMappingURL=getPropertyMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/groups/_internal/getPropertyMap.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AAEH,SAAgB,cAAc;IAC5B,MAAM,GAAG,GAAmB,EAAE,CAAC;IAE/B;;OAEG;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IACxD,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAE3E,MAAM,UAAU,GAAG;QACjB,QAAQ;QACR,UAAU;QACV,aAAa;QACb,IAAI;QACJ,kBAAkB;QAClB,eAAe;QACf,YAAY;QACZ,YAAY;QACZ,kBAAkB;QAClB,OAAO;QACP,WAAW;QACX,WAAW;QACX,WAAW;QACX,MAAM;QACN,WAAW;QACX,cAAc;QACd,gBAAgB;KACjB,CAAC;IACF,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAlCD,wCAkCC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_GROUP_MODEL = exports.DEFAULT_GROUP = exports.HUB_GROUP_TYPE = void 0;
4
+ exports.HUB_GROUP_TYPE = "Hub Group";
5
+ /**
6
+ * Default values of a IHubGroup
7
+ */
8
+ exports.DEFAULT_GROUP = {
9
+ name: "No title provided",
10
+ access: "private",
11
+ permissions: [],
12
+ };
13
+ /**
14
+ * Default values for a new HubGroup Model
15
+ */
16
+ exports.DEFAULT_GROUP_MODEL = {
17
+ type: exports.HUB_GROUP_TYPE,
18
+ title: "No Title Provided",
19
+ description: "",
20
+ access: "",
21
+ snippet: "",
22
+ tags: [],
23
+ };
24
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/groups/defaults.ts"],"names":[],"mappings":";;;AAGa,QAAA,cAAc,GAAG,WAAW,CAAC;AAE1C;;GAEG;AACU,QAAA,aAAa,GAAuB;IAC/C,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF;;GAEG;AACU,QAAA,mBAAmB,GAAW;IACzC,IAAI,EAAE,sBAAc;IACpB,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,EAAE;CACY,CAAC"}
@@ -5,4 +5,5 @@ tslib_1.__exportStar(require("./_unprotect-and-remove-group"), exports);
5
5
  tslib_1.__exportStar(require("./add-users-workflow"), exports);
6
6
  tslib_1.__exportStar(require("./types"), exports);
7
7
  tslib_1.__exportStar(require("./HubGroups"), exports);
8
+ tslib_1.__exportStar(require("./HubGroup"), exports);
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/groups/index.ts"],"names":[],"mappings":";;;AAAA,wEAA8C;AAC9C,+DAAqC;AACrC,kDAAwB;AACxB,sDAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/groups/index.ts"],"names":[],"mappings":";;;AAAA,wEAA8C;AAC9C,+DAAqC;AACrC,kDAAwB;AACxB,sDAA4B;AAC5B,qDAA2B"}
@@ -6,6 +6,7 @@ const ProjectBusinessRules_1 = require("../projects/_internal/ProjectBusinessRul
6
6
  const SiteBusinessRules_1 = require("../sites/_internal/SiteBusinessRules");
7
7
  const DiscussionBusinessRules_1 = require("../discussions/_internal/DiscussionBusinessRules");
8
8
  const ContentBusinessRules_1 = require("../content/_internal/ContentBusinessRules");
9
+ const GroupBusinessRules_1 = require("../groups/_internal/GroupBusinessRules");
9
10
  const PageBusinessRules_1 = require("../pages/_internal/PageBusinessRules");
10
11
  // Examples of possible Permission Policies
11
12
  // const DiscussionPermissionPolicies: IPermissionPolicy[] = [
@@ -69,6 +70,7 @@ exports.HubPermissionsPolicies = [
69
70
  ...InitiativeBusinessRules_1.InitiativePermissionPolicies,
70
71
  ...DiscussionBusinessRules_1.DiscussionPermissionPolicies,
71
72
  ...ContentBusinessRules_1.ContentPermissionPolicies,
73
+ ...GroupBusinessRules_1.GroupPermissionPolicies,
72
74
  ...PageBusinessRules_1.PagePermissionPolicies,
73
75
  ];
74
76
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"HubPermissionPolicies.js","sourceRoot":"","sources":["../../../src/permissions/HubPermissionPolicies.ts"],"names":[],"mappings":";;;AAAA,8FAAgG;AAChG,qFAAuF;AACvF,4EAA+E;AAC/E,8FAAgG;AAChG,oFAAsF;AAGtF,4EAA8E;AAE9E,2CAA2C;AAC3C,8DAA8D;AAC9D,MAAM;AACN,gDAAgD;AAChD,2BAA2B;AAC3B,mCAAmC;AACnC,8CAA8C;AAC9C,OAAO;AACP,MAAM;AACN,uDAAuD;AACvD,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,iDAAiD;AACjD,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,UAAU;AACV,2CAA2C;AAC3C,uCAAuC;AACvC,oCAAoC;AACpC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,gDAAgD;AAChD,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,6CAA6C;AAC7C,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AAEL;;GAEG;AACU,QAAA,sBAAsB,GAAwB;IACzD,GAAG,2CAAuB;IAC1B,GAAG,gDAAyB;IAC5B,GAAG,sDAA4B;IAC/B,GAAG,sDAA4B;IAC/B,GAAG,gDAAyB;IAC5B,GAAG,0CAAsB;CAC1B,CAAC;AAEF;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,UAAsB;IACxD,OAAO,8BAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;AACzE,CAAC;AAFD,kDAEC"}
1
+ {"version":3,"file":"HubPermissionPolicies.js","sourceRoot":"","sources":["../../../src/permissions/HubPermissionPolicies.ts"],"names":[],"mappings":";;;AAAA,8FAAgG;AAChG,qFAAuF;AACvF,4EAA+E;AAC/E,8FAAgG;AAChG,oFAAsF;AAGtF,+EAAiF;AACjF,4EAA8E;AAE9E,2CAA2C;AAC3C,8DAA8D;AAC9D,MAAM;AACN,gDAAgD;AAChD,2BAA2B;AAC3B,mCAAmC;AACnC,8CAA8C;AAC9C,OAAO;AACP,MAAM;AACN,uDAAuD;AACvD,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,iDAAiD;AACjD,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,UAAU;AACV,2CAA2C;AAC3C,uCAAuC;AACvC,oCAAoC;AACpC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,gDAAgD;AAChD,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,6CAA6C;AAC7C,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AAEL;;GAEG;AACU,QAAA,sBAAsB,GAAwB;IACzD,GAAG,2CAAuB;IAC1B,GAAG,gDAAyB;IAC5B,GAAG,sDAA4B;IAC/B,GAAG,sDAA4B;IAC/B,GAAG,gDAAyB;IAC5B,GAAG,4CAAuB;IAC1B,GAAG,0CAAsB;CAC1B,CAAC;AAEF;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,UAAsB;IACxD,OAAO,8BAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;AACzE,CAAC;AAFD,kDAEC"}
@@ -6,6 +6,7 @@ const SiteBusinessRules_1 = require("../../sites/_internal/SiteBusinessRules");
6
6
  const InitiativeBusinessRules_1 = require("../../initiatives/_internal/InitiativeBusinessRules");
7
7
  const DiscussionBusinessRules_1 = require("../../discussions/_internal/DiscussionBusinessRules");
8
8
  const ContentBusinessRules_1 = require("../../content/_internal/ContentBusinessRules");
9
+ const GroupBusinessRules_1 = require("../../groups/_internal/GroupBusinessRules");
9
10
  const PageBusinessRules_1 = require("../../pages/_internal/PageBusinessRules");
10
11
  /**
11
12
  * Defines the values for Permissions
@@ -18,6 +19,7 @@ const validPermissions = [
18
19
  ...InitiativeBusinessRules_1.InitiativePermissions,
19
20
  ...DiscussionBusinessRules_1.DiscussionPermissions,
20
21
  ...ContentBusinessRules_1.ContentPermissions,
22
+ ...GroupBusinessRules_1.GroupPermissions,
21
23
  ...PageBusinessRules_1.PagePermissions,
22
24
  ];
23
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/permissions/types/Permission.ts"],"names":[],"mappings":";;;AAAA,wFAAmF;AACnF,+EAA0E;AAC1E,iGAA4F;AAC5F,iGAA4F;AAC5F,uFAAkF;AAClF,+EAA0E;AAE1E;;;;GAIG;AACH,MAAM,gBAAgB,GAAG;IACvB,GAAG,mCAAe;IAClB,GAAG,yCAAkB;IACrB,GAAG,+CAAqB;IACxB,GAAG,+CAAqB;IACxB,GAAG,yCAAkB;IACrB,GAAG,mCAAe;CACV,CAAC;AAOX;;;;GAIG;AACH,SAAgB,YAAY,CAAC,eAAuB;IAClD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,eAA6B,CAAC,CAAC;AAClE,CAAC;AAFD,oCAEC"}
1
+ {"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/permissions/types/Permission.ts"],"names":[],"mappings":";;;AAAA,wFAAmF;AACnF,+EAA0E;AAC1E,iGAA4F;AAC5F,iGAA4F;AAC5F,uFAAkF;AAClF,kFAA6E;AAC7E,+EAA0E;AAE1E;;;;GAIG;AACH,MAAM,gBAAgB,GAAG;IACvB,GAAG,mCAAe;IAClB,GAAG,yCAAkB;IACrB,GAAG,+CAAqB;IACxB,GAAG,+CAAqB;IACxB,GAAG,yCAAkB;IACrB,GAAG,qCAAgB;IACnB,GAAG,mCAAe;CACV,CAAC;AAOX;;;;GAIG;AACH,SAAgB,YAAY,CAAC,eAAuB;IAClD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,eAA6B,CAAC,CAAC;AAClE,CAAC;AAFD,oCAEC"}
@@ -10,11 +10,7 @@ const getBasePropertyMap_1 = require("../../core/_internal/getBasePropertyMap");
10
10
  */
11
11
  function getPropertyMap() {
12
12
  const map = getBasePropertyMap_1.getBasePropertyMap();
13
- /**
14
- * project-specific mappings. Note: we do not need to explicitly map
15
- * properties from the project item's data.view into the entity's view
16
- * because that mapping is already defined in the base property map
17
- */
13
+ // Type specific mappings
18
14
  map.push({ entityKey: "status", storeKey: "data.status" });
19
15
  map.push({ entityKey: "catalog", storeKey: "data.catalog" });
20
16
  map.push({ entityKey: "permissions", storeKey: "data.permissions" });
@@ -1 +1 @@
1
- {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/projects/_internal/getPropertyMap.ts"],"names":[],"mappings":";;;AACA,gFAA6E;AAE7E;;;;;GAKG;AAEH,SAAgB,cAAc;IAC5B,MAAM,GAAG,GAAG,uCAAkB,EAAE,CAAC;IAEjC;;;;OAIG;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACrE,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,4BAA4B;KACvC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,0BAA0B;KACrC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAExE,OAAO,GAAG,CAAC;AACb,CAAC;AAtBD,wCAsBC"}
1
+ {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/projects/_internal/getPropertyMap.ts"],"names":[],"mappings":";;;AACA,gFAA6E;AAE7E;;;;;GAKG;AAEH,SAAgB,cAAc;IAC5B,MAAM,GAAG,GAAG,uCAAkB,EAAE,CAAC;IAEjC,yBAAyB;IACzB,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACrE,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,4BAA4B;KACvC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,0BAA0B;KACrC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAExE,OAAO,GAAG,CAAC;AACb,CAAC;AAlBD,wCAkBC"}
@@ -3,7 +3,7 @@ import { IAccessResponse } from "../core/types/IAccessResponse";
3
3
  /**
4
4
  * Hub System Capabilities
5
5
  */
6
- declare const validCapabilities: readonly ["collaboration", "dashboard", "details", "discussions", "events", "followers", "overview", "settings", "teams", "metrics", "content"];
6
+ declare const validCapabilities: readonly ["collaboration", "dashboard", "details", "discussions", "events", "followers", "overview", "settings", "teams", "metrics", "members", "content"];
7
7
  /**
8
8
  * Defines the possible values for Capability
9
9
  */
@@ -1,2 +1,2 @@
1
- export declare const HUB_ENTITY_TYPES: readonly ["site", "project", "initiative", "page", "discussion", "content", "org"];
1
+ export declare const HUB_ENTITY_TYPES: readonly ["site", "project", "initiative", "page", "discussion", "content", "org", "group"];
2
2
  export declare type HubEntityType = (typeof HUB_ENTITY_TYPES)[number];
@@ -0,0 +1,87 @@
1
+ import { IWithPermissions } from "../traits";
2
+ import { IHubEntityBase } from "./IHubEntityBase";
3
+ import { GroupSortField, SettableAccessLevel, MemberType, MembershipAccess, PlatformSortOrder } from "./types";
4
+ /**
5
+ * Defines the properties of a Hub Group object
6
+ * @internal
7
+ */
8
+ export interface IHubGroup extends IHubEntityBase, IWithPermissions {
9
+ /**
10
+ * Access level of the group
11
+ * ("private" | "org" | "public")
12
+ */
13
+ access: SettableAccessLevel;
14
+ /**
15
+ * Whether members can auto join the group
16
+ */
17
+ autoJoin?: boolean;
18
+ /**
19
+ * Description for the group
20
+ */
21
+ description?: string;
22
+ /**
23
+ * Whether the group is editable
24
+ */
25
+ isSharedUpdate: boolean;
26
+ /**
27
+ * Whether the group accepts members through invitations only
28
+ */
29
+ isInvitationOnly: boolean;
30
+ /**
31
+ * Whether discussions are enabled or disabled
32
+ */
33
+ isDiscussable: boolean;
34
+ /**
35
+ * Whether the group is for read only or not
36
+ */
37
+ isReadOnly: boolean;
38
+ /**
39
+ * Whether the group is for view only or not
40
+ */
41
+ isViewOnly: boolean;
42
+ /**
43
+ * Who can join the groups
44
+ * (organization, collaborators, anyone)
45
+ */
46
+ membershipAccess?: MembershipAccess;
47
+ /**
48
+ * Username of the owner of the group
49
+ */
50
+ owner?: string;
51
+ /**
52
+ * Whether the group is protect or not
53
+ * the group cannot be deleted if protected
54
+ */
55
+ protected: boolean;
56
+ /**
57
+ * Sort field for the Group
58
+ */
59
+ sortField?: GroupSortField;
60
+ /**
61
+ * Sort order for the Group
62
+ */
63
+ sortOrder?: PlatformSortOrder;
64
+ /**
65
+ * User configurable tags
66
+ */
67
+ tags?: string[];
68
+ /**
69
+ * Group thumbnail url (read-only)
70
+ */
71
+ thumbnail?: string;
72
+ /**
73
+ * Group thumbnail url (read-only)
74
+ */
75
+ thumbnailUrl?: string;
76
+ /**
77
+ * Member types of the group
78
+ * ("owner" | "admin" | "member" | "none")
79
+ */
80
+ memberType?: MemberType;
81
+ /**
82
+ * Whether there is a field we are trying to clear,
83
+ * if true, we need to send clearEmptyFields: true
84
+ * to the updateGroup call
85
+ */
86
+ _clearEmptyFields?: boolean;
87
+ }
@@ -8,7 +8,7 @@ export declare type SystemStatus = "online" | "offline" | "maintenance" | "not-a
8
8
  export declare type HubSystemStatus = {
9
9
  [key in HubSubsystem]: SystemStatus;
10
10
  };
11
- declare const validSubsystems: readonly ["content", "discussions", "events", "initiatives", "items", "metrics", "notifications", "pages", "projects", "search", "sites"];
11
+ declare const validSubsystems: readonly ["content", "discussions", "events", "initiatives", "items", "metrics", "notifications", "pages", "projects", "search", "sites", "groups"];
12
12
  /**
13
13
  * Defines values for HubSubsystem
14
14
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Access levels that can be set on an item
2
+ * Access levels that can be set on an entity
3
3
  */
4
4
  export declare type SettableAccessLevel = "public" | "org" | "private";
5
5
  /**
@@ -20,3 +20,22 @@ export declare const EntityResourceMap: {
20
20
  * Please note that adding more values will require changes in the location picker
21
21
  */
22
22
  export declare type IHubLocationType = "none" | "custom" | "org" | "item";
23
+ /**
24
+ * Sort field for Hub Groups
25
+ */
26
+ export declare type GroupSortField = "title" | "owner" | "avgrating" | "numviews" | "created" | "modified";
27
+ /**
28
+ * Member type for Hub Groups
29
+ */
30
+ export declare type MemberType = "owner" | "admin" | "member" | "none";
31
+ /**
32
+ * ArcGIS sort orders
33
+ */
34
+ export declare type PlatformSortOrder = "asc" | "desc";
35
+ /**
36
+ * Who can join the groups
37
+ * organization: members of the group's org only
38
+ * collaborators: members of the group's org and its partner orgs
39
+ * anyone: members of any orgs
40
+ */
41
+ export declare type MembershipAccess = "organization" | "collaborators" | "anyone";
@@ -954,6 +954,13 @@ export interface ICreateDiscussionSetting {
954
954
  type: DiscussionSettingType;
955
955
  settings: ISettings;
956
956
  }
957
+ /**
958
+ * @export
959
+ * @interface IUpdateDiscussionSetting
960
+ */
961
+ export interface IUpdateDiscussionSetting {
962
+ settings: Partial<ISettings>;
963
+ }
957
964
  /**
958
965
  * parameters for creating a discussionSetting
959
966
  *
@@ -974,6 +981,17 @@ export interface ICreateDiscussionSettingParams extends IDiscussionsRequestOptio
974
981
  export interface IFetchDiscussionSettingParams extends IDiscussionsRequestOptions {
975
982
  id: string;
976
983
  }
984
+ /**
985
+ * parameters for updating a discussionSetting
986
+ *
987
+ * @export
988
+ * @interface IUpdateDiscussionSettingParams
989
+ * @extends {IDiscussionsRequestOptions}
990
+ */
991
+ export interface IUpdateDiscussionSettingParams extends IDiscussionsRequestOptions {
992
+ id: string;
993
+ data: IUpdateDiscussionSetting;
994
+ }
977
995
  /**
978
996
  * parameters for removing a discussionSetting
979
997
  *
@@ -0,0 +1,95 @@
1
+ import { IHubGroup } from "../core/types/IHubGroup";
2
+ import { IEntityPermissionPolicy, IPermissionAccessResponse, Permission } from "../permissions";
3
+ import { IWithStoreBehavior } from "../core/behaviors/IWithStoreBehavior";
4
+ import { IWithPermissionBehavior } from "../core/behaviors/IWithPermissionBehavior";
5
+ import { IArcGISContext } from "../ArcGISContext";
6
+ /**
7
+ * Hub Group Class
8
+ */
9
+ export declare class HubGroup implements IWithStoreBehavior<IHubGroup>, IWithPermissionBehavior {
10
+ protected context: IArcGISContext;
11
+ protected entity: IHubGroup;
12
+ protected isDestroyed: boolean;
13
+ private constructor();
14
+ /**
15
+ * Whether the user can edit the group,
16
+ * only the owner or admins of the group can
17
+ */
18
+ get canEdit(): boolean;
19
+ /**
20
+ * Whether the user can delete the group
21
+ * only the owner or admins of the group can
22
+ */
23
+ get canDelete(): boolean;
24
+ /**
25
+ * Whether the group is protected, if so, it can't be deleted
26
+ */
27
+ get isProtected(): boolean;
28
+ /**
29
+ * Create an instance from an IHubGroup object
30
+ * @param json - JSON object to create a HubGroup from
31
+ * @param context - ArcGIS context
32
+ * @returns
33
+ */
34
+ static fromJson(json: Partial<IHubGroup>, context: IArcGISContext): HubGroup;
35
+ /**
36
+ * Create a new HubGroup, returning a HubGroup instance.
37
+ * Note: This does not persist the Group into the backing store
38
+ * @param partialGroup
39
+ * @param context
40
+ * @returns
41
+ */
42
+ static create(partialGroup: Partial<IHubGroup>, context: IArcGISContext, save?: boolean): Promise<HubGroup>;
43
+ /**
44
+ * Fetch a Group from the backing store and return a HubGroup instance.
45
+ * @param identifier - Identifier of the group to load
46
+ * @param context
47
+ * @returns
48
+ */
49
+ static fetch(identifier: string, context: IArcGISContext): Promise<HubGroup>;
50
+ private static applyDefaults;
51
+ /**
52
+ * Return the backing entity as an object literal
53
+ */
54
+ toJson(): IHubGroup;
55
+ /**
56
+ * Apply a new state to the instance
57
+ * @param changes
58
+ */
59
+ update(changes: Partial<IHubGroup>): void;
60
+ /**
61
+ * Save the HubGroup to the backing store
62
+ * @returns
63
+ */
64
+ save(): Promise<void>;
65
+ /**
66
+ * Delete the HubGroup from the store
67
+ * set a flag to indicate that it is destroyed
68
+ * @returns
69
+ */
70
+ delete(): Promise<void>;
71
+ /**
72
+ * Check if current user has a specific permission, accounting for
73
+ * both system and entity level policies
74
+ * @param permission
75
+ * @returns
76
+ */
77
+ checkPermission(permission: Permission): IPermissionAccessResponse;
78
+ /**
79
+ * Get all policies related to a specific permission
80
+ * @param permission
81
+ * @returns
82
+ */
83
+ getPermissionPolicies(permission: Permission): IEntityPermissionPolicy[];
84
+ /**
85
+ * Add a policy to the entity
86
+ * @param policy
87
+ */
88
+ addPermissionPolicy(policy: IEntityPermissionPolicy): void;
89
+ /**
90
+ * Remove a policy from the entity
91
+ * @param permission
92
+ * @param id
93
+ */
94
+ removePermissionPolicy(permission: Permission, id: string): void;
95
+ }
@@ -1,6 +1,9 @@
1
1
  import { IGroup } from "@esri/arcgis-rest-types";
2
2
  import { IHubSearchResult } from "../search";
3
3
  import { IHubRequestOptions } from "../types";
4
+ import { IRequestOptions } from "@esri/arcgis-rest-request";
5
+ import { IHubGroup } from "../core/types/IHubGroup";
6
+ import { IUserRequestOptions } from "@esri/arcgis-rest-auth";
4
7
  /**
5
8
  * Enrich a generic search result
6
9
  * @param group
@@ -9,3 +12,35 @@ import { IHubRequestOptions } from "../types";
9
12
  * @returns
10
13
  */
11
14
  export declare function enrichGroupSearchResult(group: IGroup, include: string[], requestOptions: IHubRequestOptions): Promise<IHubSearchResult>;
15
+ /**
16
+ * Create a new Hub Group
17
+ * we are creating an IGroup with the createGroup call
18
+ * so we need to convert the Hub Group to IGroup first
19
+ * then convert it back to Hub Group and return it
20
+ * @param partialGroup
21
+ * @param requestOptions
22
+ */
23
+ export declare function createHubGroup(partialGroup: Partial<IHubGroup>, requestOptions: IUserRequestOptions): Promise<IHubGroup>;
24
+ /**
25
+ * Get a Hub Group by id
26
+ * we need to convert the IGroup we get to Hub Group
27
+ * @param identifier
28
+ * @param requestOptions
29
+ */
30
+ export declare function fetchHubGroup(identifier: string, requestOptions: IUserRequestOptions): Promise<IHubGroup>;
31
+ /**
32
+ * @private
33
+ * Update a Hub Group and return it
34
+ * we need to convert the incoming Hub Group to IGroup
35
+ * before sending it to the API
36
+ * @param hubGroup
37
+ * @param requestOptions
38
+ */
39
+ export declare function updateHubGroup(hubGroup: IHubGroup, requestOptions: IRequestOptions): Promise<IHubGroup>;
40
+ /**
41
+ * @private
42
+ * Remove a Hub Group
43
+ * @param id
44
+ * @param requestOptions
45
+ */
46
+ export declare function deleteHubGroup(id: string, requestOptions: IUserRequestOptions): Promise<void>;
@@ -0,0 +1,27 @@
1
+ import { EntityCapabilities, ICapabilityPermission } from "../../capabilities";
2
+ import { IPermissionPolicy } from "../../permissions";
3
+ /**
4
+ * Default capabilities for a Group. If not listed here, the capability will not be available
5
+ * NOTE: We do not use the group capabilities right now as we do not
6
+ * have a data store for it yet, leaving them here for the future
7
+ * @private
8
+ */
9
+ export declare const GroupDefaultCapabilities: EntityCapabilities;
10
+ /**
11
+ * List of all the Group Capability Permissions
12
+ * These are considered Hub Business Rules and are not intended
13
+ * to be modified by consumers
14
+ * @private
15
+ */
16
+ export declare const GroupCapabilityPermissions: ICapabilityPermission[];
17
+ /**
18
+ * Group Permission Policies
19
+ * These define the requirements any user must meet to perform related actions
20
+ * @private
21
+ */
22
+ export declare const GroupPermissions: readonly ["hub:group:create", "hub:group:delete", "hub:group:edit", "hub:group:view", "hub:group:owner"];
23
+ /**
24
+ * Group permission policies
25
+ * @private
26
+ */
27
+ export declare const GroupPermissionPolicies: IPermissionPolicy[];
@@ -0,0 +1,12 @@
1
+ import { IRequestOptions } from "@esri/arcgis-rest-request";
2
+ import { IHubGroup } from "../../core/types/IHubGroup";
3
+ import { IGroup } from "@esri/arcgis-rest-types";
4
+ /**
5
+ * Given a model and a group, set various computed properties that can't be directly mapped
6
+ * @private
7
+ * @param group
8
+ * @param hubGroup
9
+ * @param requestOptions
10
+ * @returns
11
+ */
12
+ export declare function computeProps(group: IGroup, hubGroup: Partial<IHubGroup>, requestOptions: IRequestOptions): IHubGroup;