@esri/hub-common 11.0.0-beta.3 → 11.0.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 (58) hide show
  1. package/dist/esm/core/PermissionManager.js +4 -4
  2. package/dist/esm/core/PermissionManager.js.map +1 -1
  3. package/dist/esm/core/behaviors/IWithPermissionBehavior.js +2 -2
  4. package/dist/esm/core/behaviors/IWithPermissionBehavior.js.map +1 -1
  5. package/dist/esm/projects/HubProject.js +10 -175
  6. package/dist/esm/projects/HubProject.js.map +1 -1
  7. package/dist/esm/projects/HubProjects.js +1 -36
  8. package/dist/esm/projects/HubProjects.js.map +1 -1
  9. package/dist/esm/projects/defaults.js +2 -2
  10. package/dist/esm/projects/defaults.js.map +1 -1
  11. package/dist/esm/search/_internal/index.js +0 -2
  12. package/dist/esm/search/_internal/index.js.map +1 -1
  13. package/dist/esm/sites/HubSites.js +7 -34
  14. package/dist/esm/sites/HubSites.js.map +1 -1
  15. package/dist/node/core/PermissionManager.js +4 -4
  16. package/dist/node/core/PermissionManager.js.map +1 -1
  17. package/dist/node/core/behaviors/IWithPermissionBehavior.js +2 -2
  18. package/dist/node/core/behaviors/IWithPermissionBehavior.js.map +1 -1
  19. package/dist/node/projects/HubProject.js +10 -175
  20. package/dist/node/projects/HubProject.js.map +1 -1
  21. package/dist/node/projects/HubProjects.js +2 -38
  22. package/dist/node/projects/HubProjects.js.map +1 -1
  23. package/dist/node/projects/defaults.js +2 -2
  24. package/dist/node/projects/defaults.js.map +1 -1
  25. package/dist/node/search/_internal/index.js +0 -2
  26. package/dist/node/search/_internal/index.js.map +1 -1
  27. package/dist/node/sites/HubSites.js +9 -37
  28. package/dist/node/sites/HubSites.js.map +1 -1
  29. package/dist/types/core/PermissionManager.d.ts +1 -1
  30. package/dist/types/core/behaviors/IWithPermissionBehavior.d.ts +1 -1
  31. package/dist/types/core/traits/IWithCatalogDefinition.d.ts +2 -2
  32. package/dist/types/core/traits/IWithPermissions.d.ts +1 -1
  33. package/dist/types/core/types/IHubProject.d.ts +2 -2
  34. package/dist/types/projects/HubProject.d.ts +1 -1
  35. package/dist/types/projects/HubProjects.d.ts +2 -12
  36. package/dist/types/search/_internal/index.d.ts +0 -2
  37. package/dist/types/sites/HubSites.d.ts +2 -9
  38. package/package.json +1 -1
  39. package/dist/esm/projects/HubProjectManager.js +0 -240
  40. package/dist/esm/projects/HubProjectManager.js.map +0 -1
  41. package/dist/esm/search/_internal/createQueryFromString.js +0 -22
  42. package/dist/esm/search/_internal/createQueryFromString.js.map +0 -1
  43. package/dist/esm/search/_internal/searchEntities.js +0 -73
  44. package/dist/esm/search/_internal/searchEntities.js.map +0 -1
  45. package/dist/esm/sites/HubSiteManager.js +0 -155
  46. package/dist/esm/sites/HubSiteManager.js.map +0 -1
  47. package/dist/node/projects/HubProjectManager.js +0 -244
  48. package/dist/node/projects/HubProjectManager.js.map +0 -1
  49. package/dist/node/search/_internal/createQueryFromString.js +0 -26
  50. package/dist/node/search/_internal/createQueryFromString.js.map +0 -1
  51. package/dist/node/search/_internal/searchEntities.js +0 -78
  52. package/dist/node/search/_internal/searchEntities.js.map +0 -1
  53. package/dist/node/sites/HubSiteManager.js +0 -159
  54. package/dist/node/sites/HubSiteManager.js.map +0 -1
  55. package/dist/types/projects/HubProjectManager.d.ts +0 -152
  56. package/dist/types/search/_internal/createQueryFromString.d.ts +0 -10
  57. package/dist/types/search/_internal/searchEntities.d.ts +0 -23
  58. package/dist/types/sites/HubSiteManager.d.ts +0 -104
