@esri/hub-common 11.0.0-beta.4 → 11.1.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 (123) hide show
  1. package/dist/esm/core/HubItemEntity.js +142 -0
  2. package/dist/esm/core/HubItemEntity.js.map +1 -0
  3. package/dist/esm/core/_internal/getBasePropertyMap.js +53 -0
  4. package/dist/esm/core/_internal/getBasePropertyMap.js.map +1 -0
  5. package/dist/esm/core/traits/IWithCatalog.js +1 -0
  6. package/dist/esm/core/traits/IWithCatalog.js.map +1 -0
  7. package/dist/esm/core/traits/index.js +1 -0
  8. package/dist/esm/core/traits/index.js.map +1 -1
  9. package/dist/esm/core/types/IEntityResource.js +1 -0
  10. package/dist/esm/core/types/IEntityResource.js.map +1 -0
  11. package/dist/esm/core/types/IItemResource.js +1 -0
  12. package/dist/esm/core/types/IItemResource.js.map +1 -0
  13. package/dist/esm/core/types/index.js +0 -2
  14. package/dist/esm/core/types/index.js.map +1 -1
  15. package/dist/esm/index.js +1 -2
  16. package/dist/esm/index.js.map +1 -1
  17. package/dist/esm/initiatives/HubInitiative.js +147 -0
  18. package/dist/esm/initiatives/HubInitiative.js.map +1 -0
  19. package/dist/esm/initiatives/HubInitiatives.js +205 -0
  20. package/dist/esm/initiatives/HubInitiatives.js.map +1 -0
  21. package/dist/esm/initiatives/defaults.js +31 -0
  22. package/dist/esm/initiatives/defaults.js.map +1 -0
  23. package/dist/esm/initiatives/index.js +3 -0
  24. package/dist/esm/initiatives/index.js.map +1 -0
  25. package/dist/esm/projects/HubProject.js +8 -66
  26. package/dist/esm/projects/HubProject.js.map +1 -1
  27. package/dist/esm/projects/HubProjects.js +13 -86
  28. package/dist/esm/projects/HubProjects.js.map +1 -1
  29. package/dist/esm/projects/defaults.js +2 -1
  30. package/dist/esm/projects/defaults.js.map +1 -1
  31. package/dist/esm/search/_internal/index.js +0 -2
  32. package/dist/esm/search/_internal/index.js.map +1 -1
  33. package/dist/esm/sites/HubSites.js +7 -34
  34. package/dist/esm/sites/HubSites.js.map +1 -1
  35. package/dist/node/core/HubItemEntity.js +146 -0
  36. package/dist/node/core/HubItemEntity.js.map +1 -0
  37. package/dist/node/core/_internal/getBasePropertyMap.js +57 -0
  38. package/dist/node/core/_internal/getBasePropertyMap.js.map +1 -0
  39. package/dist/node/core/{types/IHubEntityManager.js → traits/IWithCatalog.js} +1 -1
  40. package/dist/node/core/traits/IWithCatalog.js.map +1 -0
  41. package/dist/node/core/traits/index.js +1 -0
  42. package/dist/node/core/traits/index.js.map +1 -1
  43. package/dist/node/core/types/{IHubItemEntityManager.js → IEntityResource.js} +1 -1
  44. package/dist/node/core/types/IEntityResource.js.map +1 -0
  45. package/dist/node/core/{traits/IWithCatalogDefinition.js → types/IItemResource.js} +1 -1
  46. package/dist/node/core/types/IItemResource.js.map +1 -0
  47. package/dist/node/core/types/index.js +0 -2
  48. package/dist/node/core/types/index.js.map +1 -1
  49. package/dist/node/index.js +1 -2
  50. package/dist/node/index.js.map +1 -1
  51. package/dist/node/initiatives/HubInitiative.js +151 -0
  52. package/dist/node/initiatives/HubInitiative.js.map +1 -0
  53. package/dist/node/initiatives/HubInitiatives.js +214 -0
  54. package/dist/node/initiatives/HubInitiatives.js.map +1 -0
  55. package/dist/node/initiatives/defaults.js +34 -0
  56. package/dist/node/initiatives/defaults.js.map +1 -0
  57. package/dist/node/initiatives/index.js +6 -0
  58. package/dist/node/initiatives/index.js.map +1 -0
  59. package/dist/node/projects/HubProject.js +8 -66
  60. package/dist/node/projects/HubProject.js.map +1 -1
  61. package/dist/node/projects/HubProjects.js +14 -88
  62. package/dist/node/projects/HubProjects.js.map +1 -1
  63. package/dist/node/projects/defaults.js +2 -1
  64. package/dist/node/projects/defaults.js.map +1 -1
  65. package/dist/node/search/_internal/index.js +0 -2
  66. package/dist/node/search/_internal/index.js.map +1 -1
  67. package/dist/node/sites/HubSites.js +9 -37
  68. package/dist/node/sites/HubSites.js.map +1 -1
  69. package/dist/types/content/_internal.d.ts +8 -8
  70. package/dist/types/core/HubItemEntity.d.ts +55 -0
  71. package/dist/types/core/_internal/getBasePropertyMap.d.ts +7 -0
  72. package/dist/types/core/behaviors/IWithStoreBehavior.d.ts +10 -0
  73. package/dist/types/core/traits/{IWithCatalogDefinition.d.ts → IWithCatalog.d.ts} +0 -0
  74. package/dist/types/core/traits/IWithPermissions.d.ts +1 -1
  75. package/dist/types/core/traits/index.d.ts +1 -0
  76. package/dist/types/core/types/IEntityResource.d.ts +21 -0
  77. package/dist/types/core/types/IHubContent.d.ts +1 -1
  78. package/dist/types/core/types/IHubInitiative.d.ts +2 -2
  79. package/dist/types/core/types/IHubItemEntity.d.ts +25 -16
  80. package/dist/types/core/types/IHubProject.d.ts +3 -3
  81. package/dist/types/core/types/IItemResource.d.ts +9 -0
  82. package/dist/types/core/types/index.d.ts +0 -2
  83. package/dist/types/index.d.ts +1 -0
  84. package/dist/types/initiatives/HubInitiative.d.ts +67 -0
  85. package/dist/types/initiatives/HubInitiatives.d.ts +55 -0
  86. package/dist/types/initiatives/defaults.d.ts +11 -0
  87. package/dist/types/initiatives/index.d.ts +2 -0
  88. package/dist/types/projects/HubProject.d.ts +8 -34
  89. package/dist/types/projects/HubProjects.d.ts +2 -12
  90. package/dist/types/search/_internal/index.d.ts +0 -2
  91. package/dist/types/sites/HubSites.d.ts +2 -9
  92. package/package.json +1 -1
  93. package/dist/esm/core/traits/IWithCatalogDefinition.js +0 -1
  94. package/dist/esm/core/traits/IWithCatalogDefinition.js.map +0 -1
  95. package/dist/esm/core/types/IHubEntityManager.js +0 -1
  96. package/dist/esm/core/types/IHubEntityManager.js.map +0 -1
  97. package/dist/esm/core/types/IHubItemEntityManager.js +0 -1
  98. package/dist/esm/core/types/IHubItemEntityManager.js.map +0 -1
  99. package/dist/esm/projects/HubProjectManager.js +0 -241
  100. package/dist/esm/projects/HubProjectManager.js.map +0 -1
  101. package/dist/esm/search/_internal/createQueryFromString.js +0 -22
  102. package/dist/esm/search/_internal/createQueryFromString.js.map +0 -1
  103. package/dist/esm/search/_internal/searchEntities.js +0 -73
  104. package/dist/esm/search/_internal/searchEntities.js.map +0 -1
  105. package/dist/esm/sites/HubSiteManager.js +0 -155
  106. package/dist/esm/sites/HubSiteManager.js.map +0 -1
  107. package/dist/node/core/traits/IWithCatalogDefinition.js.map +0 -1
  108. package/dist/node/core/types/IHubEntityManager.js.map +0 -1
  109. package/dist/node/core/types/IHubItemEntityManager.js.map +0 -1
  110. package/dist/node/projects/HubProjectManager.js +0 -245
  111. package/dist/node/projects/HubProjectManager.js.map +0 -1
  112. package/dist/node/search/_internal/createQueryFromString.js +0 -26
  113. package/dist/node/search/_internal/createQueryFromString.js.map +0 -1
  114. package/dist/node/search/_internal/searchEntities.js +0 -78
  115. package/dist/node/search/_internal/searchEntities.js.map +0 -1
  116. package/dist/node/sites/HubSiteManager.js +0 -159
  117. package/dist/node/sites/HubSiteManager.js.map +0 -1
  118. package/dist/types/core/types/IHubEntityManager.d.ts +0 -46
  119. package/dist/types/core/types/IHubItemEntityManager.d.ts +0 -25
  120. package/dist/types/projects/HubProjectManager.d.ts +0 -153
  121. package/dist/types/search/_internal/createQueryFromString.d.ts +0 -10
  122. package/dist/types/search/_internal/searchEntities.d.ts +0 -23
  123. package/dist/types/sites/HubSiteManager.d.ts +0 -104
