@esri/hub-common 10.1.0 → 11.0.0-beta.3

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 (161) hide show
  1. package/dist/esm/Hub.js +0 -26
  2. package/dist/esm/Hub.js.map +1 -1
  3. package/dist/esm/core/PermissionManager.js +60 -0
  4. package/dist/esm/core/PermissionManager.js.map +1 -0
  5. package/dist/esm/core/_internal/PropertyMapper.js +1 -0
  6. package/dist/esm/core/_internal/PropertyMapper.js.map +1 -1
  7. package/dist/esm/core/_internal/sharedWith.js +14 -0
  8. package/dist/esm/core/_internal/sharedWith.js.map +1 -0
  9. package/dist/esm/core/behaviors/IWithCatalogBehavior.js +1 -0
  10. package/dist/esm/core/behaviors/IWithCatalogBehavior.js.map +1 -0
  11. package/dist/esm/core/behaviors/IWithPermissionBehavior.js +69 -0
  12. package/dist/esm/core/behaviors/IWithPermissionBehavior.js.map +1 -0
  13. package/dist/esm/core/behaviors/IWithSharingBehavior.js +1 -0
  14. package/dist/esm/core/behaviors/IWithSharingBehavior.js.map +1 -0
  15. package/dist/esm/core/behaviors/IWithStoreBehavior.js +1 -0
  16. package/dist/esm/core/behaviors/IWithStoreBehavior.js.map +1 -0
  17. package/dist/esm/core/behaviors/index.js +5 -0
  18. package/dist/esm/core/behaviors/index.js.map +1 -0
  19. package/dist/esm/core/index.js +2 -0
  20. package/dist/esm/core/index.js.map +1 -1
  21. package/dist/esm/core/traits/IWithBannerImage.js +1 -0
  22. package/dist/esm/core/traits/IWithBannerImage.js.map +1 -0
  23. package/dist/esm/core/traits/IWithCatalogDefinition.js +1 -0
  24. package/dist/esm/core/traits/IWithCatalogDefinition.js.map +1 -0
  25. package/dist/esm/core/traits/IWithLayout.js +1 -0
  26. package/dist/esm/core/traits/IWithLayout.js.map +1 -0
  27. package/dist/esm/core/traits/IWithPermissions.js +1 -0
  28. package/dist/esm/core/traits/IWithPermissions.js.map +1 -0
  29. package/dist/esm/core/traits/IWithSlug.js +1 -0
  30. package/dist/esm/core/traits/IWithSlug.js.map +1 -0
  31. package/dist/esm/core/traits/index.js +4 -3
  32. package/dist/esm/core/traits/index.js.map +1 -1
  33. package/dist/esm/core/types/IHubPermission.js +1 -0
  34. package/dist/esm/core/types/IHubPermission.js.map +1 -0
  35. package/dist/esm/core/types/index.js +1 -0
  36. package/dist/esm/core/types/index.js.map +1 -1
  37. package/dist/esm/index.js +2 -1
  38. package/dist/esm/index.js.map +1 -1
  39. package/dist/esm/items/slugs.js +1 -1
  40. package/dist/esm/models/index.js +15 -10
  41. package/dist/esm/models/index.js.map +1 -1
  42. package/dist/esm/projects/HubProject.js +369 -0
  43. package/dist/esm/projects/HubProject.js.map +1 -0
  44. package/dist/esm/projects/HubProjectManager.js +4 -4
  45. package/dist/esm/projects/HubProjectManager.js.map +1 -1
  46. package/dist/esm/projects/HubProjects.js +37 -39
  47. package/dist/esm/projects/HubProjects.js.map +1 -1
  48. package/dist/esm/projects/defaults.js +36 -0
  49. package/dist/esm/projects/defaults.js.map +1 -0
  50. package/dist/esm/projects/index.js +1 -1
  51. package/dist/esm/projects/index.js.map +1 -1
  52. package/dist/esm/search/Catalog.js +22 -5
  53. package/dist/esm/search/Catalog.js.map +1 -1
  54. package/dist/esm/sites/HubSiteManager.js +1 -1
  55. package/dist/esm/sites/HubSiteManager.js.map +1 -1
  56. package/dist/esm/sites/index.js +0 -1
  57. package/dist/esm/sites/index.js.map +1 -1
  58. package/dist/node/Hub.js +0 -26
  59. package/dist/node/Hub.js.map +1 -1
  60. package/dist/node/core/PermissionManager.js +64 -0
  61. package/dist/node/core/PermissionManager.js.map +1 -0
  62. package/dist/node/core/_internal/PropertyMapper.js +1 -0
  63. package/dist/node/core/_internal/PropertyMapper.js.map +1 -1
  64. package/dist/node/core/_internal/sharedWith.js +18 -0
  65. package/dist/node/core/_internal/sharedWith.js.map +1 -0
  66. package/dist/node/core/behaviors/IWithCatalogBehavior.js +3 -0
  67. package/dist/node/core/behaviors/IWithCatalogBehavior.js.map +1 -0
  68. package/dist/node/core/behaviors/IWithPermissionBehavior.js +76 -0
  69. package/dist/node/core/behaviors/IWithPermissionBehavior.js.map +1 -0
  70. package/dist/node/core/behaviors/IWithSharingBehavior.js +3 -0
  71. package/dist/node/core/behaviors/IWithSharingBehavior.js.map +1 -0
  72. package/dist/node/core/behaviors/IWithStoreBehavior.js +3 -0
  73. package/dist/node/core/behaviors/IWithStoreBehavior.js.map +1 -0
  74. package/dist/node/core/behaviors/index.js +8 -0
  75. package/dist/node/core/behaviors/index.js.map +1 -0
  76. package/dist/node/core/index.js +2 -0
  77. package/dist/node/core/index.js.map +1 -1
  78. package/dist/node/core/traits/{WithBannerImage.js → IWithBannerImage.js} +1 -1
  79. package/dist/node/core/traits/IWithBannerImage.js.map +1 -0
  80. package/dist/node/core/traits/IWithCatalogDefinition.js +3 -0
  81. package/dist/node/core/traits/IWithCatalogDefinition.js.map +1 -0
  82. package/dist/node/core/traits/{WithCatalog.js → IWithLayout.js} +1 -1
  83. package/dist/node/core/traits/IWithLayout.js.map +1 -0
  84. package/dist/node/core/traits/IWithPermissions.js +3 -0
  85. package/dist/node/core/traits/IWithPermissions.js.map +1 -0
  86. package/dist/node/core/traits/{WithSlug.js → IWithSlug.js} +1 -1
  87. package/dist/node/core/traits/IWithSlug.js.map +1 -0
  88. package/dist/node/core/traits/index.js +4 -3
  89. package/dist/node/core/traits/index.js.map +1 -1
  90. package/dist/node/core/{traits/WithLayout.js → types/IHubPermission.js} +1 -1
  91. package/dist/node/core/types/IHubPermission.js.map +1 -0
  92. package/dist/node/core/types/index.js +1 -0
  93. package/dist/node/core/types/index.js.map +1 -1
  94. package/dist/node/index.js +2 -1
  95. package/dist/node/index.js.map +1 -1
  96. package/dist/node/items/slugs.js +1 -1
  97. package/dist/node/models/index.js +15 -10
  98. package/dist/node/models/index.js.map +1 -1
  99. package/dist/node/projects/HubProject.js +373 -0
  100. package/dist/node/projects/HubProject.js.map +1 -0
  101. package/dist/node/projects/HubProjectManager.js +3 -3
  102. package/dist/node/projects/HubProjectManager.js.map +1 -1
  103. package/dist/node/projects/HubProjects.js +42 -44
  104. package/dist/node/projects/HubProjects.js.map +1 -1
  105. package/dist/node/projects/defaults.js +39 -0
  106. package/dist/node/projects/defaults.js.map +1 -0
  107. package/dist/node/projects/index.js +1 -1
  108. package/dist/node/projects/index.js.map +1 -1
  109. package/dist/node/search/Catalog.js +22 -5
  110. package/dist/node/search/Catalog.js.map +1 -1
  111. package/dist/node/sites/HubSiteManager.js +1 -1
  112. package/dist/node/sites/HubSiteManager.js.map +1 -1
  113. package/dist/node/sites/index.js +0 -1
  114. package/dist/node/sites/index.js.map +1 -1
  115. package/dist/types/Hub.d.ts +0 -18
  116. package/dist/types/core/PermissionManager.d.ts +43 -0
  117. package/dist/types/core/_internal/PropertyMapper.d.ts +1 -0
  118. package/dist/types/core/_internal/sharedWith.d.ts +10 -0
  119. package/dist/types/core/behaviors/IWithCatalogBehavior.d.ts +4 -0
  120. package/dist/types/core/behaviors/IWithPermissionBehavior.d.ts +40 -0
  121. package/dist/types/core/behaviors/IWithSharingBehavior.d.ts +27 -0
  122. package/dist/types/core/behaviors/IWithStoreBehavior.d.ts +22 -0
  123. package/dist/types/core/behaviors/index.d.ts +4 -0
  124. package/dist/types/core/index.d.ts +2 -0
  125. package/dist/types/core/traits/{WithBannerImage.d.ts → IWithBannerImage.d.ts} +0 -0
  126. package/dist/types/core/traits/IWithCatalogDefinition.d.ts +7 -0
  127. package/dist/types/core/traits/{WithLayout.d.ts → IWithLayout.d.ts} +0 -0
  128. package/dist/types/core/traits/IWithPermissions.d.ts +10 -0
  129. package/dist/types/core/traits/{WithSlug.d.ts → IWithSlug.d.ts} +0 -0
  130. package/dist/types/core/traits/index.d.ts +4 -3
  131. package/dist/types/core/types/IHubEntityManager.d.ts +1 -1
  132. package/dist/types/core/types/IHubInitiative.d.ts +1 -1
  133. package/dist/types/core/types/IHubPage.d.ts +1 -1
  134. package/dist/types/core/types/IHubPermission.d.ts +23 -0
  135. package/dist/types/core/types/IHubProject.d.ts +4 -3
  136. package/dist/types/core/types/IHubSite.d.ts +2 -2
  137. package/dist/types/core/types/index.d.ts +1 -0
  138. package/dist/types/core/types/types.d.ts +5 -1
  139. package/dist/types/index.d.ts +0 -1
  140. package/dist/types/projects/HubProject.d.ts +92 -0
  141. package/dist/types/projects/HubProjectManager.d.ts +1 -1
  142. package/dist/types/projects/HubProjects.d.ts +7 -2
  143. package/dist/types/projects/defaults.d.ts +11 -0
  144. package/dist/types/projects/index.d.ts +1 -1
  145. package/dist/types/search/Catalog.d.ts +4 -3
  146. package/dist/types/sites/HubSiteManager.d.ts +1 -1
  147. package/dist/types/sites/index.d.ts +0 -1
  148. package/package.json +1 -1
  149. package/dist/esm/core/traits/WithBannerImage.js +0 -1
  150. package/dist/esm/core/traits/WithBannerImage.js.map +0 -1
  151. package/dist/esm/core/traits/WithCatalog.js +0 -1
  152. package/dist/esm/core/traits/WithCatalog.js.map +0 -1
  153. package/dist/esm/core/traits/WithLayout.js +0 -1
  154. package/dist/esm/core/traits/WithLayout.js.map +0 -1
  155. package/dist/esm/core/traits/WithSlug.js +0 -1
  156. package/dist/esm/core/traits/WithSlug.js.map +0 -1
  157. package/dist/node/core/traits/WithBannerImage.js.map +0 -1
  158. package/dist/node/core/traits/WithCatalog.js.map +0 -1
  159. package/dist/node/core/traits/WithLayout.js.map +0 -1
  160. package/dist/node/core/traits/WithSlug.js.map +0 -1
  161. package/dist/types/core/traits/WithCatalog.d.ts +0 -7
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_PROJECT_MODEL = exports.DEFAULT_PROJECT = exports.HUB_PROJECT_ITEM_TYPE = void 0;
4
+ exports.HUB_PROJECT_ITEM_TYPE = "Hub Project";
5
+ /**
6
+ * Default values of a IHubProject
7
+ */
8
+ exports.DEFAULT_PROJECT = {
9
+ name: "No title provided",
10
+ tags: [],
11
+ typeKeywords: ["Hub Project"],
12
+ status: "inactive",
13
+ catalogDefinition: { schemaVersion: 0 },
14
+ permissionDefinition: [],
15
+ };
16
+ /**
17
+ * Default values for a new HubProject Model
18
+ */
19
+ exports.DEFAULT_PROJECT_MODEL = {
20
+ item: {
21
+ type: exports.HUB_PROJECT_ITEM_TYPE,
22
+ title: "No Title Provided",
23
+ description: "No Description Provided",
24
+ snippet: "",
25
+ tags: [],
26
+ typeKeywords: ["Hub Project"],
27
+ properties: {
28
+ slug: "",
29
+ },
30
+ },
31
+ data: {
32
+ display: "about",
33
+ timeline: {},
34
+ status: "inactive",
35
+ contacts: [],
36
+ schemaVersion: 1,
37
+ },
38
+ };
39
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/projects/defaults.ts"],"names":[],"mappings":";;;AAGa,QAAA,qBAAqB,GAAG,aAAa,CAAC;AAEnD;;GAEG;AACU,QAAA,eAAe,GAAyB;IACnD,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,CAAC,aAAa,CAAC;IAC7B,MAAM,EAAE,UAAU;IAClB,iBAAiB,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;IACvC,oBAAoB,EAAE,EAAE;CACzB,CAAC;AAEF;;GAEG;AACU,QAAA,qBAAqB,GAAW;IAC3C,IAAI,EAAE;QACJ,IAAI,EAAE,6BAAqB;QAC3B,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,CAAC,aAAa,CAAC;QAC7B,UAAU,EAAE;YACV,IAAI,EAAE,EAAE;SACT;KACF;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,EAAE;QACZ,aAAa,EAAE,CAAC;KACjB;CACmB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./HubProjectManager"), exports);
5
4
  tslib_1.__exportStar(require("./HubProjects"), exports);