@@ -1,5 +1,5 @@
1
1
  import { IItem } from "@esri/arcgis-rest-portal";
2
- import { IHubRequestOptions, IHubSearchOptions, IHubSearchResponse, IHubSearchResult, IHubSite, IQuery } from "../index";
2
+ import { IHubRequestOptions, IHubSearchResult, IHubSite } from "../index";
3
3
  import { IRequestOptions } from "@esri/arcgis-rest-request";
4
4
  export declare const HUB_SITE_ITEM_TYPE = "Hub Site Application";
5
5
  export declare const ENTERPRISE_SITE_ITEM_TYPE = "Site Application";
@@ -38,7 +38,7 @@ export declare function destroySite(id: string, requestOptions: IHubRequestOptio
38
38
  * @param requestOptions
39
39
  * @private // remove when we remove existing fetchSite function
40
40
  */
41
- export declare function _fetchSite(identifier: string, requestOptions: IHubRequestOptions): Promise<IHubSite>;
41
+ export declare function fetchSite(identifier: string, requestOptions: IHubRequestOptions): Promise<IHubSite>;
42
42
  /**
43
43
  * Convert a Hub Site Application item into a Hub Site, fetching any
44
44
  * additional information that may be required
@@ -47,13 +47,6 @@ export declare function _fetchSite(identifier: string, requestOptions: IHubReque
47
47
  * @returns
48
48
  */
49
49
  export declare function convertItemToSite(item: IItem, requestOptions: IRequestOptions): Promise<IHubSite>;
50
- /**
51
- * Search for Sites and get IHubSite results
52
- * @param filter
53
- * @param options
54
- * @returns
55
- */
56
- export declare function searchSites(query: string | IQuery, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSite>>;
57
50
  /**
58
51
  * Fetch Site specific enrichments
59
52
  * @param item
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "11.0.0-beta.3",
3
+ "version": "11.0.0",
4
4
  "description": "Common TypeScript types and utility functions for @esri/hub.js.",
5
5
  "main": "dist/node/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -1,240 +0,0 @@
1
- import { createProject, updateProject, deleteProject, fetchProject, searchProjects, convertItemToProject, } from "./HubProjects";
2
- // Node has issues if this is not directly imported
3
- import { ArcGISContextManager } from "../ArcGISContextManager";
4
- import { HubError, } from "..";
5
- import { setItemThumbnail as updateItemThumbnail } from "../items/setItemThumbnail";
6
- import { setItemAccess, shareItemWithGroup, unshareItemWithGroup, } from "@esri/arcgis-rest-portal";
7
- import { failSafe, isUpdateGroup } from "../utils";
8
- /**
9
- * Centralized functions used to manage IHubProject instances
10
- *
11
- * This class is a convenience wrapper over util functions which
12
- * are also directly accessible for use in scenarios where
13
- * classes are inconvenient.
14
- */
15
- export class HubProjectManager {
16
- /**
17
- * Private so we can employ a factory function should we need
18
- * async work during creation
19
- * @param contextOrManager
20
- */
21
- constructor(contextOrManager) {
22
- if (contextOrManager instanceof ArcGISContextManager) {
23
- this._contextManager = contextOrManager;
24
- }
25
- else {
26
- this._context = contextOrManager;
27
- }
28
- }
29
- /**
30
- * Factory function to construct a new HubProjectManager instance.
31
- *
32
- * Note: Used so that we could do async actions in the ctor.
33
- * @param contextOrManager
34
- * @returns
35
- */
36
- static init(contextOrManager) {
37
- return new HubProjectManager(contextOrManager);
38
- }
39
- /**
40
- * Getter to abstract how we store the context
41
- */
42
- get context() {
43
- if (this._contextManager) {
44
- return this._contextManager.context;
45
- }
46
- else {
47
- return this._context;
48
- }
49
- }
50
- /**
51
- * Create and store new project.
52
- *
53
- * Projects are stored as Items in the Sharing API
54
- * @param project
55
- * @param requestOptions
56
- * @returns
57
- */
58
- async create(project, requestOptions) {
59
- if (requestOptions || this.context.isAuthenticated) {
60
- // ammend in the orgUrlKey
61
- if (!project.orgUrlKey) {
62
- project.orgUrlKey = this.context.portal.urlKey;
63
- }
64
- return createProject(project, requestOptions || this.context.userRequestOptions);
65
- }
66
- else {
67
- throw new HubError("Create Project", "Creating Hub Projects requires authentication.");
68
- }
69
- }
70
- /**
71
- * Update a project
72
- * @param project
73
- * @param requestOptions
74
- * @returns
75
- */
76
- async update(project, requestOptions) {
77
- if (requestOptions || this.context.isAuthenticated) {
78
- return updateProject(project, requestOptions || this.context.userRequestOptions);
79
- }
80
- else {
81
- throw new HubError("Update Project", "Updating Hub Projects requires authentication.");
82
- }
83
- }
84
- /**
85
- * Destroy a project.
86
- * This permanently removes the backing Item
87
- * @param id
88
- * @param requestOptions
89
- * @returns
90
- */
91
- async delete(id, requestOptions) {
92
- if (requestOptions || this.context.isAuthenticated) {
93
- return deleteProject(id, requestOptions || this.context.userRequestOptions);
94
- }
95
- else {
96
- throw new HubError("Delete Project", "Destroying Hub Projects requires authentication.");
97
- }
98
- }
99
- /**
100
- * Fetch a Project via id or it's slug
101
- *
102
- * This function does not require a user to be
103
- * authenticated, but it does require an `IRequestOptions`
104
- * which contains the portal instance to communicate with
105
- * @param identifier
106
- * @param requestOptions
107
- * @returns
108
- */
109
- async fetch(identifier, requestOptions) {
110
- if (requestOptions || this.context.requestOptions) {
111
- return fetchProject(identifier, requestOptions || this.context.requestOptions);
112
- }
113
- else {
114
- throw new HubError("Fetch Project", "Can not retrieve context.requestOptions from Context Manager. HubProjectManager is configured incorrectly.");
115
- }
116
- }
117
- /**
118
- * Search for Projects
119
- *
120
- * @param query
121
- * @param options
122
- */
123
- async search(query, options) {
124
- // if we were not passed auth, and we have a session, use it
125
- if (!options.authentication && this.context.session) {
126
- options.authentication = this.context.session;
127
- }
128
- return searchProjects(query, options);
129
- }
130
- /**
131
- * Set the thumbnail for the Project
132
- * @param id
133
- * @param file
134
- * @param filename
135
- * @param requestOptions
136
- * @returns
137
- */
138
- async updateThumbnail(project, file, filename, requestOptions) {
139
- const ro = requestOptions || this.context.userRequestOptions;
140
- await updateItemThumbnail(project.id, file, filename, ro);
141
- // get the item so we have updated props and timestamps
142
- return this.fetch(project.id, requestOptions);
143
- }
144
- /**
145
- * Convert a Hub Project Item to a IHubProject
146
- * @param item
147
- * @param requestOptions
148
- * @returns
149
- */
150
- async fromItem(item, requestOptions) {
151
- const ro = requestOptions || this.context.userRequestOptions;
152
- return convertItemToProject(item, ro);
153
- }
154
- /**
155
- * Sets the access level of a Hub Project
156
- *
157
- * @param {IHubProject} project
158
- * @param {("public" | "org" | "private")} accessLevel
159
- * @param {IUserRequestOptions} [requestOptions]
160
- * @returns
161
- */
162
- async setAccess(project, accessLevel, requestOptions) {
163
- if (requestOptions || this.context.isAuthenticated) {
164
- const ro = requestOptions || this.context.userRequestOptions;
165
- return setItemAccess(Object.assign({ id: project.id, owner: project.owner, access: accessLevel }, ro));
166
- }
167
- else {
168
- throw new HubError("Set Project Access", "Setting Hub Projects access level requires authentication.");
169
- }
170
- }
171
- /**
172
- * Shares a Hub Project to a group
173
- *
174
- * @param {IHubProject} project
175
- * @param {IGroup} group
176
- * @param {IUserRequestOptions} [requestOptions]
177
- * @returns
178
- */
179
- async shareToGroup(project, group, requestOptions) {
180
- if (requestOptions || this.context.isAuthenticated) {
181
- const ro = requestOptions || this.context.userRequestOptions;
182
- return shareItemWithGroup(Object.assign({ id: project.id, owner: project.owner, groupId: group.id, confirmItemControl: isUpdateGroup(group) }, ro));
183
- }
184
- else {
185
- throw new HubError("Share Project to Group", "Sharing Hub Projects to group requires authentication.");
186
- }
187
- }
188
- /**
189
- * Shares a Hub Project to N Groups.
190
- *
191
- * @param {IHubProject} project
192
- * @param {IGroup[]} groups
193
- * @param {IUserRequestOptions} [requestOptions]
194
- * @returns
195
- */
196
- async shareToGroups(project, groups, requestOptions) {
197
- if (requestOptions || this.context.isAuthenticated) {
198
- const failSafeShare = failSafe(this.shareToGroup);
199
- return Promise.all(groups.map((group) => failSafeShare(project, group, requestOptions)));
200
- }
201
- else {
202
- throw new HubError("Share Project to Groups", "Sharing Hub Projects to groups requires authentication.");
203
- }
204
- }
205
- /**
206
- * Unshares a Hub Project from a group
207
- *
208
- * @param {IHubProject} project
209
- * @param {IGroup} group
210
- * @param {IUserRequestOptions} [requestOptions]
211
- * @returns
212
- */
213
- async unshareFromGroup(project, group, requestOptions) {
214
- if (requestOptions || this.context.isAuthenticated) {
215
- const ro = requestOptions || this.context.userRequestOptions;
216
- return unshareItemWithGroup(Object.assign({ id: project.id, owner: project.owner, groupId: group.id }, ro));
217
- }
218
- else {
219
- throw new HubError("Unshare Project from Group", "Unsharing Hub Project from group requires authentication.");
220
- }
221
- }
222
- /**
223
- * Unshares a Hub Project from N groups.
224
- *
225
- * @param {IHubProject} project
226
- * @param {IGroup[]} groups
227
- * @param {IUserRequestOptions} [requestOptions]
228
- * @returns
229
- */
230
- async unshareFromGroups(project, groups, requestOptions) {
231
- if (requestOptions || this.context.isAuthenticated) {
232
- const failSafeUnshare = failSafe(this.unshareFromGroup);
233
- return Promise.all(groups.map((group) => failSafeUnshare(project, group, requestOptions)));
234
- }
235
- else {
236
- throw new HubError("Unshare Project from Groups", "Unsharing Hub Project from groups requires authentication.");
237
- }
238
- }
239
- }
240
- //# sourceMappingURL=HubProjectManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HubProjectManager.js","sourceRoot":"","sources":["../../../src/projects/HubProjectManager.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,EACd,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,mDAAmD;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,QAAQ,GAKT,MAAM,IAAI,CAAC;AAGZ,OAAO,EAAE,gBAAgB,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEpF,OAAO,EAEL,aAAa,EACb,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,OAAO,iBAAiB;IAkB5B;;;;OAIG;IACH,YAAoB,gBAAuD;QACzE,IAAI,gBAAgB,YAAY,oBAAoB,EAAE;YACpD,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;SAClC;IACH,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CACT,gBAAuD;QAEvD,OAAO,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,IAAY,OAAO;QACjB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;SACrC;aAAM;YACL,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,OAA6B,EAC7B,cAAoC;QAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAClD,0BAA0B;YAC1B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;gBACtB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;aAChD;YACD,OAAO,aAAa,CAClB,OAAO,EACP,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,CAAC;SACH;aAAM;YACL,MAAM,IAAI,QAAQ,CAChB,gBAAgB,EAChB,gDAAgD,CACjD,CAAC;SACH;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,OAAoB,EACpB,cAAoC;QAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAClD,OAAO,aAAa,CAClB,OAAO,EACP,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,CAAC;SACH;aAAM;YACL,MAAM,IAAI,QAAQ,CAChB,gBAAgB,EAChB,gDAAgD,CACjD,CAAC;SACH;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACV,EAAU,EACV,cAAoC;QAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAClD,OAAO,aAAa,CAClB,EAAE,EACF,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,CAAC;SACH;aAAM;YACL,MAAM,IAAI,QAAQ,CAChB,gBAAgB,EAChB,kDAAkD,CACnD,CAAC;SACH;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,KAAK,CACT,UAAkB,EAClB,cAAgC;QAEhC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YACjD,OAAO,YAAY,CACjB,UAAU,EACV,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAC9C,CAAC;SACH;aAAM;YACL,MAAM,IAAI,QAAQ,CAChB,eAAe,EACf,4GAA4G,CAC7G,CAAC;SACH;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,KAAsB,EACtB,OAA0B;QAE1B,4DAA4D;QAC5D,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACnD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SAC/C;QAED,OAAO,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,OAAoB,EACpB,IAAS,EACT,QAAgB,EAChB,cAAoC;QAEpC,MAAM,EAAE,GAAG,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;QAC7D,MAAM,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC1D,uDAAuD;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CACZ,IAAW,EACX,cAAgC;QAEhC,MAAM,EAAE,GAAG,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;QAC7D,OAAO,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CACb,OAAoB,EACpB,WAAyC,EACzC,cAAoC;QAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAClD,MAAM,EAAE,GAAG,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;YAC7D,OAAO,aAAa,iBAClB,EAAE,EAAE,OAAO,CAAC,EAAE,EACd,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,MAAM,EAAE,WAAW,IAChB,EAAE,EACL,CAAC;SACJ;aAAM;YACL,MAAM,IAAI,QAAQ,CAChB,oBAAoB,EACpB,4DAA4D,CAC7D,CAAC;SACH;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,YAAY,CAChB,OAAoB,EACpB,KAAa,EACb,cAAoC;QAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAClD,MAAM,EAAE,GAAG,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;YAC7D,OAAO,kBAAkB,iBACvB,EAAE,EAAE,OAAO,CAAC,EAAE,EACd,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,OAAO,EAAE,KAAK,CAAC,EAAE,EACjB,kBAAkB,EAAE,aAAa,CAAC,KAAK,CAAC,IACrC,EAAE,EACL,CAAC;SACJ;aAAM;YACL,MAAM,IAAI,QAAQ,CAChB,wBAAwB,EACxB,wDAAwD,CACzD,CAAC;SACH;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CACjB,OAAoB,EACpB,MAAgB,EAChB,cAAoC;QAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAClD,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClD,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAC3B,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,CAC9C,CACF,CAAC;SACH;aAAM;YACL,MAAM,IAAI,QAAQ,CAChB,yBAAyB,EACzB,yDAAyD,CAC1D,CAAC;SACH;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAAoB,EACpB,KAAa,EACb,cAAoC;QAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAClD,MAAM,EAAE,GAAG,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;YAC7D,OAAO,oBAAoB,iBACzB,EAAE,EAAE,OAAO,CAAC,EAAE,EACd,KAAK,EAAE,OAAO,CAAC,KAAK,EACpB,OAAO,EAAE,KAAK,CAAC,EAAE,IACd,EAAE,EACL,CAAC;SACJ;aAAM;YACL,MAAM,IAAI,QAAQ,CAChB,4BAA4B,EAC5B,2DAA2D,CAC5D,CAAC;SACH;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,iBAAiB,CACrB,OAAoB,EACpB,MAAgB,EAChB,cAAoC;QAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAClD,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACxD,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAC3B,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,CAChD,CACF,CAAC;SACH;aAAM;YACL,MAAM,IAAI,QAAQ,CAChB,6BAA6B,EAC7B,4DAA4D,CAC7D,CAAC;SACH;IACH,CAAC;CACF"}
@@ -1,22 +0,0 @@
1
- /**
2
- * @private
3
- * Construct a query from a string
4
- * @param value
5
- * @param predicateKey
6
- * @param targetEntity
7
- * @returns
8
- */
9
- export function createQueryFromString(value, predicateKey, targetEntity) {
10
- const predicate = {};
11
- predicate[predicateKey] = value;
12
- const qry = {
13
- targetEntity,
14
- filters: [
15
- {
16
- predicates: [predicate],
17
- },
18
- ],
19
- };
20
- return qry;
21
- }
22
- //# 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,MAAM,UAAU,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"}
@@ -1,73 +0,0 @@
1
- import { searchItems } from "@esri/arcgis-rest-portal";
2
- import { expandApi, getNextFunction } from "../utils";
3
- import { serializeQueryForPortal } from "../serializeQueryForPortal";
4
- import { convertPortalAggregations } from "./portalSearchUtils";
5
- /**
6
- * @private
7
- * Execute a search and convert to a specific entity
8
- * @param query
9
- * @param convertFn
10
- * @param options
11
- * @returns
12
- */
13
- export function searchEntities(query, convertFn, options) {
14
- var _a;
15
- // serialize query to searchOptions
16
- const searchOptions = serializeQueryForPortal(query);
17
- // Aggregations
18
- if ((_a = options.aggFields) === null || _a === void 0 ? void 0 : _a.length) {
19
- searchOptions.countFields = options.aggFields.join(",");
20
- searchOptions.countSize = options.aggLimit || 10;
21
- }
22
- // properties to copy from IHubSearchOptions to the ISearchOptions
23
- const props = [
24
- "num",
25
- "sortField",
26
- "sortOrder",
27
- "start",
28
- "requestOptions",
29
- ];
30
- // Include "start" here
31
- // copy the props over
32
- props.forEach((prop) => {
33
- if (options.hasOwnProperty(prop)) {
34
- searchOptions[prop] = options[prop];
35
- }
36
- });
37
- // create the entitySearchFn
38
- const searchFn = createEntitySearchFn(convertFn);
39
- // Add ArcGIS API
40
- if (options.api && !options.authentication) {
41
- const expandedApi = expandApi(options.api);
42
- searchOptions.portal = expandedApi.url;
43
- }
44
- return searchFn(searchOptions);
45
- }
46
- /**
47
- * @private
48
- * @param convertFn
49
- * @returns
50
- */
51
- export function createEntitySearchFn(convertFn) {
52
- // Return a function that does the search, with a closure over the
53
- // conversion function. Naming this function is important as it's
54
- // referenced in the `next` section below
55
- return async function executeSearch(searchOptions) {
56
- // execute the search against portal api
57
- const response = await searchItems(searchOptions);
58
- // run the conversion function
59
- const entities = await Promise.all(response.results.map((itm) => {
60
- return convertFn(itm, searchOptions);
61
- }));
62
- // convert portal aggregations into hub aggregations
63
- const aggregations = convertPortalAggregations(response);
64
- return {
65
- total: response.total,
66
- results: entities,
67
- aggregations,
68
- hasNext: response.nextStart > -1,
69
- next: getNextFunction(searchOptions, response.nextStart, response.total, executeSearch),
70
- };
71
- };
72
- }
73
- //# sourceMappingURL=searchEntities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"searchEntities.js","sourceRoot":"","sources":["../../../../src/search/_internal/searchEntities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAKvE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAUhE;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,SAAgC,EAChC,OAA0B;;IAE1B,mCAAmC;IACnC,MAAM,aAAa,GAAG,uBAAuB,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,SAAS,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;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAAgC;IAEhC,kEAAkE;IAClE,iEAAiE;IACjE,yCAAyC;IACzC,OAAO,KAAK,UAAU,aAAa,CACjC,aAA6B;QAE7B,wCAAwC;QACxC,MAAM,QAAQ,GAAG,MAAM,WAAW,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,yBAAyB,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,eAAe,CACnB,aAAa,EACb,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,KAAK,EACd,aAAa,CACd;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -1,155 +0,0 @@
1
- import HubError from "../HubError";
2
- // Node has issues if this is not directly imported
3
- import { ArcGISContextManager } from "../ArcGISContextManager";
4
- import { updateSite, destroySite, createSite, _fetchSite, convertItemToSite, searchSites, } from "./HubSites";
5
- import { setItemThumbnail as updateItemThumbnail } from "../items/setItemThumbnail";
6
- export class HubSiteManager {
7
- /**
8
- * Private so we can employ a factory function should we need
9
- * async work during creation
10
- * @param contextOrManager
11
- */
12
- constructor(contextOrManager) {
13
- if (contextOrManager instanceof ArcGISContextManager) {
14
- this._contextManager = contextOrManager;
15
- }
16
- else {
17
- this._context = contextOrManager;
18
- }
19
- }
20
- /**
21
- * Factory function to construct a new HubProjectManager instance.
22
- *
23
- * Note: Used so that we could do async actions in the ctor.
24
- * @param contextOrManager
25
- * @returns
26
- */
27
- static init(contextOrManager) {
28
- return new HubSiteManager(contextOrManager);
29
- }
30
- /**
31
- * Getter to abstract how we store the context
32
- */
33
- get context() {
34
- if (this._contextManager) {
35
- return this._contextManager.context;
36
- }
37
- else {
38
- return this._context;
39
- }
40
- }
41
- /**
42
- * Create and store a new Site
43
- *
44
- * This also registers the item for oAuth and
45
- * registers domain names with the hub Domain system
46
- *
47
- * Sites are stored as Items in the Sharing API
48
- * @param site
49
- * @param requestOptions
50
- * @returns
51
- */
52
- async create(site, requestOptions) {
53
- if (requestOptions || this.context.isAuthenticated) {
54
- // ammend in the orgUrlKey
55
- if (!site.orgUrlKey) {
56
- site.orgUrlKey = this.context.portal.urlKey;
57
- }
58
- return createSite(site, requestOptions || this.context.hubRequestOptions);
59
- }
60
- else {
61
- throw new HubError("Create Site", "Creating Hub Sites requires authentication.");
62
- }
63
- }
64
- /**
65
- * Update a Site
66
- * @param site
67
- * @param requestOptions
68
- * @returns
69
- */
70
- async update(site, requestOptions) {
71
- if (requestOptions || this.context.isAuthenticated) {
72
- return updateSite(site, requestOptions || this.context.hubRequestOptions);
73
- }
74
- else {
75
- throw new HubError("Update Site", "Updating a Hub Site requires authentication.");
76
- }
77
- }
78
- /**
79
- * Destroy a Site
80
- * This permanently removes the backing Item,
81
- * and clears the domain entries for it.
82
- * @param id
83
- * @param requestOptions
84
- * @returns
85
- */
86
- async delete(id, requestOptions) {
87
- if (requestOptions || this.context.isAuthenticated) {
88
- return destroySite(id, requestOptions || this.context.hubRequestOptions);
89
- }
90
- else {
91
- throw new HubError("Destroy Site", "Destroying Hub Sites requires authentication.");
92
- }
93
- }
94
- /**
95
- * Fetch a Site via Id, slug or domain
96
- *
97
- * This function does not require a user to be
98
- * authenticated, but it does require an `IRequestOptions`
99
- * which contains the portal instance to communicate with
100
- * @param identifier
101
- * @param requestOptions
102
- * @returns
103
- */
104
- async fetch(identifier, requestOptions) {
105
- try {
106
- if (requestOptions || this.context.hubRequestOptions) {
107
- return _fetchSite(identifier, requestOptions || this.context.hubRequestOptions);
108
- }
109
- else {
110
- throw new HubError("Fetch Site", "Can not retrieve context.hubRequestOptions from Context Manager. HubSiteManager is configured incorrectly.");
111
- }
112
- }
113
- catch (ex) {
114
- throw new HubError("Fetch Site", "Can not retrieve context.hubRequestOptions from Context Manager. HubSiteManager is configured incorrectly.", ex);
115
- }
116
- }
117
- /**
118
- * Search for Sites
119
- *
120
- * @param filter
121
- * @param opts
122
- */
123
- async search(query, options) {
124
- // if we were not passed auth, and we have a session, use it
125
- if (!options.authentication && this.context.session) {
126
- options.authentication = this.context.session;
127
- }
128
- return searchSites(query, options);
129
- }
130
- /**
131
- * Set the thumbnail for the Site
132
- * @param id
133
- * @param file
134
- * @param filename
135
- * @param requestOptions
136
- * @returns
137
- */
138
- async updateThumbnail(site, file, filename, requestOptions) {
139
- const ro = requestOptions || this.context.userRequestOptions;
140
- await updateItemThumbnail(site.id, file, filename, ro);
141
- // get the item so we have updated props and timestamps
142
- return this.fetch(site.id, requestOptions);
143
- }
144
- /**
145
- * Convert a Hub Project Item to a IHubProject
146
- * @param item
147
- * @param requestOptions
148
- * @returns
149
- */
150
- async fromItem(item, requestOptions) {
151
- const ro = requestOptions || this.context.userRequestOptions;
152
- return convertItemToSite(item, ro);
153
- }
154
- }
155
- //# 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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"}