@@ -1,245 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HubProjectManager = void 0;
4
- const HubProjects_1 = require("./HubProjects");
5
- // Node has issues if this is not directly imported
6
- const ArcGISContextManager_1 = require("../ArcGISContextManager");
7
- const __1 = require("..");
8
- const setItemThumbnail_1 = require("../items/setItemThumbnail");
9
- const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
10
- const utils_1 = require("../utils");
11
- /**
12
- * @private
13
- * Centralized functions used to manage IHubProject instances
14
- *
15
- * This class is a convenience wrapper over util functions which
16
- * are also directly accessible for use in scenarios where
17
- * classes are inconvenient.
18
- */
19
- class HubProjectManager {
20
- /**
21
- * Private so we can employ a factory function should we need
22
- * async work during creation
23
- * @param contextOrManager
24
- */
25
- constructor(contextOrManager) {
26
- if (contextOrManager instanceof ArcGISContextManager_1.ArcGISContextManager) {
27
- this._contextManager = contextOrManager;
28
- }
29
- else {
30
- this._context = contextOrManager;
31
- }
32
- }
33
- /**
34
- * Factory function to construct a new HubProjectManager instance.
35
- *
36
- * Note: Used so that we could do async actions in the ctor.
37
- * @param contextOrManager
38
- * @returns
39
- */
40
- static init(contextOrManager) {
41
- return new HubProjectManager(contextOrManager);
42
- }
43
- /**
44
- * Getter to abstract how we store the context
45
- */
46
- get context() {
47
- if (this._contextManager) {
48
- return this._contextManager.context;
49
- }
50
- else {
51
- return this._context;
52
- }
53
- }
54
- /**
55
- * Create and store new project.
56
- *
57
- * Projects are stored as Items in the Sharing API
58
- * @param project
59
- * @param requestOptions
60
- * @returns
61
- */
62
- async create(project, requestOptions) {
63
- if (requestOptions || this.context.isAuthenticated) {
64
- // ammend in the orgUrlKey
65
- if (!project.orgUrlKey) {
66
- project.orgUrlKey = this.context.portal.urlKey;
67
- }
68
- return HubProjects_1.createProject(project, requestOptions || this.context.userRequestOptions);
69
- }
70
- else {
71
- throw new __1.HubError("Create Project", "Creating Hub Projects requires authentication.");
72
- }
73
- }
74
- /**
75
- * Update a project
76
- * @param project
77
- * @param requestOptions
78
- * @returns
79
- */
80
- async update(project, requestOptions) {
81
- if (requestOptions || this.context.isAuthenticated) {
82
- return HubProjects_1.updateProject(project, requestOptions || this.context.userRequestOptions);
83
- }
84
- else {
85
- throw new __1.HubError("Update Project", "Updating Hub Projects requires authentication.");
86
- }
87
- }
88
- /**
89
- * Destroy a project.
90
- * This permanently removes the backing Item
91
- * @param id
92
- * @param requestOptions
93
- * @returns
94
- */
95
- async delete(id, requestOptions) {
96
- if (requestOptions || this.context.isAuthenticated) {
97
- return HubProjects_1.deleteProject(id, requestOptions || this.context.userRequestOptions);
98
- }
99
- else {
100
- throw new __1.HubError("Delete Project", "Destroying Hub Projects requires authentication.");
101
- }
102
- }
103
- /**
104
- * Fetch a Project via id or it's slug
105
- *
106
- * This function does not require a user to be
107
- * authenticated, but it does require an `IRequestOptions`
108
- * which contains the portal instance to communicate with
109
- * @param identifier
110
- * @param requestOptions
111
- * @returns
112
- */
113
- async fetch(identifier, requestOptions) {
114
- if (requestOptions || this.context.requestOptions) {
115
- return HubProjects_1.fetchProject(identifier, requestOptions || this.context.requestOptions);
116
- }
117
- else {
118
- throw new __1.HubError("Fetch Project", "Can not retrieve context.requestOptions from Context Manager. HubProjectManager is configured incorrectly.");
119
- }
120
- }
121
- /**
122
- * Search for Projects
123
- *
124
- * @param query
125
- * @param options
126
- */
127
- async search(query, options) {
128
- // if we were not passed auth, and we have a session, use it
129
- if (!options.authentication && this.context.session) {
130
- options.authentication = this.context.session;
131
- }
132
- return HubProjects_1.searchProjects(query, options);
133
- }
134
- /**
135
- * Set the thumbnail for the Project
136
- * @param id
137
- * @param file
138
- * @param filename
139
- * @param requestOptions
140
- * @returns
141
- */
142
- async updateThumbnail(project, file, filename, requestOptions) {
143
- const ro = requestOptions || this.context.userRequestOptions;
144
- await setItemThumbnail_1.setItemThumbnail(project.id, file, filename, ro);
145
- // get the item so we have updated props and timestamps
146
- return this.fetch(project.id, requestOptions);
147
- }
148
- /**
149
- * Convert a Hub Project Item to a IHubProject
150
- * @param item
151
- * @param requestOptions
152
- * @returns
153
- */
154
- async fromItem(item, requestOptions) {
155
- const ro = requestOptions || this.context.userRequestOptions;
156
- return HubProjects_1.convertItemToProject(item, ro);
157
- }
158
- /**
159
- * Sets the access level of a Hub Project
160
- *
161
- * @param {IHubProject} project
162
- * @param {("public" | "org" | "private")} accessLevel
163
- * @param {IUserRequestOptions} [requestOptions]
164
- * @returns
165
- */
166
- async setAccess(project, accessLevel, requestOptions) {
167
- if (requestOptions || this.context.isAuthenticated) {
168
- const ro = requestOptions || this.context.userRequestOptions;
169
- return arcgis_rest_portal_1.setItemAccess(Object.assign({ id: project.id, owner: project.owner, access: accessLevel }, ro));
170
- }
171
- else {
172
- throw new __1.HubError("Set Project Access", "Setting Hub Projects access level requires authentication.");
173
- }
174
- }
175
- /**
176
- * Shares a Hub Project to a group
177
- *
178
- * @param {IHubProject} project
179
- * @param {IGroup} group
180
- * @param {IUserRequestOptions} [requestOptions]
181
- * @returns
182
- */
183
- async shareToGroup(project, group, requestOptions) {
184
- if (requestOptions || this.context.isAuthenticated) {
185
- const ro = requestOptions || this.context.userRequestOptions;
186
- return arcgis_rest_portal_1.shareItemWithGroup(Object.assign({ id: project.id, owner: project.owner, groupId: group.id, confirmItemControl: utils_1.isUpdateGroup(group) }, ro));
187
- }
188
- else {
189
- throw new __1.HubError("Share Project to Group", "Sharing Hub Projects to group requires authentication.");
190
- }
191
- }
192
- /**
193
- * Shares a Hub Project to N Groups.
194
- *
195
- * @param {IHubProject} project
196
- * @param {IGroup[]} groups
197
- * @param {IUserRequestOptions} [requestOptions]
198
- * @returns
199
- */
200
- async shareToGroups(project, groups, requestOptions) {
201
- if (requestOptions || this.context.isAuthenticated) {
202
- const failSafeShare = utils_1.failSafe(this.shareToGroup);
203
- return Promise.all(groups.map((group) => failSafeShare(project, group, requestOptions)));
204
- }
205
- else {
206
- throw new __1.HubError("Share Project to Groups", "Sharing Hub Projects to groups requires authentication.");
207
- }
208
- }
209
- /**
210
- * Unshares a Hub Project from a group
211
- *
212
- * @param {IHubProject} project
213
- * @param {IGroup} group
214
- * @param {IUserRequestOptions} [requestOptions]
215
- * @returns
216
- */
217
- async unshareFromGroup(project, group, requestOptions) {
218
- if (requestOptions || this.context.isAuthenticated) {
219
- const ro = requestOptions || this.context.userRequestOptions;
220
- return arcgis_rest_portal_1.unshareItemWithGroup(Object.assign({ id: project.id, owner: project.owner, groupId: group.id }, ro));
221
- }
222
- else {
223
- throw new __1.HubError("Unshare Project from Group", "Unsharing Hub Project from group requires authentication.");
224
- }
225
- }
226
- /**
227
- * Unshares a Hub Project from N groups.
228
- *
229
- * @param {IHubProject} project
230
- * @param {IGroup[]} groups
231
- * @param {IUserRequestOptions} [requestOptions]
232
- * @returns
233
- */
234
- async unshareFromGroups(project, groups, requestOptions) {
235
- if (requestOptions || this.context.isAuthenticated) {
236
- const failSafeUnshare = utils_1.failSafe(this.unshareFromGroup);
237
- return Promise.all(groups.map((group) => failSafeUnshare(project, group, requestOptions)));
238
- }
239
- else {
240
- throw new __1.HubError("Unshare Project from Groups", "Unsharing Hub Project from groups requires authentication.");
241
- }
242
- }
243
- }
244
- exports.HubProjectManager = HubProjectManager;
245
- //# sourceMappingURL=HubProjectManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HubProjectManager.js","sourceRoot":"","sources":["../../../src/projects/HubProjectManager.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createQueryFromString = void 0;
4
- /**
5
- * @private
6
- * Construct a query from a string
7
- * @param value
8
- * @param predicateKey
9
- * @param targetEntity
10
- * @returns
11
- */
12
- function createQueryFromString(value, predicateKey, targetEntity) {
13
- const predicate = {};
14
- predicate[predicateKey] = value;
15
- const qry = {
16
- targetEntity,
17
- filters: [
18
- {
19
- predicates: [predicate],
20
- },
21
- ],
22
- };
23
- return qry;
24
- }
25
- exports.createQueryFromString = createQueryFromString;
26
- //# sourceMappingURL=createQueryFromString.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createQueryFromString.js","sourceRoot":"","sources":["../../../../src/search/_internal/createQueryFromString.ts"],"names":[],"mappings":";;;AAEA;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CACnC,KAAa,EACb,YAAoB,EACpB,YAAwB;IAExB,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,SAAS,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IAChC,MAAM,GAAG,GAAW;QAClB,YAAY;QACZ,OAAO,EAAE;YACP;gBACE,UAAU,EAAE,CAAC,SAAS,CAAC;aACxB;SACF;KACF,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAhBD,sDAgBC"}
@@ -1,78 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createEntitySearchFn = exports.searchEntities = void 0;
4
- const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
- const utils_1 = require("../utils");
6
- const serializeQueryForPortal_1 = require("../serializeQueryForPortal");
7
- const portalSearchUtils_1 = require("./portalSearchUtils");
8
- /**
9
- * @private
10
- * Execute a search and convert to a specific entity
11
- * @param query
12
- * @param convertFn
13
- * @param options
14
- * @returns
15
- */
16
- function searchEntities(query, convertFn, options) {
17
- var _a;
18
- // serialize query to searchOptions
19
- const searchOptions = serializeQueryForPortal_1.serializeQueryForPortal(query);
20
- // Aggregations
21
- if ((_a = options.aggFields) === null || _a === void 0 ? void 0 : _a.length) {
22
- searchOptions.countFields = options.aggFields.join(",");
23
- searchOptions.countSize = options.aggLimit || 10;
24
- }
25
- // properties to copy from IHubSearchOptions to the ISearchOptions
26
- const props = [
27
- "num",
28
- "sortField",
29
- "sortOrder",
30
- "start",
31
- "requestOptions",
32
- ];
33
- // Include "start" here
34
- // copy the props over
35
- props.forEach((prop) => {
36
- if (options.hasOwnProperty(prop)) {
37
- searchOptions[prop] = options[prop];
38
- }
39
- });
40
- // create the entitySearchFn
41
- const searchFn = createEntitySearchFn(convertFn);
42
- // Add ArcGIS API
43
- if (options.api && !options.authentication) {
44
- const expandedApi = utils_1.expandApi(options.api);
45
- searchOptions.portal = expandedApi.url;
46
- }
47
- return searchFn(searchOptions);
48
- }
49
- exports.searchEntities = searchEntities;
50
- /**
51
- * @private
52
- * @param convertFn
53
- * @returns
54
- */
55
- function createEntitySearchFn(convertFn) {
56
- // Return a function that does the search, with a closure over the
57
- // conversion function. Naming this function is important as it's
58
- // referenced in the `next` section below
59
- return async function executeSearch(searchOptions) {
60
- // execute the search against portal api
61
- const response = await arcgis_rest_portal_1.searchItems(searchOptions);
62
- // run the conversion function
63
- const entities = await Promise.all(response.results.map((itm) => {
64
- return convertFn(itm, searchOptions);
65
- }));
66
- // convert portal aggregations into hub aggregations
67
- const aggregations = portalSearchUtils_1.convertPortalAggregations(response);
68
- return {
69
- total: response.total,
70
- results: entities,
71
- aggregations,
72
- hasNext: response.nextStart > -1,
73
- next: utils_1.getNextFunction(searchOptions, response.nextStart, response.total, executeSearch),
74
- };
75
- };
76
- }
77
- exports.createEntitySearchFn = createEntitySearchFn;
78
- //# sourceMappingURL=searchEntities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"searchEntities.js","sourceRoot":"","sources":["../../../../src/search/_internal/searchEntities.ts"],"names":[],"mappings":";;;AAAA,iEAAuE;AAKvE,oCAAsD;AAEtD,wEAAqE;AACrE,2DAAgE;AAUhE;;;;;;;GAOG;AACH,SAAgB,cAAc,CAC5B,KAAa,EACb,SAAgC,EAChC,OAA0B;;IAE1B,mCAAmC;IACnC,MAAM,aAAa,GAAG,iDAAuB,CAAC,KAAK,CAAC,CAAC;IAErD,eAAe;IACf,UAAI,OAAO,CAAC,SAAS,0CAAE,MAAM,EAAE;QAC7B,aAAa,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxD,aAAa,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;KAClD;IACD,kEAAkE;IAClE,MAAM,KAAK,GAAmC;QAC5C,KAAK;QACL,WAAW;QACX,WAAW;QACX,OAAO;QACP,gBAAgB;KACjB,CAAC;IAEF,uBAAuB;IACvB,sBAAsB;IACtB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAChC,aAAa,CAAC,IAA4B,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SAC7D;IACH,CAAC,CAAC,CAAC;IACH,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAEjD,iBAAiB;IACjB,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;QAC1C,MAAM,WAAW,GAAG,iBAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3C,aAAa,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC;KACxC;IACD,OAAO,QAAQ,CAAC,aAAa,CAAC,CAAC;AACjC,CAAC;AAtCD,wCAsCC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAClC,SAAgC;IAEhC,kEAAkE;IAClE,iEAAiE;IACjE,yCAAyC;IACzC,OAAO,KAAK,UAAU,aAAa,CACjC,aAA6B;QAE7B,wCAAwC;QACxC,MAAM,QAAQ,GAAG,MAAM,gCAAW,CAAC,aAAa,CAAC,CAAC;QAClD,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3B,OAAO,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACvC,CAAC,CAAC,CACH,CAAC;QAEF,qDAAqD;QACrD,MAAM,YAAY,GAAG,6CAAyB,CAAC,QAAQ,CAAC,CAAC;QAEzD,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,OAAO,EAAE,QAAQ;YACjB,YAAY;YACZ,OAAO,EAAE,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;YAChC,IAAI,EAAE,uBAAe,CACnB,aAAa,EACb,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,KAAK,EACd,aAAa,CACd;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAlCD,oDAkCC"}
@@ -1,159 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HubSiteManager = void 0;
4
- const HubError_1 = require("../HubError");
5
- // Node has issues if this is not directly imported
6
- const ArcGISContextManager_1 = require("../ArcGISContextManager");
7
- const HubSites_1 = require("./HubSites");
8
- const setItemThumbnail_1 = require("../items/setItemThumbnail");
9
- class HubSiteManager {
10
- /**
11
- * Private so we can employ a factory function should we need
12
- * async work during creation
13
- * @param contextOrManager
14
- */
15
- constructor(contextOrManager) {
16
- if (contextOrManager instanceof ArcGISContextManager_1.ArcGISContextManager) {
17
- this._contextManager = contextOrManager;
18
- }
19
- else {
20
- this._context = contextOrManager;
21
- }
22
- }
23
- /**
24
- * Factory function to construct a new HubProjectManager instance.
25
- *
26
- * Note: Used so that we could do async actions in the ctor.
27
- * @param contextOrManager
28
- * @returns
29
- */
30
- static init(contextOrManager) {
31
- return new HubSiteManager(contextOrManager);
32
- }
33
- /**
34
- * Getter to abstract how we store the context
35
- */
36
- get context() {
37
- if (this._contextManager) {
38
- return this._contextManager.context;
39
- }
40
- else {
41
- return this._context;
42
- }
43
- }
44
- /**
45
- * Create and store a new Site
46
- *
47
- * This also registers the item for oAuth and
48
- * registers domain names with the hub Domain system
49
- *
50
- * Sites are stored as Items in the Sharing API
51
- * @param site
52
- * @param requestOptions
53
- * @returns
54
- */
55
- async create(site, requestOptions) {
56
- if (requestOptions || this.context.isAuthenticated) {
57
- // ammend in the orgUrlKey
58
- if (!site.orgUrlKey) {
59
- site.orgUrlKey = this.context.portal.urlKey;
60
- }
61
- return HubSites_1.createSite(site, requestOptions || this.context.hubRequestOptions);
62
- }
63
- else {
64
- throw new HubError_1.default("Create Site", "Creating Hub Sites requires authentication.");
65
- }
66
- }
67
- /**
68
- * Update a Site
69
- * @param site
70
- * @param requestOptions
71
- * @returns
72
- */
73
- async update(site, requestOptions) {
74
- if (requestOptions || this.context.isAuthenticated) {
75
- return HubSites_1.updateSite(site, requestOptions || this.context.hubRequestOptions);
76
- }
77
- else {
78
- throw new HubError_1.default("Update Site", "Updating a Hub Site requires authentication.");
79
- }
80
- }
81
- /**
82
- * Destroy a Site
83
- * This permanently removes the backing Item,
84
- * and clears the domain entries for it.
85
- * @param id
86
- * @param requestOptions
87
- * @returns
88
- */
89
- async delete(id, requestOptions) {
90
- if (requestOptions || this.context.isAuthenticated) {
91
- return HubSites_1.destroySite(id, requestOptions || this.context.hubRequestOptions);
92
- }
93
- else {
94
- throw new HubError_1.default("Destroy Site", "Destroying Hub Sites requires authentication.");
95
- }
96
- }
97
- /**
98
- * Fetch a Site via Id, slug or domain
99
- *
100
- * This function does not require a user to be
101
- * authenticated, but it does require an `IRequestOptions`
102
- * which contains the portal instance to communicate with
103
- * @param identifier
104
- * @param requestOptions
105
- * @returns
106
- */
107
- async fetch(identifier, requestOptions) {
108
- try {
109
- if (requestOptions || this.context.hubRequestOptions) {
110
- return HubSites_1._fetchSite(identifier, requestOptions || this.context.hubRequestOptions);
111
- }
112
- else {
113
- throw new HubError_1.default("Fetch Site", "Can not retrieve context.hubRequestOptions from Context Manager. HubSiteManager is configured incorrectly.");
114
- }
115
- }
116
- catch (ex) {
117
- throw new HubError_1.default("Fetch Site", "Can not retrieve context.hubRequestOptions from Context Manager. HubSiteManager is configured incorrectly.", ex);
118
- }
119
- }
120
- /**
121
- * Search for Sites
122
- *
123
- * @param filter
124
- * @param opts
125
- */
126
- async search(query, options) {
127
- // if we were not passed auth, and we have a session, use it
128
- if (!options.authentication && this.context.session) {
129
- options.authentication = this.context.session;
130
- }
131
- return HubSites_1.searchSites(query, options);
132
- }
133
- /**
134
- * Set the thumbnail for the Site
135
- * @param id
136
- * @param file
137
- * @param filename
138
- * @param requestOptions
139
- * @returns
140
- */
141
- async updateThumbnail(site, file, filename, requestOptions) {
142
- const ro = requestOptions || this.context.userRequestOptions;
143
- await setItemThumbnail_1.setItemThumbnail(site.id, file, filename, ro);
144
- // get the item so we have updated props and timestamps
145
- return this.fetch(site.id, requestOptions);
146
- }
147
- /**
148
- * Convert a Hub Project Item to a IHubProject
149
- * @param item
150
- * @param requestOptions
151
- * @returns
152
- */
153
- async fromItem(item, requestOptions) {
154
- const ro = requestOptions || this.context.userRequestOptions;
155
- return HubSites_1.convertItemToSite(item, ro);
156
- }
157
- }
158
- exports.HubSiteManager = HubSiteManager;
159
- //# sourceMappingURL=HubSiteManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HubSiteManager.js","sourceRoot":"","sources":["../../../src/sites/HubSiteManager.ts"],"names":[],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- import { IUserRequestOptions } from "@esri/arcgis-rest-auth";
2
- import { IRequestOptions } from "@esri/arcgis-rest-request";
3
- import { IHubSearchOptions } from "../../search/types/IHubSearchOptions";
4
- import { IHubSearchResponse, IQuery } from "../../search";
5
- /**
6
- * Baseline CRUD+Search functions required for all Store classes
7
- */
8
- export interface IHubEntityManager<T> {
9
- /**
10
- * Create and Store a new Entity
11
- * @param obj
12
- * @param requestOptions
13
- */
14
- create(obj: T, requestOptions: IUserRequestOptions): Promise<T>;
15
- /**
16
- * Update an existing Entity
17
- * @param obj
18
- * @param requestOptions
19
- */
20
- update(obj: T, requestOptions: IUserRequestOptions): Promise<T>;
21
- /**
22
- * Destroy an Entity
23
- * @param id
24
- * @param requestOptions
25
- */
26
- delete(id: string, requestOptions: IUserRequestOptions): Promise<void>;
27
- /**
28
- * Get an entity by an identifier. Implementations can handle this
29
- * differently as needed. i.e. a HubProject can be fetched by item id (guid)
30
- * or by a slug.
31
- * @param identifier
32
- * @param requestOptions
33
- */
34
- fetch(identifier: string, requestOptions: IRequestOptions): Promise<T>;
35
- /**
36
- * Search for Entitys of type `T`
37
- *
38
- * Note: When implementing, this should be a search for things of type `T`
39
- * not searching "within" the `T`.
40
- *
41
- * i.e. Searching for Teams, not searching for content shared to a team.
42
- * @param query
43
- * @param opts
44
- */
45
- search(query: IQuery, opts: IHubSearchOptions): Promise<IHubSearchResponse<T>>;
46
- }
@@ -1,25 +0,0 @@
1
- import { IUserRequestOptions } from "@esri/arcgis-rest-auth";
2
- import { IRequestOptions } from "@esri/arcgis-rest-request";
3
- import { IItem } from "@esri/arcgis-rest-types";
4
- /**
5
- * Item specific functions that must be implemented by Managers which operate against
6
- * items stored in the Portal API
7
- */
8
- export interface IHubItemEntityManager<T> {
9
- /**
10
- * Add a thumbnail to an item
11
- * @param entity
12
- * @param file
13
- * @param name
14
- * @param requestOptions
15
- */
16
- updateThumbnail(entity: T, file: any, filename: string, requestOptions?: IUserRequestOptions): Promise<T>;
17
- /**
18
- * Given an item, do any additional data fetching and return
19
- * a type `T`
20
- *
21
- * @param item
22
- * @param requestOptions
23
- */
24
- fromItem(item: IItem, requestOptions: IRequestOptions): Promise<T>;
25
- }