5
+ tslib_1.__exportStar(require("./HubProject"), exports);
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/projects/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,wDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/projects/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,uDAA6B"}
@@ -24,7 +24,7 @@ class Catalog {
24
24
  this._context = context;
25
25
  }
26
26
  /**
27
- * Create a Collection instance from a Catalog json object, a site url or itemId
27
+ * Create a Catalog instance from a site url or itemId
28
28
  * '''js
29
29
  * const catalog = await Catalog.create('https://site-org.hub.arcgis.com', context);
30
30
  * '''
@@ -45,7 +45,7 @@ class Catalog {
45
45
  return new Catalog(fetched, context);
46
46
  }
47
47
  /**
48
- * Create a Catalog instance from a Catalog Json object
48
+ * Create a Catalog instance from a Catalog Definition Json object
49
49
  * @param json
50
50
  * @param context
51
51
  * @returns
@@ -106,6 +106,9 @@ class Catalog {
106
106
  * @param query
107
107
  */
108
108
  setScope(type, query) {
109
+ // TODO: This needs to be much smarter in terms of merging
110
+ // existing filters with the new ones. Basically this
111
+ // hides very little complexity from the developer
109
112
  this._catalog.scopes[type] = query;
110
113
  }
111
114
  /**
@@ -147,7 +150,10 @@ class Catalog {
147
150
  * @param options
148
151
  * @returns
149
152
  */
