@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.
- package/dist/esm/core/PermissionManager.js +4 -4
- package/dist/esm/core/PermissionManager.js.map +1 -1
- package/dist/esm/core/behaviors/IWithPermissionBehavior.js +2 -2
- package/dist/esm/core/behaviors/IWithPermissionBehavior.js.map +1 -1
- package/dist/esm/projects/HubProject.js +10 -175
- package/dist/esm/projects/HubProject.js.map +1 -1
- package/dist/esm/projects/HubProjects.js +1 -36
- package/dist/esm/projects/HubProjects.js.map +1 -1
- package/dist/esm/projects/defaults.js +2 -2
- package/dist/esm/projects/defaults.js.map +1 -1
- package/dist/esm/search/_internal/index.js +0 -2
- package/dist/esm/search/_internal/index.js.map +1 -1
- package/dist/esm/sites/HubSites.js +7 -34
- package/dist/esm/sites/HubSites.js.map +1 -1
- package/dist/node/core/PermissionManager.js +4 -4
- package/dist/node/core/PermissionManager.js.map +1 -1
- package/dist/node/core/behaviors/IWithPermissionBehavior.js +2 -2
- package/dist/node/core/behaviors/IWithPermissionBehavior.js.map +1 -1
- package/dist/node/projects/HubProject.js +10 -175
- package/dist/node/projects/HubProject.js.map +1 -1
- package/dist/node/projects/HubProjects.js +2 -38
- package/dist/node/projects/HubProjects.js.map +1 -1
- package/dist/node/projects/defaults.js +2 -2
- package/dist/node/projects/defaults.js.map +1 -1
- package/dist/node/search/_internal/index.js +0 -2
- package/dist/node/search/_internal/index.js.map +1 -1
- package/dist/node/sites/HubSites.js +9 -37
- package/dist/node/sites/HubSites.js.map +1 -1
- package/dist/types/core/PermissionManager.d.ts +1 -1
- package/dist/types/core/behaviors/IWithPermissionBehavior.d.ts +1 -1
- package/dist/types/core/traits/IWithCatalogDefinition.d.ts +2 -2
- package/dist/types/core/traits/IWithPermissions.d.ts +1 -1
- package/dist/types/core/types/IHubProject.d.ts +2 -2
- package/dist/types/projects/HubProject.d.ts +1 -1
- package/dist/types/projects/HubProjects.d.ts +2 -12
- package/dist/types/search/_internal/index.d.ts +0 -2
- package/dist/types/sites/HubSites.d.ts +2 -9
- package/package.json +1 -1
- package/dist/esm/projects/HubProjectManager.js +0 -240
- package/dist/esm/projects/HubProjectManager.js.map +0 -1
- package/dist/esm/search/_internal/createQueryFromString.js +0 -22
- package/dist/esm/search/_internal/createQueryFromString.js.map +0 -1
- package/dist/esm/search/_internal/searchEntities.js +0 -73
- package/dist/esm/search/_internal/searchEntities.js.map +0 -1
- package/dist/esm/sites/HubSiteManager.js +0 -155
- package/dist/esm/sites/HubSiteManager.js.map +0 -1
- package/dist/node/projects/HubProjectManager.js +0 -244
- package/dist/node/projects/HubProjectManager.js.map +0 -1
- package/dist/node/search/_internal/createQueryFromString.js +0 -26
- package/dist/node/search/_internal/createQueryFromString.js.map +0 -1
- package/dist/node/search/_internal/searchEntities.js +0 -78
- package/dist/node/search/_internal/searchEntities.js.map +0 -1
- package/dist/node/sites/HubSiteManager.js +0 -159
- package/dist/node/sites/HubSiteManager.js.map +0 -1
- package/dist/types/projects/HubProjectManager.d.ts +0 -152
- package/dist/types/search/_internal/createQueryFromString.d.ts +0 -10
- package/dist/types/search/_internal/searchEntities.d.ts +0 -23
- 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,
|
|
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
|
|
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,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":"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"}
|
|
@@ -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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"}
|