@esri/hub-common 9.17.1 → 9.18.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/es2017/Hub.js +6 -10
- package/dist/es2017/Hub.js.map +1 -1
- package/dist/es2017/core/types/IHubItemEntityManager.js +1 -0
- package/dist/es2017/core/types/IHubItemEntityManager.js.map +1 -0
- package/dist/es2017/items/index.js +1 -0
- package/dist/es2017/items/index.js.map +1 -1
- package/dist/es2017/items/setItemThumbnail.js +31 -0
- package/dist/es2017/items/setItemThumbnail.js.map +1 -0
- package/dist/es2017/items/slugs.js +39 -15
- package/dist/es2017/items/slugs.js.map +1 -1
- package/dist/es2017/models/index.js +13 -0
- package/dist/es2017/models/index.js.map +1 -1
- package/dist/es2017/projects/HubProjectManager.js +40 -4
- package/dist/es2017/projects/HubProjectManager.js.map +1 -1
- package/dist/es2017/projects/HubProjects.js +91 -18
- package/dist/es2017/projects/HubProjects.js.map +1 -1
- package/dist/esm/Hub.js +6 -10
- package/dist/esm/Hub.js.map +1 -1
- package/dist/esm/core/types/IHubItemEntityManager.js +1 -0
- package/dist/esm/core/types/IHubItemEntityManager.js.map +1 -0
- package/dist/esm/items/index.js +1 -0
- package/dist/esm/items/index.js.map +1 -1
- package/dist/esm/items/setItemThumbnail.js +46 -0
- package/dist/esm/items/setItemThumbnail.js.map +1 -0
- package/dist/esm/items/slugs.js +39 -15
- package/dist/esm/items/slugs.js.map +1 -1
- package/dist/esm/models/index.js +23 -1
- package/dist/esm/models/index.js.map +1 -1
- package/dist/esm/projects/HubProjectManager.js +58 -4
- package/dist/esm/projects/HubProjectManager.js.map +1 -1
- package/dist/esm/projects/HubProjects.js +100 -21
- package/dist/esm/projects/HubProjects.js.map +1 -1
- package/dist/node/Hub.js +6 -10
- package/dist/node/Hub.js.map +1 -1
- package/dist/node/core/types/IHubItemEntityManager.js +3 -0
- package/dist/node/core/types/IHubItemEntityManager.js.map +1 -0
- package/dist/node/items/index.js +1 -0
- package/dist/node/items/index.js.map +1 -1
- package/dist/node/items/setItemThumbnail.js +35 -0
- package/dist/node/items/setItemThumbnail.js.map +1 -0
- package/dist/node/items/slugs.js +42 -17
- package/dist/node/items/slugs.js.map +1 -1
- package/dist/node/models/index.js +15 -1
- package/dist/node/models/index.js.map +1 -1
- package/dist/node/projects/HubProjectManager.js +38 -2
- package/dist/node/projects/HubProjectManager.js.map +1 -1
- package/dist/node/projects/HubProjects.js +91 -17
- package/dist/node/projects/HubProjects.js.map +1 -1
- package/dist/types/Hub.d.ts +7 -11
- package/dist/types/core/types/IHubEntityManager.d.ts +16 -0
- package/dist/types/core/types/IHubItemEntityManager.d.ts +15 -0
- package/dist/types/items/index.d.ts +1 -0
- package/dist/types/items/setItemThumbnail.d.ts +9 -0
- package/dist/types/items/slugs.d.ts +20 -1
- package/dist/types/models/index.d.ts +8 -0
- package/dist/types/projects/HubProjectManager.d.ts +21 -3
- package/dist/types/projects/HubProjects.d.ts +3 -1
- package/dist/umd/common.umd.js +267 -47
- package/dist/umd/common.umd.js.map +1 -1
- package/dist/umd/common.umd.min.js +1 -1
- package/dist/umd/common.umd.min.js.map +1 -1
- package/package.json +1 -1
package/dist/es2017/Hub.js
CHANGED
|
@@ -12,21 +12,19 @@ import { HubProjectManager } from "./projects/HubProjectManager";
|
|
|
12
12
|
*
|
|
13
13
|
* myHub.context.currentUser //=> {username: "casey", ...} as IUser
|
|
14
14
|
*
|
|
15
|
-
* const
|
|
16
|
-
*
|
|
17
|
-
* const pavingProject = await projectStore.create({name: "12th Street Paving"});
|
|
15
|
+
* const pavingProject = await myHub.projects.create({name: "12th Street Paving"});
|
|
18
16
|
* pavingProject.summary = "This is the 2024 planned paving of 12th Street, between 8th and 11th Ave";
|
|
19
|
-
* await
|
|
17
|
+
* await myHub.projects.update(pavingProject);
|
|
20
18
|
* ```
|
|
21
19
|
*
|
|
22
|
-
* This is a convenience class. Hub
|
|
20
|
+
* This is a convenience class. Hub Managers can be created
|
|
23
21
|
* directly, or the underlying functions can be imported an used
|
|
24
22
|
* as need for scenarios where these class structures introduce
|
|
25
23
|
* unwanted complexity
|
|
26
24
|
*/
|
|
27
25
|
export class Hub {
|
|
28
26
|
/**
|
|
29
|
-
* Private so we can employ a factory function
|
|
27
|
+
* Private so we can employ a factory function to do
|
|
30
28
|
* async work during creation
|
|
31
29
|
* @param contextManager
|
|
32
30
|
*/
|
|
@@ -34,9 +32,7 @@ export class Hub {
|
|
|
34
32
|
this._contextManager = contextManager;
|
|
35
33
|
}
|
|
36
34
|
/**
|
|
37
|
-
* Factory function to construct a new
|
|
38
|
-
*
|
|
39
|
-
* Note: Used so that we could do async actions in the ctor.
|
|
35
|
+
* Factory function to construct a new Hub instance.
|
|
40
36
|
* @param contextManager
|
|
41
37
|
* @returns
|
|
42
38
|
*/
|
|
@@ -57,7 +53,7 @@ export class Hub {
|
|
|
57
53
|
return this._contextManager.context;
|
|
58
54
|
}
|
|
59
55
|
/**
|
|
60
|
-
*
|
|
56
|
+
* HubProjectManager for the current Hub
|
|
61
57
|
* @returns
|
|
62
58
|
*/
|
|
63
59
|
get projects() {
|
package/dist/es2017/Hub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hub.js","sourceRoot":"","sources":["../../src/Hub.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAWjE
|
|
1
|
+
{"version":3,"file":"Hub.js","sourceRoot":"","sources":["../../src/Hub.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAWjE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,GAAG;IAYd;;;;OAIG;IACH,YAAoB,cAAoC;QACtD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAoB;QACtC,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SACxC;aAAM;YACL,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpD,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;SACrB;IACH,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACrE;QAED,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=IHubItemEntityManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IHubItemEntityManager.js","sourceRoot":"","sources":["../../../../src/core/types/IHubItemEntityManager.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/items/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,SAAS,CAAC;AACxB,cAAc,oCAAoC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/items/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,SAAS,CAAC;AACxB,cAAc,oCAAoC,CAAC;AACnD,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { updateItem } from "@esri/arcgis-rest-portal";
|
|
2
|
+
import { HubError } from "..";
|
|
3
|
+
/**
|
|
4
|
+
* Upload a file to be used as the thumbnail for an item
|
|
5
|
+
* @param id
|
|
6
|
+
* @param file
|
|
7
|
+
* @param filename
|
|
8
|
+
* @param requestOptions
|
|
9
|
+
*/
|
|
10
|
+
export async function setItemThumbnail(id, file, filename, requestOptions) {
|
|
11
|
+
const opts = Object.assign({ item: {
|
|
12
|
+
id,
|
|
13
|
+
}, params: {
|
|
14
|
+
thumbnail: file,
|
|
15
|
+
}, filename }, requestOptions);
|
|
16
|
+
try {
|
|
17
|
+
const response = await updateItem(opts);
|
|
18
|
+
if (!response.success) {
|
|
19
|
+
throw new HubError("Set Project Thumbnail", "Unknown error setting thumbnail.");
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
catch (err) {
|
|
23
|
+
if (err instanceof Error) {
|
|
24
|
+
throw new HubError("Set Project Thumbnail", err.message, err);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
throw new HubError("Set Project Thumbnail", "Unknown error setting thumbnail.");
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=setItemThumbnail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setItemThumbnail.js","sourceRoot":"","sources":["../../../src/items/setItemThumbnail.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAE9B;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAU,EACV,IAAS,EACT,QAAgB,EAChB,cAAmC;IAEnC,MAAM,IAAI,mBACR,IAAI,EAAE;YACJ,EAAE;SACH,EACD,MAAM,EAAE;YACN,SAAS,EAAE,IAAI;SAChB,EACD,QAAQ,IACL,cAAc,CAClB,CAAC;IACF,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACrB,MAAM,IAAI,QAAQ,CAChB,uBAAuB,EACvB,kCAAkC,CACnC,CAAC;SACH;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,GAAG,YAAY,KAAK,EAAE;YACxB,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SAC/D;aAAM;YACL,MAAM,IAAI,QAAQ,CAChB,uBAAuB,EACvB,kCAAkC,CACnC,CAAC;SACH;KACF;AACH,CAAC"}
|
|
@@ -40,19 +40,43 @@ export function setSlugKeyword(typeKeywords, slug) {
|
|
|
40
40
|
* @returns
|
|
41
41
|
*/
|
|
42
42
|
export function getItemBySlug(slug, requestOptions) {
|
|
43
|
+
return findItemsBySlug({ slug }, requestOptions).then((results) => {
|
|
44
|
+
if (results.length) {
|
|
45
|
+
return results[0];
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Find items by slug typeKeywords.
|
|
54
|
+
*
|
|
55
|
+
* Optional exclude parameter accepts the id of an item we expect to
|
|
56
|
+
* have this particular slug. This is used during update calls
|
|
57
|
+
* where we don't know if the slug specifically has been updated, but we
|
|
58
|
+
* don't want a false-postive from the item we are updating
|
|
59
|
+
*
|
|
60
|
+
* @param slug
|
|
61
|
+
* @param requestOptions
|
|
62
|
+
* @returns
|
|
63
|
+
*/
|
|
64
|
+
export function findItemsBySlug(slugInfo, requestOptions) {
|
|
43
65
|
const opts = {
|
|
44
66
|
q: "",
|
|
45
|
-
filter: `typekeywords:"slug|${slug}"`,
|
|
67
|
+
filter: `typekeywords:"slug|${slugInfo.slug}"`,
|
|
46
68
|
authentication: requestOptions.authentication,
|
|
47
69
|
};
|
|
70
|
+
// We need to check for other items w/ a slug during
|
|
71
|
+
// the update calls. For those scenarios we are interested
|
|
72
|
+
// in any _other_ items which may have a specific slug
|
|
73
|
+
// but not one specific item
|
|
74
|
+
if (slugInfo.exclude) {
|
|
75
|
+
opts.q = `NOT id:${slugInfo.exclude}`;
|
|
76
|
+
}
|
|
48
77
|
return searchItems(opts)
|
|
49
78
|
.then((response) => {
|
|
50
|
-
|
|
51
|
-
return response.results[0];
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
return null;
|
|
55
|
-
}
|
|
79
|
+
return response.results;
|
|
56
80
|
})
|
|
57
81
|
.catch((e) => {
|
|
58
82
|
throw Error(`Error in getItemBySlug ${e}`);
|
|
@@ -70,19 +94,19 @@ export function getItemBySlug(slug, requestOptions) {
|
|
|
70
94
|
* @param step
|
|
71
95
|
* @returns
|
|
72
96
|
*/
|
|
73
|
-
export function getUniqueSlug(
|
|
74
|
-
let
|
|
97
|
+
export function getUniqueSlug(slugInfo, requestOptions, step = 0) {
|
|
98
|
+
let combinedSlug = slugInfo.slug;
|
|
75
99
|
if (step) {
|
|
76
|
-
|
|
100
|
+
combinedSlug = `${slugInfo.slug}-${step}`;
|
|
77
101
|
}
|
|
78
|
-
return
|
|
79
|
-
.then((
|
|
80
|
-
if (
|
|
102
|
+
return findItemsBySlug({ slug: combinedSlug, exclude: slugInfo.existingId }, requestOptions)
|
|
103
|
+
.then((results) => {
|
|
104
|
+
if (results.length) {
|
|
81
105
|
step++;
|
|
82
|
-
return getUniqueSlug(
|
|
106
|
+
return getUniqueSlug(slugInfo, requestOptions, step);
|
|
83
107
|
}
|
|
84
108
|
else {
|
|
85
|
-
return
|
|
109
|
+
return combinedSlug;
|
|
86
110
|
}
|
|
87
111
|
})
|
|
88
112
|
.catch((e) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slugs.js","sourceRoot":"","sources":["../../../src/items/slugs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,+CAA+C;AAC/C,2FAA2F;AAE3F;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,MAAc;IACzD,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,YAAsB,EAAE,IAAY;IACjE,+BAA+B;IAC/B,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE;QACpD,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,aAAa;IACb,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,cAA+B;IAE/B,MAAM,IAAI,GAAG;QACX,CAAC,EAAE,EAAE;QACL,MAAM,EAAE,sBAAsB,IAAI,GAAG;
|
|
1
|
+
{"version":3,"file":"slugs.js","sourceRoot":"","sources":["../../../src/items/slugs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,+CAA+C;AAC/C,2FAA2F;AAE3F;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,MAAc;IACzD,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,YAAsB,EAAE,IAAY;IACjE,+BAA+B;IAC/B,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE;QACpD,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,aAAa;IACb,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,cAA+B;IAE/B,OAAO,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAChE,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;SACnB;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAC7B,QAGC,EACD,cAA+B;IAE/B,MAAM,IAAI,GAAG;QACX,CAAC,EAAE,EAAE;QACL,MAAM,EAAE,sBAAsB,QAAQ,CAAC,IAAI,GAAG;QAC9C,cAAc,EAAE,cAAc,CAAC,cAAc;KAC9C,CAAC;IACF,oDAAoD;IACpD,0DAA0D;IAC1D,sDAAsD;IACtD,4BAA4B;IAC5B,IAAI,QAAQ,CAAC,OAAO,EAAE;QACpB,IAAI,CAAC,CAAC,GAAG,UAAU,QAAQ,CAAC,OAAO,EAAE,CAAC;KACvC;IACD,OAAO,WAAW,CAAC,IAAI,CAAC;SACrB,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAC3B,QAGC,EACD,cAA+B,EAC/B,OAAe,CAAC;IAEhB,IAAI,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;IACjC,IAAI,IAAI,EAAE;QACR,YAAY,GAAG,GAAG,QAAQ,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;KAC3C;IACD,OAAO,eAAe,CACpB,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,EACpD,cAAc,CACf;SACE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAChB,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,IAAI,EAAE,CAAC;YACP,OAAO,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;SACtD;aAAM;YACL,OAAO,YAAY,CAAC;SACrB;IACH,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -95,4 +95,17 @@ export function updateModel(model, requestOptions) {
|
|
|
95
95
|
return clone;
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Given an Item, fetch the data json and return an IModel
|
|
100
|
+
* @param item
|
|
101
|
+
* @param requestOptions
|
|
102
|
+
* @returns
|
|
103
|
+
*/
|
|
104
|
+
export async function fetchModelFromItem(item, requestOptions) {
|
|
105
|
+
const data = await getItemData(item.id, requestOptions);
|
|
106
|
+
return {
|
|
107
|
+
item,
|
|
108
|
+
data,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
98
111
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EACL,UAAU,EACV,OAAO,EACP,WAAW,EAKX,UAAU,GACX,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,WAAW,EAAU,aAAa,EAAE,MAAM,IAAI,CAAC;AAExD;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CACtB,EAAU,EACV,cAA+B;IAE/B,OAAO,OAAO,CAAC,GAAG,CAAC;QACjB,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC;QAC3B,WAAW,CAAC,EAAE,EAAE,cAAc,CAAC;KAChC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAoB,EAAE,EAAE;QAC/B,0BAA0B;QAC1B,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACf,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;SAChB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,cAA+B;IAE/B,OAAO,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC;SACvC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;SACjD;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SAClC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,MAAa,EAAE,EAAE;QACtB,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YACb,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;gBACf,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;aAChB,CAAC;SACH;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,KAAa,EACb,cAAmC;IAEnC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAW,CAAC;IAC3C,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,mBACR,IAAI,IACD,cAAc,CAClB,CAAC;IACF,OAAO,UAAU,CAAC,IAA0B,CAAC,CAAC,IAAI,CAChD,CAAC,QAA6B,EAAE,EAAE;QAChC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;QACzC,OAAO,KAAe,CAAC;IACzB,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CACzB,KAAa,EACb,cAAmC;IAEnC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,mBACR,IAAI,IACD,cAAc,CAClB,CAAC;IAEF,OAAO,UAAU,CAAC,IAA0B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QACtD,2BAA2B;QAC3B,iDAAiD;QACjD,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAW,EACX,cAA+B;IAE/B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACxD,OAAO;QACL,IAAI;QACJ,IAAI;KACK,CAAC;AACd,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { createProject, updateProject, destroyProject,
|
|
1
|
+
import { createProject, updateProject, destroyProject, fetchProject, searchProjects, } from "./HubProjects";
|
|
2
2
|
// Node has issues if this is not directly imported
|
|
3
3
|
import { ArcGISContextManager } from "../ArcGISContextManager";
|
|
4
|
-
import { HubError } from "..";
|
|
4
|
+
import { HubError, } from "..";
|
|
5
|
+
import { setItemThumbnail as updateItemThumbnail } from "../items/setItemThumbnail";
|
|
5
6
|
/**
|
|
6
7
|
* Centralized functions used to manage IHubProject instances
|
|
7
8
|
*
|
|
@@ -93,6 +94,14 @@ export class HubProjectManager {
|
|
|
93
94
|
throw new HubError("Destroy Project", "Destroying Hub Projects requires authentication.");
|
|
94
95
|
}
|
|
95
96
|
}
|
|
97
|
+
// DEPRECATED IN FAVOR OF .fetch()
|
|
98
|
+
// TODO: REMOVE AT NEXT MAJOR
|
|
99
|
+
/* istanbul ignore next */
|
|
100
|
+
async get(identifier, requestOptions) {
|
|
101
|
+
// tslint:disable-next-line
|
|
102
|
+
console.warn(`HubProjectManager.get is deprecated and will be removed. Use .fetch() instead.`);
|
|
103
|
+
return this.fetch(identifier, requestOptions);
|
|
104
|
+
}
|
|
96
105
|
/**
|
|
97
106
|
* Fetch a Project via id or it's slug
|
|
98
107
|
*
|
|
@@ -105,11 +114,38 @@ export class HubProjectManager {
|
|
|
105
114
|
*/
|
|
106
115
|
async fetch(identifier, requestOptions) {
|
|
107
116
|
if (requestOptions || this.context.requestOptions) {
|
|
108
|
-
return
|
|
117
|
+
return fetchProject(identifier, requestOptions || this.context.requestOptions);
|
|
109
118
|
}
|
|
110
119
|
else {
|
|
111
|
-
throw new HubError("
|
|
120
|
+
throw new HubError("Fetch Project", "Can not retrieve context.requestOptions from Context Manager. HubProjectManager is configured incorrectly.");
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Search for Projects
|
|
125
|
+
*
|
|
126
|
+
* @param filter
|
|
127
|
+
* @param options
|
|
128
|
+
*/
|
|
129
|
+
async search(filter, options) {
|
|
130
|
+
// if we were not passed auth, and we have a session, use it
|
|
131
|
+
if (!options.authentication && this.context.session) {
|
|
132
|
+
options.authentication = this.context.session;
|
|
112
133
|
}
|
|
134
|
+
return searchProjects(filter, options);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Set the thumbnail for the Project
|
|
138
|
+
* @param id
|
|
139
|
+
* @param file
|
|
140
|
+
* @param filename
|
|
141
|
+
* @param requestOptions
|
|
142
|
+
* @returns
|
|
143
|
+
*/
|
|
144
|
+
async updateThumbnail(project, file, filename, requestOptions) {
|
|
145
|
+
const ro = requestOptions || this.context.userRequestOptions;
|
|
146
|
+
await updateItemThumbnail(project.id, file, filename, ro);
|
|
147
|
+
// get the item so we have updated props and timestamps
|
|
148
|
+
return this.fetch(project.id, requestOptions);
|
|
113
149
|
}
|
|
114
150
|
}
|
|
115
151
|
//# sourceMappingURL=HubProjectManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubProjectManager.js","sourceRoot":"","sources":["../../../src/projects/HubProjectManager.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"HubProjectManager.js","sourceRoot":"","sources":["../../../src/projects/HubProjectManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// Note - we separate these imports so we can cleanly spy on things in tests
|
|
2
|
-
import { createModel, getModel, getModelBySlug, updateModel } from "../models";
|
|
2
|
+
import { createModel, fetchModelFromItem, getModel, getModelBySlug, updateModel, } from "../models";
|
|
3
3
|
import { constructSlug, getUniqueSlug, setSlugKeyword } from "../items/slugs";
|
|
4
|
-
import { isGuid, cloneObject, } from "..";
|
|
5
|
-
import { removeItem } from "@esri/arcgis-rest-portal";
|
|
4
|
+
import { isGuid, cloneObject, expandContentFilter, serializeContentFilterForPortal, getNextFunction, mergeContentFilter, getItemThumbnailUrl, } from "..";
|
|
5
|
+
import { removeItem, searchItems, } from "@esri/arcgis-rest-portal";
|
|
6
6
|
import { PropertyMapper } from "../core/helpers/PropertyMapper";
|
|
7
7
|
export const HUB_PROJECT_ITEM_TYPE = "Web Mapping Application";
|
|
8
8
|
/**
|
|
@@ -12,6 +12,7 @@ const DEFAULT_PROJECT = {
|
|
|
12
12
|
name: "No title provided",
|
|
13
13
|
tags: [],
|
|
14
14
|
typeKeywords: ["IHubProject", "HubProject"],
|
|
15
|
+
status: "inactive",
|
|
15
16
|
};
|
|
16
17
|
/**
|
|
17
18
|
* Default values for a new HubProject Model
|
|
@@ -23,7 +24,7 @@ const DEFAULT_PROJECT_MODEL = {
|
|
|
23
24
|
description: "No Description Provided",
|
|
24
25
|
snippet: "",
|
|
25
26
|
tags: [],
|
|
26
|
-
typeKeywords: [],
|
|
27
|
+
typeKeywords: ["Hub Project"],
|
|
27
28
|
properties: {
|
|
28
29
|
slug: "",
|
|
29
30
|
},
|
|
@@ -31,7 +32,6 @@ const DEFAULT_PROJECT_MODEL = {
|
|
|
31
32
|
data: {
|
|
32
33
|
display: "about",
|
|
33
34
|
timeline: {},
|
|
34
|
-
org: {},
|
|
35
35
|
status: "inactive",
|
|
36
36
|
contacts: [],
|
|
37
37
|
schemaVersion: 1,
|
|
@@ -108,7 +108,7 @@ export async function createProject(partialProject, requestOptions) {
|
|
|
108
108
|
project.slug = constructSlug(project.name, project.orgUrlKey);
|
|
109
109
|
}
|
|
110
110
|
// Ensure slug is unique
|
|
111
|
-
project.slug = await getUniqueSlug(project.slug, requestOptions);
|
|
111
|
+
project.slug = await getUniqueSlug({ slug: project.slug }, requestOptions);
|
|
112
112
|
// add slug to keywords
|
|
113
113
|
project.typeKeywords = setSlugKeyword(project.typeKeywords, project.slug);
|
|
114
114
|
// Map project object onto a default project Model
|
|
@@ -128,10 +128,8 @@ export async function createProject(partialProject, requestOptions) {
|
|
|
128
128
|
* @param requestOptions
|
|
129
129
|
*/
|
|
130
130
|
export async function updateProject(project, requestOptions) {
|
|
131
|
-
// verify that the slug is unique
|
|
132
|
-
|
|
133
|
-
// the existing item will cause this to increment
|
|
134
|
-
project.slug = await getUniqueSlug(project.slug, requestOptions);
|
|
131
|
+
// verify that the slug is unique, excluding the current project
|
|
132
|
+
project.slug = await getUniqueSlug({ slug: project.slug, existingId: project.id }, requestOptions);
|
|
135
133
|
// get the backing item & data
|
|
136
134
|
const model = await getModel(project.id, requestOptions);
|
|
137
135
|
// create the PropertyMapper
|
|
@@ -153,7 +151,7 @@ export async function updateProject(project, requestOptions) {
|
|
|
153
151
|
* @param identifier item id or slug
|
|
154
152
|
* @param requestOptions
|
|
155
153
|
*/
|
|
156
|
-
export function
|
|
154
|
+
export function fetchProject(identifier, requestOptions) {
|
|
157
155
|
let getPrms;
|
|
158
156
|
if (isGuid(identifier)) {
|
|
159
157
|
// get item by id
|
|
@@ -161,12 +159,20 @@ export function getProject(identifier, requestOptions) {
|
|
|
161
159
|
}
|
|
162
160
|
else {
|
|
163
161
|
// search for item using filter=typekeywords:slug|identifier
|
|
162
|
+
// although we could leverage searchProjects with an appropriate filter
|
|
163
|
+
// getModelBySlug is a generalized function that works for any type
|
|
164
164
|
getPrms = getModelBySlug(identifier, requestOptions);
|
|
165
165
|
}
|
|
166
166
|
return getPrms.then((model) => {
|
|
167
167
|
// transform the model into a HubProject
|
|
168
168
|
const mapper = new PropertyMapper(getProjectPropertyMap());
|
|
169
169
|
const project = mapper.modelToObject(model, {});
|
|
170
|
+
let token;
|
|
171
|
+
if (requestOptions.authentication) {
|
|
172
|
+
const us = requestOptions.authentication;
|
|
173
|
+
token = us.token;
|
|
174
|
+
}
|
|
175
|
+
project.thumbnailUrl = getItemThumbnailUrl(model.item, requestOptions, token);
|
|
170
176
|
return project;
|
|
171
177
|
});
|
|
172
178
|
}
|
|
@@ -184,11 +190,78 @@ export async function destroyProject(id, requestOptions) {
|
|
|
184
190
|
// i.e. delegate to searchContent or just do an item search
|
|
185
191
|
// and convert to IHubProject objects.
|
|
186
192
|
//
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
//
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
193
|
+
export async function searchProjects(filter, options) {
|
|
194
|
+
var _a;
|
|
195
|
+
// Scope to Hub Projects
|
|
196
|
+
const scopingFilter = {
|
|
197
|
+
filterType: "content",
|
|
198
|
+
typekeywords: {
|
|
199
|
+
exact: ["HubProject"],
|
|
200
|
+
},
|
|
201
|
+
};
|
|
202
|
+
// merge filters
|
|
203
|
+
const projectFilter = mergeContentFilter([scopingFilter, filter]);
|
|
204
|
+
// expand filter so we can serialize to either api
|
|
205
|
+
const expanded = expandContentFilter(projectFilter);
|
|
206
|
+
const so = serializeContentFilterForPortal(expanded);
|
|
207
|
+
// Aggregations
|
|
208
|
+
if ((_a = options.aggregations) === null || _a === void 0 ? void 0 : _a.length) {
|
|
209
|
+
so.countFields = options.aggregations.join(",");
|
|
210
|
+
so.countSize = 200;
|
|
211
|
+
}
|
|
212
|
+
// copy over various options
|
|
213
|
+
if (options.num) {
|
|
214
|
+
so.num = options.num;
|
|
215
|
+
}
|
|
216
|
+
if (options.sortField) {
|
|
217
|
+
so.sortField = options.sortField;
|
|
218
|
+
}
|
|
219
|
+
if (options.sortOrder) {
|
|
220
|
+
so.sortOrder = options.sortOrder;
|
|
221
|
+
}
|
|
222
|
+
if (options.site) {
|
|
223
|
+
so.site = cloneObject(options.site);
|
|
224
|
+
}
|
|
225
|
+
if (options.authentication) {
|
|
226
|
+
so.authentication = options.authentication;
|
|
227
|
+
}
|
|
228
|
+
return searchPortalProjects(so);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Internal fn that takes
|
|
232
|
+
* @param searchOptions
|
|
233
|
+
* @returns
|
|
234
|
+
*/
|
|
235
|
+
async function searchPortalProjects(searchOptions) {
|
|
236
|
+
const response = await searchItems(searchOptions);
|
|
237
|
+
const hasNext = response.nextStart > -1;
|
|
238
|
+
// TODO: Change to leveraging the enrichment pipelines
|
|
239
|
+
// Convert the item's into models
|
|
240
|
+
const modelPromises = response.results.map((itm) => {
|
|
241
|
+
return fetchModelFromItem(itm, {
|
|
242
|
+
authentication: searchOptions.authentication,
|
|
243
|
+
});
|
|
244
|
+
});
|
|
245
|
+
const models = await Promise.all(modelPromises);
|
|
246
|
+
// create a mapper to convert the model int
|
|
247
|
+
const mapper = new PropertyMapper(getProjectPropertyMap());
|
|
248
|
+
let token;
|
|
249
|
+
if (searchOptions.authentication) {
|
|
250
|
+
const us = searchOptions.authentication;
|
|
251
|
+
token = us.token;
|
|
252
|
+
}
|
|
253
|
+
// map over the results, converting them into IHubProject pojos
|
|
254
|
+
const projects = models.map((m) => {
|
|
255
|
+
const prj = mapper.modelToObject(m, {});
|
|
256
|
+
prj.thumbnailUrl = getItemThumbnailUrl(m.item, { authentication: searchOptions.authentication }, token);
|
|
257
|
+
return prj;
|
|
258
|
+
});
|
|
259
|
+
return {
|
|
260
|
+
total: response.total,
|
|
261
|
+
results: projects,
|
|
262
|
+
facets: [],
|
|
263
|
+
hasNext,
|
|
264
|
+
next: getNextFunction(searchOptions, response.nextStart, response.total, searchPortalProjects),
|
|
265
|
+
};
|
|
266
|
+
}
|
|
194
267
|
//# sourceMappingURL=HubProjects.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubProjects.js","sourceRoot":"","sources":["../../../src/projects/HubProjects.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,OAAO,
|
|
1
|
+
{"version":3,"file":"HubProjects.js","sourceRoot":"","sources":["../../../src/projects/HubProjects.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Hub.js
CHANGED
|
@@ -13,21 +13,19 @@ import { HubProjectManager } from "./projects/HubProjectManager";
|
|
|
13
13
|
*
|
|
14
14
|
* myHub.context.currentUser //=> {username: "casey", ...} as IUser
|
|
15
15
|
*
|
|
16
|
-
* const
|
|
17
|
-
*
|
|
18
|
-
* const pavingProject = await projectStore.create({name: "12th Street Paving"});
|
|
16
|
+
* const pavingProject = await myHub.projects.create({name: "12th Street Paving"});
|
|
19
17
|
* pavingProject.summary = "This is the 2024 planned paving of 12th Street, between 8th and 11th Ave";
|
|
20
|
-
* await
|
|
18
|
+
* await myHub.projects.update(pavingProject);
|
|
21
19
|
* ```
|
|
22
20
|
*
|
|
23
|
-
* This is a convenience class. Hub
|
|
21
|
+
* This is a convenience class. Hub Managers can be created
|
|
24
22
|
* directly, or the underlying functions can be imported an used
|
|
25
23
|
* as need for scenarios where these class structures introduce
|
|
26
24
|
* unwanted complexity
|
|
27
25
|
*/
|
|
28
26
|
var Hub = /** @class */ (function () {
|
|
29
27
|
/**
|
|
30
|
-
* Private so we can employ a factory function
|
|
28
|
+
* Private so we can employ a factory function to do
|
|
31
29
|
* async work during creation
|
|
32
30
|
* @param contextManager
|
|
33
31
|
*/
|
|
@@ -35,9 +33,7 @@ var Hub = /** @class */ (function () {
|
|
|
35
33
|
this._contextManager = contextManager;
|
|
36
34
|
}
|
|
37
35
|
/**
|
|
38
|
-
* Factory function to construct a new
|
|
39
|
-
*
|
|
40
|
-
* Note: Used so that we could do async actions in the ctor.
|
|
36
|
+
* Factory function to construct a new Hub instance.
|
|
41
37
|
* @param contextManager
|
|
42
38
|
* @returns
|
|
43
39
|
*/
|
|
@@ -71,7 +67,7 @@ var Hub = /** @class */ (function () {
|
|
|
71
67
|
});
|
|
72
68
|
Object.defineProperty(Hub.prototype, "projects", {
|
|
73
69
|
/**
|
|
74
|
-
*
|
|
70
|
+
* HubProjectManager for the current Hub
|
|
75
71
|
* @returns
|
|
76
72
|
*/
|
|
77
73
|
get: function () {
|
package/dist/esm/Hub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hub.js","sourceRoot":"","sources":["../../src/Hub.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,oBAAoB,GAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAWjE
|
|
1
|
+
{"version":3,"file":"Hub.js","sourceRoot":"","sources":["../../src/Hub.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,oBAAoB,GAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAWjE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;IAYE;;;;OAIG;IACH,aAAoB,cAAoC;QACtD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACU,UAAM,GAAnB,UAAoB,OAAoB;;;;;;6BAClC,OAAO,CAAC,cAAc,EAAtB,wBAAsB;wBACxB,sBAAO,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,EAAC;;wBAEjC,IAAI,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;wBAC9B,qBAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAA;;wBAA7C,GAAG,GAAG,SAAuC;wBACnD,sBAAO,IAAI,GAAG,CAAC,GAAG,CAAC,EAAC;;;;KAEvB;IAKD,sBAAW,wBAAO;QAHlB;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;QACtC,CAAC;;;OAAA;IAMD,sBAAI,yBAAQ;QAJZ;;;WAGG;aACH;YACE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACrE;YAED,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;;;OAAA;IACH,UAAC;AAAD,CAAC,AAtDD,IAsDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=IHubItemEntityManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IHubItemEntityManager.js","sourceRoot":"","sources":["../../../../src/core/types/IHubItemEntityManager.ts"],"names":[],"mappings":""}
|
package/dist/esm/items/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/items/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,SAAS,CAAC;AACxB,cAAc,oCAAoC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/items/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,SAAS,CAAC;AACxB,cAAc,oCAAoC,CAAC;AACnD,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { __assign, __awaiter, __generator } from "tslib";
|
|
2
|
+
import { updateItem } from "@esri/arcgis-rest-portal";
|
|
3
|
+
import { HubError } from "..";
|
|
4
|
+
/**
|
|
5
|
+
* Upload a file to be used as the thumbnail for an item
|
|
6
|
+
* @param id
|
|
7
|
+
* @param file
|
|
8
|
+
* @param filename
|
|
9
|
+
* @param requestOptions
|
|
10
|
+
*/
|
|
11
|
+
export function setItemThumbnail(id, file, filename, requestOptions) {
|
|
12
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
13
|
+
var opts, response, err_1;
|
|
14
|
+
return __generator(this, function (_a) {
|
|
15
|
+
switch (_a.label) {
|
|
16
|
+
case 0:
|
|
17
|
+
opts = __assign({ item: {
|
|
18
|
+
id: id,
|
|
19
|
+
}, params: {
|
|
20
|
+
thumbnail: file,
|
|
21
|
+
}, filename: filename }, requestOptions);
|
|
22
|
+
_a.label = 1;
|
|
23
|
+
case 1:
|
|
24
|
+
_a.trys.push([1, 3, , 4]);
|
|
25
|
+
return [4 /*yield*/, updateItem(opts)];
|
|
26
|
+
case 2:
|
|
27
|
+
response = _a.sent();
|
|
28
|
+
if (!response.success) {
|
|
29
|
+
throw new HubError("Set Project Thumbnail", "Unknown error setting thumbnail.");
|
|
30
|
+
}
|
|
31
|
+
return [3 /*break*/, 4];
|
|
32
|
+
case 3:
|
|
33
|
+
err_1 = _a.sent();
|
|
34
|
+
if (err_1 instanceof Error) {
|
|
35
|
+
throw new HubError("Set Project Thumbnail", err_1.message, err_1);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
throw new HubError("Set Project Thumbnail", "Unknown error setting thumbnail.");
|
|
39
|
+
}
|
|
40
|
+
return [3 /*break*/, 4];
|
|
41
|
+
case 4: return [2 /*return*/];
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=setItemThumbnail.js.map
|