150
- searchItems(query, options = {}) {
153
+ async searchItems(query, options) {
154
+ if (!options) {
155
+ options = this.getDefaultSearchOptions("item");
156
+ }
151
157
  if (!this.getScope("item")) {
152
158
  const result = this.getEmptyResult();
153
159
  result.messages = [
@@ -174,7 +180,10 @@ class Catalog {
174
180
  * @param options
175
181
  * @returns
176
182
  */
177
- searchGroups(query, options = {}) {
183
+ async searchGroups(query, options) {
184
+ if (!options) {
185
+ options = this.getDefaultSearchOptions("group");
186
+ }
178
187
  if (!this.getScope("group")) {
179
188
  const result = this.getEmptyResult();
180
189
  result.messages = [
@@ -201,7 +210,7 @@ class Catalog {
201
210
  * @param options
202
211
  * @returns
203
212
  */
204
- searchUsers(query, options = {}) {
213
+ async searchUsers(query, options = {}) {
205
214
  if (!this.getScope("user")) {
206
215
  const result = this.getEmptyResult();
207
216
  result.messages = [
@@ -345,6 +354,14 @@ class Catalog {
345
354
  next: null,
346
355
  };
347
356
  }
357
+ getDefaultSearchOptions(type) {
358
+ return {
359
+ targetEntity: type,
360
+ num: 10,
361
+ start: 1,
362
+ requestOptions: this._context.hubRequestOptions,
363
+ };
364
+ }
348
365
  }
349
366
  exports.Catalog = Catalog;
350
367
  //# sourceMappingURL=Catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Catalog.js","sourceRoot":"","sources":["../../../src/search/Catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Catalog.js","sourceRoot":"","sources":["../../../src/search/Catalog.ts"],"names":[],"mappings":"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"}
@@ -86,7 +86,7 @@ class HubSiteManager {
86
86
  * @param requestOptions
87
87
  * @returns
88
88
  */
89
- async destroy(id, requestOptions) {
89
+ async delete(id, requestOptions) {
90
90
  if (requestOptions || this.context.isAuthenticated) {
91
91
  return HubSites_1.destroySite(id, requestOptions || this.context.hubRequestOptions);
92
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HubSiteManager.js","sourceRoot":"","sources":["../../../src/sites/HubSiteManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubSiteManager.js","sourceRoot":"","sources":["../../../src/sites/HubSiteManager.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,6 @@ tslib_1.__exportStar(require("./domains"), exports);
6
6
  tslib_1.__exportStar(require("./drafts"), exports);
7
7
  tslib_1.__exportStar(require("./fetchSiteModel"), exports);
8
8
  tslib_1.__exportStar(require("./get-site-by-id"), exports);
9
- tslib_1.__exportStar(require("./HubSiteManager"), exports);
10
9
  tslib_1.__exportStar(require("./HubSites"), exports);
11
10
  tslib_1.__exportStar(require("./registerSiteAsApplication"), exports);
12
11
  tslib_1.__exportStar(require("./site-schema-version"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sites/index.ts"],"names":[],"mappings":";;;AAAA,wEAA8C;AAC9C,oDAA0B;AAC1B,mDAAyB;AACzB,2DAAiC;AACjC,2DAAiC;AACjC,2DAAiC;AACjC,qDAA2B;AAC3B,sEAA4C;AAC5C,gEAAsC;AACtC,mDAAyB;AACzB,gEAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sites/index.ts"],"names":[],"mappings":";;;AAAA,wEAA8C;AAC9C,oDAA0B;AAC1B,mDAAyB;AACzB,2DAAiC;AACjC,2DAAiC;AACjC,qDAA2B;AAC3B,sEAA4C;AAC5C,gEAAsC;AACtC,mDAAyB;AACzB,gEAAsC"}
@@ -1,6 +1,4 @@
1
- import { HubSiteManager } from ".";
2
1
  import { ArcGISContextManager, IArcGISContextManagerOptions } from "./ArcGISContextManager";
3
- import { HubProjectManager } from "./projects/HubProjectManager";
4
2
  /**
5
3
  * Options for instantiating a Hub instance
6
4
  */
@@ -44,8 +42,6 @@ export declare class Hub {
44
42
  * everything will be kept in sync.
45
43
  */
46
44
  private _contextManager;
47
- private _projectManager;
48
- private _siteManager;
49
45
  /**
50
46
  * Private so we can employ a factory function to do
51
47
  * async work during creation
@@ -64,18 +60,4 @@ export declare class Hub {
64
60
  * @memberof Hub
65
61
  */
66
62
  get context(): import("./ArcGISContext").IArcGISContext;
67
- /**
68
- * HubProjectManager for the current Hub
69
- *
70
- * @readonly
71
- * @memberof Hub
72
- */
73
- get projects(): HubProjectManager;
74
- /**
75
- * HubSiteManager for the current Hub
76
- *
77
- * @readonly
78
- * @memberof Hub
79
- */
80
- get sites(): HubSiteManager;
81
63
  }
@@ -0,0 +1,43 @@
1
+ import { IArcGISContext } from "../ArcGISContext";
2
+ import { HubPermission, IHubPermission } from "./types/IHubPermission";
3
+ /**
4
+ * Permission Manager class that provides permission behavior for a given entity
5
+ */
6
+ export declare class PermissionManager {
7
+ private _permissions;
8
+ private _context;
9
+ private constructor();
10
+ /**
11
+ * Create a new PermissionManager instance from configuration and context
12
+ * @param permissions
13
+ * @param context
14
+ * @returns
15
+ */
16
+ static fromJson(permissions: IHubPermission[], context: IArcGISContext): PermissionManager;
17
+ /**
18
+ * Check if the user has a specific permission in the context of an entity
19
+ * @param permission
20
+ */
21
+ check(permission: HubPermission): boolean;
22
+ /**
23
+ * Get all the permission definitions for the specific permission
24
+ * @param key permission to check for
25
+ */
26
+ get(permission: HubPermission): IHubPermission[];
27
+ /**
28
+ * Set a permission for the given entity
29
+ * @param permission
30
+ */
31
+ add(permission: HubPermission, definition: IHubPermission): void;
32
+ /**
33
+ * Remove a permission by targetId
34
+ * @param permission
35
+ * @param targetId
36
+ */
37
+ remove(permission: HubPermission, targetId: string): void;
38
+ /**
39
+ * Return the current permissions as a JSON object
40
+ * @returns {IHubPermission[]}
41
+ */
42
+ toJson(): IHubPermission[];
43
+ }
@@ -1,5 +1,6 @@
1
1
  import { IModel } from "../..";
2
2
  /**
3
+ * @private
3
4
  * Manage forward and backward property mappings to
4
5
  * streamline conversion between the Hub entities, and
5
6
  * the backing IModel
@@ -0,0 +1,10 @@
1
+ import { IGroup } from "@esri/arcgis-rest-portal";
2
+ import { IRequestOptions } from "@esri/arcgis-rest-request";
3
+ /**
4
+ * @private
5
+ * Return the list of groups the current user can see, that the item is shared to
6
+ * @param itemId
7
+ * @param requestOptions
8
+ * @returns
9
+ */
10
+ export declare function sharedWith(itemId: string, requestOptions: IRequestOptions): Promise<IGroup[]>;
@@ -0,0 +1,4 @@
1
+ import { Catalog } from "../../search";
2
+ export interface IWithCatalogBehavior {
3
+ catalog: Catalog;
4
+ }
@@ -0,0 +1,40 @@
1
+ import { IUser } from "@esri/arcgis-rest-portal";
2
+ import { PermissionManager } from "../PermissionManager";
3
+ import { IHubPermission, HubPermission } from "../types/IHubPermission";
4
+ /**
5
+ * Composable behavior that adds permissions to an entity
6
+ */
7
+ export interface IWithPermissionBehavior {
8
+ permissions: PermissionManager;
9
+ }
10
+ /**
11
+ * Check if the user has a specific permission in the context of an entity
12
+ * @param entity
13
+ * @param permission
14
+ * @param user
15
+ * @returns
16
+ */
17
+ export declare function checkPermission(permission: HubPermission, user: IUser, permissions: IHubPermission[]): boolean;
18
+ /**
19
+ * Get all the permission definitions for the given entity, and the specific permission
20
+ * @param permission
21
+ * @param permissions
22
+ * @returns
23
+ */
24
+ export declare function getPermissions(permission: HubPermission, permissions: IHubPermission[]): IHubPermission[];
25
+ /**
26
+ * Add a permission entry to the permissions array
27
+ * @param permission
28
+ * @param definition
29
+ * @param permissions
30
+ * @returns
31
+ */
32
+ export declare function addPermission(permission: HubPermission, definition: IHubPermission, permissions: IHubPermission[]): IHubPermission[];
33
+ /**
34
+ * Remove a permission
35
+ * @param permission
36
+ * @param targetId
37
+ * @param permissions
38
+ * @returns
39
+ */
40
+ export declare function removePermission(permission: HubPermission, targetId: string, permissions: IHubPermission[]): IHubPermission[];
@@ -0,0 +1,27 @@
1
+ import { IGroup } from "@esri/arcgis-rest-portal";
2
+ import { AccessLevel } from "../types";
3
+ /**
4
+ * Sharing behavior for Item-Backed Entities
5
+ */
6
+ export interface IWithSharingBehavior {
7
+ /**
8
+ * Share the item with the specified group
9
+ * @param groupId
10
+ */
11
+ shareWithGroup(groupId: string): Promise<void>;
12
+ /**
13
+ * Unshare the item with the specified group
14
+ * @param groupId
15
+ */
16
+ unshareWithGroup(groupId: string): Promise<void>;
17
+ /**
18
+ * Set the access level for the item
19
+ * @param access
20
+ */
21
+ setAccess(access: AccessLevel): Promise<void>;
22
+ /**
23
+ * Get the list of groups that the item is shared to.
24
+ * Limited to Groups that the user has access to
25
+ */
26
+ sharedWith(): Promise<IGroup[]>;
27
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Ensure consitent interfaces for the Hub classes
3
+ */
4
+ export interface IWithStoreBehavior<T> {
5
+ /**
6
+ * Export the internal entity to a JSON object. This should be used to get the JSON representation of the entity before passing into a component
7
+ */
8
+ toJson(): T;
9
+ /**
10
+ * Push changes into the Class. This method should be used when applying updates from a component, into the class instance
11
+ * @param changes
12
+ */
13
+ update(changes: Partial<T>): void;
14
+ /**
15
+ * Save the class instance to it's backing store
16
+ */
17
+ save(): Promise<void>;
18
+ /**
19
+ * Delete the class instance from it's backing store
20
+ */
21
+ delete(): Promise<void>;
22
+ }
@@ -0,0 +1,4 @@
1
+ export * from "./IWithPermissionBehavior";
2
+ export * from "./IWithCatalogBehavior";
3
+ export * from "./IWithStoreBehavior";
4
+ export * from "./IWithSharingBehavior";
@@ -1,2 +1,4 @@
1
1
  export * from "./traits";
2
2
  export * from "./types";
3
+ export * from "./behaviors";
4
+ export * from "./PermissionManager";
@@ -0,0 +1,7 @@
1
+ import { IHubCatalog } from "../../search";
2
+ export interface IWithCatalogDefinition {
3
+ /**
4
+ * Catalog
5
+ */
6
+ catalogDefinition: IHubCatalog;
7
+ }
@@ -0,0 +1,10 @@
1
+ import { IHubPermission } from "../types";
2
+ /**
3
+ * Adds permissions property to an entity
4
+ */
5
+ export interface IWithPermissionDefinition {
6
+ /**
7
+ * List of permissions for the entity
8
+ */
9
+ permissionDefinition: IHubPermission[];
10
+ }
@@ -1,3 +1,4 @@
1
- export * from "./WithBannerImage";
2
- export * from "./WithLayout";
3
- export * from "./WithSlug";
1
+ export * from "./IWithBannerImage";
2
+ export * from "./IWithLayout";
3
+ export * from "./IWithSlug";
4
+ export * from "./IWithPermissions";
@@ -23,7 +23,7 @@ export interface IHubEntityManager<T> {
23
23
  * @param id
24
24
  * @param requestOptions
25
25
  */
26
- destroy(id: string, requestOptions: IUserRequestOptions): Promise<void>;
26
+ delete(id: string, requestOptions: IUserRequestOptions): Promise<void>;
27
27
  /**
28
28
  * Get an entity by an identifier. Implementations can handle this
29
29
  * differently as needed. i.e. a HubProject can be fetched by item id (guid)
@@ -1,4 +1,4 @@
1
- import { IWithBannerImage } from "../traits/WithBannerImage";
1
+ import { IWithBannerImage } from "../traits/IWithBannerImage";
2
2
  import { IHubItemEntity } from "./IHubItemEntity";
3
3
  /**
4
4
  * DRAFT: Under development and more properties will likely be added
@@ -1,4 +1,4 @@
1
- import { IWithLayout } from "../traits/WithLayout";
1
+ import { IWithLayout } from "../traits/IWithLayout";
2
2
  import { IHubItemEntity } from "./IHubItemEntity";
3
3
  /**
4
4
  * DRAFT: Under development and more properties will likely be added
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Structure of a Hub Permission
3
+ */
4
+ export interface IHubPermission {
5
+ /**
6
+ * Unique identifier of the permission
7
+ */
8
+ id?: string;
9
+ /**
10
+ * What action is being enabled for the target
11
+ */
12
+ permission: HubPermission;
13
+ /**
14
+ * What is the target of the permission
15
+ */
16
+ target: PermissionTarget;
17
+ /**
18
+ * Id of the entity that this permission is granted for
19
+ */
20
+ targetId: string;
21
+ }
22
+ export declare type HubPermission = "addEvent" | "createEvent" | "editEvent" | "deleteEvent" | "addInitiative" | "createInitiative" | "editInitiative" | "deleteInitiative" | "addProject" | "createProject" | "editProject" | "deleteProject";
23
+ export declare type PermissionTarget = "org" | "group" | "user";
@@ -1,9 +1,10 @@
1
- import { IHubTimeline } from ".";
2
- import { IHubItemEntity, IWithLayout, IWithSlug } from "..";
1
+ import { IHubTimeline, IHubItemEntity } from "./index";
2
+ import { IWithLayout, IWithPermissionDefinition, IWithSlug } from "../traits/index";
3
+ import { IWithCatalogDefinition } from "../traits/IWithCatalogDefinition";
3
4
  /**
4
5
  * Defines the properties of a Hub Project object
5
6
  */
6
- export interface IHubProject extends IHubItemEntity, IWithSlug, IWithLayout {
7
+ export interface IHubProject extends IHubItemEntity, IWithSlug, IWithCatalogDefinition, IWithLayout, IWithPermissionDefinition {
7
8
  /**
8
9
  * Timeline for the project
9
10
  */
@@ -1,6 +1,6 @@
1
1
  import { IExtent } from "@esri/arcgis-rest-feature-layer";
2
- import { IWithSlug } from "../traits/WithSlug";
3
- import { IWithLayout } from "../traits/WithLayout";
2
+ import { IWithSlug } from "../traits/IWithSlug";
3
+ import { IWithLayout } from "../traits/IWithLayout";
4
4
  import { IHubItemEntity } from "./IHubItemEntity";
5
5
  /**
6
6
  * DRAFT: Under development and more properties will likely be added
@@ -16,3 +16,4 @@ export * from "./IHubTimeline";
16
16
  export * from "./IItemEnrichments";
17
17
  export * from "./IServerEnrichments";
18
18
  export * from "./types";
19
+ export * from "./IHubPermission";
@@ -1,4 +1,8 @@
1
+ /**
2
+ * Access levels that can be set on an item
3
+ */
4
+ export declare type SettableAccessLevel = "public" | "org" | "private";
1
5
  /**
2
6
  * Access level for Platform Entities
3
7
  */
4
- export declare type AccessLevel = "public" | "shared" | "org" | "private";
8
+ export declare type AccessLevel = SettableAccessLevel | "shared";
@@ -23,7 +23,6 @@ export * from "./types";
23
23
  export * from "./urls";
24
24
  export * from "./util";
25
25
  export * from "./utils";
26
- export * from "./Hub";
27
26
  export * from "./pages";
28
27
  export * from "./org";
29
28
  export * from "./users";
@@ -0,0 +1,92 @@
1
+ import { IHubProject, IWithPermissionBehavior, IWithCatalogBehavior, PermissionManager, IWithStoreBehavior, IWithSharingBehavior, SettableAccessLevel } from "../core";
2
+ import { Catalog } from "../search/Catalog";
3
+ import { IArcGISContext } from "../ArcGISContext";
4
+ import { IGroup } from "@esri/arcgis-rest-types";
5
+ /**
6
+ * Hub Project Class
7
+ */
8
+ export declare class HubProject implements IWithStoreBehavior<IHubProject>, IWithPermissionBehavior, IWithCatalogBehavior, IWithSharingBehavior {
9
+ private context;
10
+ private entity;
11
+ private isDestroyed;
12
+ private _catalog;
13
+ private _permissionManager;
14
+ /**
15
+ * Private constructor so we don't have `new` all over the place. Allows for
16
+ * more flexibility in how we create the HubProjectManager over time.
17
+ * @param context
18
+ */
19
+ private constructor();
20
+ /**
21
+ * @returns Catalog instance for this project. Note: Do not hold direct references to this object; always access it from the project.
22
+ */
23
+ get catalog(): Catalog;
24
+ /**
25
+ * @returns PermissionManager instance for this project. Note: Do not hold direct references to this object; always access it from the project.
26
+ */
27
+ get permissions(): PermissionManager;
28
+ /**
29
+ * Create an instance from an IHubProject object
30
+ * @param json - JSON object to create a HubProject from
31
+ * @param context - ArcGIS context
32
+ * @returns
33
+ */
34
+ static fromJson(json: Partial<IHubProject>, context: IArcGISContext): HubProject;
35
+ /**
36
+ * Create a new HubProject, returning a HubProject instance.
37
+ * Note: This does not persist the Project into the backing store
38
+ * @param partialProject
39
+ * @param context
40
+ * @returns
41
+ */
42
+ static create(partialProject: Partial<IHubProject>, context: IArcGISContext, save?: boolean): Promise<HubProject>;
43
+ /**
44
+ * Fetch a Project from the backing store and return a HubProject instance.
45
+ * @param identifier - Identifier of the project to load
46
+ * @param context
47
+ * @returns
48
+ */
49
+ static fetch(identifier: string, context: IArcGISContext): Promise<HubProject>;
50
+ private static applyDefaults;
51
+ /**
52
+ * Get the current state of the IHubProject from the instance
53
+ * @returns IHubProject POJO
54
+ */
55
+ toJson(): IHubProject;
56
+ /**
57
+ * Apply a new state to the instance
58
+ * @param changes
59
+ */
60
+ update(changes: Partial<IHubProject>): void;
61
+ /**
62
+ * Save the HubProject to the store
63
+ * @returns
64
+ */
65
+ save(): Promise<void>;
66
+ /**
67
+ * Delete the HubProject from the store
68
+ * set a flag to indicate that it is destroyed
69
+ * @returns
70
+ */
71
+ delete(): Promise<void>;
72
+ /**
73
+ * Share the Project with the specified group id
74
+ * @param groupId
75
+ */
76
+ shareWithGroup(groupId: string): Promise<void>;
77
+ /**
78
+ * Unshare the Project with the specified group id
79
+ * @param groupId
80
+ */
81
+ unshareWithGroup(groupId: string): Promise<void>;
82
+ /**
83
+ * Set the access level of the backing item
84
+ * @param access
85
+ */
86
+ setAccess(access: SettableAccessLevel): Promise<void>;
87
+ /**
88
+ * Return a list of groups the Project is shared to.
89
+ * @returns
90
+ */
91
+ sharedWith(): Promise<IGroup[]>;
92
+ }