@esri/hub-common 11.21.2 → 11.22.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/HubItemEntity.js +48 -1
- package/dist/esm/core/HubItemEntity.js.map +1 -1
- package/dist/esm/core/behaviors/IWithFeaturedImageBehavior.js +1 -0
- package/dist/esm/core/behaviors/IWithFeaturedImageBehavior.js.map +1 -0
- package/dist/esm/core/behaviors/index.js +1 -0
- package/dist/esm/core/behaviors/index.js.map +1 -1
- package/dist/esm/items/index.js +1 -0
- package/dist/esm/items/index.js.map +1 -1
- package/dist/esm/items/uploadImageResource.js +39 -0
- package/dist/esm/items/uploadImageResource.js.map +1 -0
- package/dist/esm/models/index.js +14 -0
- package/dist/esm/models/index.js.map +1 -1
- package/dist/node/core/HubItemEntity.js +47 -0
- package/dist/node/core/HubItemEntity.js.map +1 -1
- package/dist/node/core/behaviors/IWithFeaturedImageBehavior.js +3 -0
- package/dist/node/core/behaviors/IWithFeaturedImageBehavior.js.map +1 -0
- package/dist/node/core/behaviors/index.js +1 -0
- package/dist/node/core/behaviors/index.js.map +1 -1
- package/dist/node/items/index.js +1 -0
- package/dist/node/items/index.js.map +1 -1
- package/dist/node/items/uploadImageResource.js +43 -0
- package/dist/node/items/uploadImageResource.js.map +1 -0
- package/dist/node/models/index.js +14 -0
- package/dist/node/models/index.js.map +1 -1
- package/dist/types/content/_internal.d.ts +1 -0
- package/dist/types/core/HubItemEntity.d.ts +12 -2
- package/dist/types/core/behaviors/IWithFeaturedImageBehavior.d.ts +16 -0
- package/dist/types/core/behaviors/index.d.ts +1 -0
- package/dist/types/core/types/IHubItemEntity.d.ts +4 -0
- package/dist/types/items/index.d.ts +1 -0
- package/dist/types/items/uploadImageResource.d.ts +12 -0
- package/package.json +1 -1
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { getUser, setItemAccess, shareItemWithGroup, unshareItemWithGroup, } from "@esri/arcgis-rest-portal";
|
|
1
|
+
import { getUser, removeItemResource, setItemAccess, shareItemWithGroup, unshareItemWithGroup, } from "@esri/arcgis-rest-portal";
|
|
2
|
+
import HubError from "../HubError";
|
|
3
|
+
import { uploadImageResource } from "../items";
|
|
2
4
|
import { setItemThumbnail } from "../items/setItemThumbnail";
|
|
3
5
|
import { getItemThumbnailUrl } from "../resources";
|
|
4
6
|
import { cloneObject } from "../util";
|
|
5
7
|
import { mapBy } from "../utils";
|
|
6
8
|
import { sharedWith } from "./_internal/sharedWith";
|
|
9
|
+
const FEATURED_IMAGE_FILENAME = "featuredImage.png";
|
|
7
10
|
/**
|
|
8
11
|
* Base class for all Hub Entities backed by items
|
|
9
12
|
*/
|
|
@@ -198,5 +201,49 @@ export class HubItemEntity {
|
|
|
198
201
|
};
|
|
199
202
|
return getItemThumbnailUrl(minimalItem, this.context.requestOptions, opts);
|
|
200
203
|
}
|
|
204
|
+
//#endregion IWithThumbnailBehavior
|
|
205
|
+
//#region IWithFeaturedImageBehavior
|
|
206
|
+
/**
|
|
207
|
+
* Set a featured image on the Entity, if one already exists it is cleared out before the new one is set
|
|
208
|
+
* to keep the number of resources in control
|
|
209
|
+
* @param file
|
|
210
|
+
*/
|
|
211
|
+
async setFeaturedImage(file) {
|
|
212
|
+
// If we have a featured image then clear it out.
|
|
213
|
+
if (this.entity.featuredImageUrl) {
|
|
214
|
+
await this.clearFeaturedImage();
|
|
215
|
+
}
|
|
216
|
+
// add the new featured image
|
|
217
|
+
const featuredImageUrl = await uploadImageResource(this.entity.id, this.entity.owner, file, FEATURED_IMAGE_FILENAME, this.context.userRequestOptions);
|
|
218
|
+
// If successful, update the entity
|
|
219
|
+
this.entity.featuredImageUrl = featuredImageUrl;
|
|
220
|
+
// save the entity
|
|
221
|
+
await this.save();
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Remove the featured image from the item
|
|
225
|
+
*/
|
|
226
|
+
async clearFeaturedImage() {
|
|
227
|
+
try {
|
|
228
|
+
// remove the resource
|
|
229
|
+
const response = await removeItemResource(Object.assign({ id: this.entity.id, owner: this.entity.owner, resource: FEATURED_IMAGE_FILENAME }, this.context.userRequestOptions));
|
|
230
|
+
// if not successful throw an error
|
|
231
|
+
if (response && !response.success) {
|
|
232
|
+
throw new HubError("Clear Item Featured Image", "Unknown error clearing featured image.");
|
|
233
|
+
}
|
|
234
|
+
// If successful, clear the featured image url
|
|
235
|
+
this.entity.featuredImageUrl = null;
|
|
236
|
+
// save the entity
|
|
237
|
+
await this.save();
|
|
238
|
+
}
|
|
239
|
+
catch (err) {
|
|
240
|
+
if (err instanceof Error) {
|
|
241
|
+
throw new HubError("Clear Item Featured Image", err.message, err);
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
throw new HubError("Clear Item Featured Image", "Unknown error clearing featured image.");
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
201
248
|
}
|
|
202
249
|
//# sourceMappingURL=HubItemEntity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAGP,aAAa,EACb,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAqB,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=IWithFeaturedImageBehavior.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IWithFeaturedImageBehavior.js","sourceRoot":"","sources":["../../../../src/core/behaviors/IWithFeaturedImageBehavior.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/behaviors/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/behaviors/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC"}
|
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;AACnD,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,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;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { addItemResource } from "@esri/arcgis-rest-portal";
|
|
2
|
+
import HubError from "../HubError";
|
|
3
|
+
import { getPortalApiUrl } from "../urls";
|
|
4
|
+
/**
|
|
5
|
+
* Given an item, and owner, add a image resource to the item and returns its url
|
|
6
|
+
* @param id
|
|
7
|
+
* @param owner
|
|
8
|
+
* @param file
|
|
9
|
+
* @param filename
|
|
10
|
+
* @param ro
|
|
11
|
+
* @param prefix
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export async function uploadImageResource(id, owner, file, filename, ro, prefix = "") {
|
|
15
|
+
try {
|
|
16
|
+
// Add item resource
|
|
17
|
+
const response = await addItemResource(Object.assign({ id,
|
|
18
|
+
owner, resource: file, name: filename, prefix }, ro));
|
|
19
|
+
// if err throw
|
|
20
|
+
if (!response.success) {
|
|
21
|
+
throw new HubError("Set Item Featured Image", "Unknown error setting featured image.");
|
|
22
|
+
}
|
|
23
|
+
// return url
|
|
24
|
+
const portalRestUrl = getPortalApiUrl(ro.portal);
|
|
25
|
+
if (prefix) {
|
|
26
|
+
prefix = `${prefix}/`;
|
|
27
|
+
}
|
|
28
|
+
return `${portalRestUrl}/content/items/${id}/resources/${prefix}${filename}`;
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
if (err instanceof Error) {
|
|
32
|
+
throw new HubError("Set Item Featured Image", err.message, err);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
throw new HubError("Set Item Featured Image", "Unknown error setting featured image.");
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=uploadImageResource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploadImageResource.js","sourceRoot":"","sources":["../../../src/items/uploadImageResource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAU,EACV,KAAa,EACb,IAAS,EACT,QAAgB,EAChB,EAAuB,EACvB,SAAiB,EAAE;IAEnB,IAAI;QACF,oBAAoB;QACpB,MAAM,QAAQ,GAAG,MAAM,eAAe,iBACpC,EAAE;YACF,KAAK,EACL,QAAQ,EAAE,IAAI,EACd,IAAI,EAAE,QAAQ,EACd,MAAM,IACH,EAAE,EACL,CAAC;QACH,eAAe;QACf,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACrB,MAAM,IAAI,QAAQ,CAChB,yBAAyB,EACzB,uCAAuC,CACxC,CAAC;SACH;QACD,aAAa;QACb,MAAM,aAAa,GAAG,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,MAAM,EAAE;YACV,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC;SACvB;QACD,OAAO,GAAG,aAAa,kBAAkB,EAAE,cAAc,MAAM,GAAG,QAAQ,EAAE,CAAC;KAC9E;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,GAAG,YAAY,KAAK,EAAE;YACxB,MAAM,IAAI,QAAQ,CAAC,yBAAyB,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SACjE;aAAM;YACL,MAAM,IAAI,QAAQ,CAChB,yBAAyB,EACzB,uCAAuC,CACxC,CAAC;SACH;KACF;AACH,CAAC"}
|
package/dist/esm/models/index.js
CHANGED
|
@@ -103,6 +103,11 @@ export function updateModel(model, requestOptions) {
|
|
|
103
103
|
// and normally should never be done.
|
|
104
104
|
item.extent = bboxToString(item.extent);
|
|
105
105
|
}
|
|
106
|
+
// If we have a field we are trying to clear (by making it an empty string like description / snippet)
|
|
107
|
+
// We need to send clearEmptyFields: true to the updateItem call
|
|
108
|
+
if (shouldClearEmptyFields(item)) {
|
|
109
|
+
requestOptions.params = Object.assign(Object.assign({}, requestOptions.params), { clearEmptyFields: true });
|
|
110
|
+
}
|
|
106
111
|
const opts = Object.assign({ item }, requestOptions);
|
|
107
112
|
return updateItem(opts).then(() => {
|
|
108
113
|
// To ensure we have the exact modified timestamp, we need to
|
|
@@ -127,4 +132,13 @@ export async function fetchModelFromItem(item, requestOptions) {
|
|
|
127
132
|
data,
|
|
128
133
|
};
|
|
129
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Given an Item, determine if there are any fields to be cleared
|
|
137
|
+
*
|
|
138
|
+
* @param {IItem} item
|
|
139
|
+
* @return {*} boolean
|
|
140
|
+
*/
|
|
141
|
+
function shouldClearEmptyFields(item) {
|
|
142
|
+
return ["description", "snippet"].some((field) => item[field] === "");
|
|
143
|
+
}
|
|
130
144
|
//# 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":"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"}
|
|
@@ -2,11 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.HubItemEntity = void 0;
|
|
4
4
|
const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
|
|
5
|
+
const HubError_1 = require("../HubError");
|
|
6
|
+
const items_1 = require("../items");
|
|
5
7
|
const setItemThumbnail_1 = require("../items/setItemThumbnail");
|
|
6
8
|
const resources_1 = require("../resources");
|
|
7
9
|
const util_1 = require("../util");
|
|
8
10
|
const utils_1 = require("../utils");
|
|
9
11
|
const sharedWith_1 = require("./_internal/sharedWith");
|
|
12
|
+
const FEATURED_IMAGE_FILENAME = "featuredImage.png";
|
|
10
13
|
/**
|
|
11
14
|
* Base class for all Hub Entities backed by items
|
|
12
15
|
*/
|
|
@@ -201,6 +204,50 @@ class HubItemEntity {
|
|
|
201
204
|
};
|
|
202
205
|
return resources_1.getItemThumbnailUrl(minimalItem, this.context.requestOptions, opts);
|
|
203
206
|
}
|
|
207
|
+
//#endregion IWithThumbnailBehavior
|
|
208
|
+
//#region IWithFeaturedImageBehavior
|
|
209
|
+
/**
|
|
210
|
+
* Set a featured image on the Entity, if one already exists it is cleared out before the new one is set
|
|
211
|
+
* to keep the number of resources in control
|
|
212
|
+
* @param file
|
|
213
|
+
*/
|
|
214
|
+
async setFeaturedImage(file) {
|
|
215
|
+
// If we have a featured image then clear it out.
|
|
216
|
+
if (this.entity.featuredImageUrl) {
|
|
217
|
+
await this.clearFeaturedImage();
|
|
218
|
+
}
|
|
219
|
+
// add the new featured image
|
|
220
|
+
const featuredImageUrl = await items_1.uploadImageResource(this.entity.id, this.entity.owner, file, FEATURED_IMAGE_FILENAME, this.context.userRequestOptions);
|
|
221
|
+
// If successful, update the entity
|
|
222
|
+
this.entity.featuredImageUrl = featuredImageUrl;
|
|
223
|
+
// save the entity
|
|
224
|
+
await this.save();
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Remove the featured image from the item
|
|
228
|
+
*/
|
|
229
|
+
async clearFeaturedImage() {
|
|
230
|
+
try {
|
|
231
|
+
// remove the resource
|
|
232
|
+
const response = await arcgis_rest_portal_1.removeItemResource(Object.assign({ id: this.entity.id, owner: this.entity.owner, resource: FEATURED_IMAGE_FILENAME }, this.context.userRequestOptions));
|
|
233
|
+
// if not successful throw an error
|
|
234
|
+
if (response && !response.success) {
|
|
235
|
+
throw new HubError_1.default("Clear Item Featured Image", "Unknown error clearing featured image.");
|
|
236
|
+
}
|
|
237
|
+
// If successful, clear the featured image url
|
|
238
|
+
this.entity.featuredImageUrl = null;
|
|
239
|
+
// save the entity
|
|
240
|
+
await this.save();
|
|
241
|
+
}
|
|
242
|
+
catch (err) {
|
|
243
|
+
if (err instanceof Error) {
|
|
244
|
+
throw new HubError_1.default("Clear Item Featured Image", err.message, err);
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
throw new HubError_1.default("Clear Item Featured Image", "Unknown error clearing featured image.");
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
204
251
|
}
|
|
205
252
|
exports.HubItemEntity = HubItemEntity;
|
|
206
253
|
//# sourceMappingURL=HubItemEntity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IWithFeaturedImageBehavior.js","sourceRoot":"","sources":["../../../../src/core/behaviors/IWithFeaturedImageBehavior.ts"],"names":[],"mappings":""}
|
|
@@ -6,4 +6,5 @@ tslib_1.__exportStar(require("./IWithCatalogBehavior"), exports);
|
|
|
6
6
|
tslib_1.__exportStar(require("./IWithStoreBehavior"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./IWithSharingBehavior"), exports);
|
|
8
8
|
tslib_1.__exportStar(require("./IWithEditorBehavior"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./IWithFeaturedImageBehavior"), exports);
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/behaviors/index.ts"],"names":[],"mappings":";;;AAAA,oEAA0C;AAC1C,iEAAuC;AACvC,+DAAqC;AACrC,iEAAuC;AACvC,gEAAsC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/behaviors/index.ts"],"names":[],"mappings":";;;AAAA,oEAA0C;AAC1C,iEAAuC;AACvC,+DAAqC;AACrC,iEAAuC;AACvC,gEAAsC;AACtC,uEAA6C"}
|
package/dist/node/items/index.js
CHANGED
|
@@ -23,4 +23,5 @@ tslib_1.__exportStar(require("./registerBrowserApp"), exports);
|
|
|
23
23
|
tslib_1.__exportStar(require("./create-item-from-file"), exports);
|
|
24
24
|
tslib_1.__exportStar(require("./create-item-from-url"), exports);
|
|
25
25
|
tslib_1.__exportStar(require("./create-item-from-url-or-file"), exports);
|
|
26
|
+
tslib_1.__exportStar(require("./uploadImageResource"), exports);
|
|
26
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/items/index.ts"],"names":[],"mappings":";;;AAAA,uEAA6C;AAC7C,sEAA4C;AAC5C,wDAA8B;AAC9B,6DAAmC;AACnC,mEAAyC;AACzC,wDAA8B;AAC9B,gEAAsC;AACtC,4DAAkC;AAClC,iEAAuC;AACvC,4DAAkC;AAClC,qEAA2C;AAC3C,uEAA6C;AAC7C,kEAAwC;AACxC,4DAAkC;AAClC,mEAAyC;AACzC,kDAAwB;AACxB,6EAAmD;AACnD,6DAAmC;AACnC,+DAAqC;AACrC,kEAAwC;AACxC,iEAAuC;AACvC,yEAA+C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/items/index.ts"],"names":[],"mappings":";;;AAAA,uEAA6C;AAC7C,sEAA4C;AAC5C,wDAA8B;AAC9B,6DAAmC;AACnC,mEAAyC;AACzC,wDAA8B;AAC9B,gEAAsC;AACtC,4DAAkC;AAClC,iEAAuC;AACvC,4DAAkC;AAClC,qEAA2C;AAC3C,uEAA6C;AAC7C,kEAAwC;AACxC,4DAAkC;AAClC,mEAAyC;AACzC,kDAAwB;AACxB,6EAAmD;AACnD,6DAAmC;AACnC,+DAAqC;AACrC,kEAAwC;AACxC,iEAAuC;AACvC,yEAA+C;AAC/C,gEAAsC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.uploadImageResource = void 0;
|
|
4
|
+
const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
|
|
5
|
+
const HubError_1 = require("../HubError");
|
|
6
|
+
const urls_1 = require("../urls");
|
|
7
|
+
/**
|
|
8
|
+
* Given an item, and owner, add a image resource to the item and returns its url
|
|
9
|
+
* @param id
|
|
10
|
+
* @param owner
|
|
11
|
+
* @param file
|
|
12
|
+
* @param filename
|
|
13
|
+
* @param ro
|
|
14
|
+
* @param prefix
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
async function uploadImageResource(id, owner, file, filename, ro, prefix = "") {
|
|
18
|
+
try {
|
|
19
|
+
// Add item resource
|
|
20
|
+
const response = await arcgis_rest_portal_1.addItemResource(Object.assign({ id,
|
|
21
|
+
owner, resource: file, name: filename, prefix }, ro));
|
|
22
|
+
// if err throw
|
|
23
|
+
if (!response.success) {
|
|
24
|
+
throw new HubError_1.default("Set Item Featured Image", "Unknown error setting featured image.");
|
|
25
|
+
}
|
|
26
|
+
// return url
|
|
27
|
+
const portalRestUrl = urls_1.getPortalApiUrl(ro.portal);
|
|
28
|
+
if (prefix) {
|
|
29
|
+
prefix = `${prefix}/`;
|
|
30
|
+
}
|
|
31
|
+
return `${portalRestUrl}/content/items/${id}/resources/${prefix}${filename}`;
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
if (err instanceof Error) {
|
|
35
|
+
throw new HubError_1.default("Set Item Featured Image", err.message, err);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
throw new HubError_1.default("Set Item Featured Image", "Unknown error setting featured image.");
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.uploadImageResource = uploadImageResource;
|
|
43
|
+
//# sourceMappingURL=uploadImageResource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploadImageResource.js","sourceRoot":"","sources":["../../../src/items/uploadImageResource.ts"],"names":[],"mappings":";;;AACA,iEAA2D;AAC3D,0CAAmC;AACnC,kCAA0C;AAE1C;;;;;;;;;GASG;AACI,KAAK,UAAU,mBAAmB,CACvC,EAAU,EACV,KAAa,EACb,IAAS,EACT,QAAgB,EAChB,EAAuB,EACvB,SAAiB,EAAE;IAEnB,IAAI;QACF,oBAAoB;QACpB,MAAM,QAAQ,GAAG,MAAM,oCAAe,iBACpC,EAAE;YACF,KAAK,EACL,QAAQ,EAAE,IAAI,EACd,IAAI,EAAE,QAAQ,EACd,MAAM,IACH,EAAE,EACL,CAAC;QACH,eAAe;QACf,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACrB,MAAM,IAAI,kBAAQ,CAChB,yBAAyB,EACzB,uCAAuC,CACxC,CAAC;SACH;QACD,aAAa;QACb,MAAM,aAAa,GAAG,sBAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,MAAM,EAAE;YACV,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC;SACvB;QACD,OAAO,GAAG,aAAa,kBAAkB,EAAE,cAAc,MAAM,GAAG,QAAQ,EAAE,CAAC;KAC9E;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,GAAG,YAAY,KAAK,EAAE;YACxB,MAAM,IAAI,kBAAQ,CAAC,yBAAyB,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SACjE;aAAM;YACL,MAAM,IAAI,kBAAQ,CAChB,yBAAyB,EACzB,uCAAuC,CACxC,CAAC;SACH;KACF;AACH,CAAC;AAzCD,kDAyCC"}
|
|
@@ -110,6 +110,11 @@ function updateModel(model, requestOptions) {
|
|
|
110
110
|
// and normally should never be done.
|
|
111
111
|
item.extent = __1.bboxToString(item.extent);
|
|
112
112
|
}
|
|
113
|
+
// If we have a field we are trying to clear (by making it an empty string like description / snippet)
|
|
114
|
+
// We need to send clearEmptyFields: true to the updateItem call
|
|
115
|
+
if (shouldClearEmptyFields(item)) {
|
|
116
|
+
requestOptions.params = Object.assign(Object.assign({}, requestOptions.params), { clearEmptyFields: true });
|
|
117
|
+
}
|
|
113
118
|
const opts = Object.assign({ item }, requestOptions);
|
|
114
119
|
return arcgis_rest_portal_1.updateItem(opts).then(() => {
|
|
115
120
|
// To ensure we have the exact modified timestamp, we need to
|
|
@@ -136,4 +141,13 @@ async function fetchModelFromItem(item, requestOptions) {
|
|
|
136
141
|
};
|
|
137
142
|
}
|
|
138
143
|
exports.fetchModelFromItem = fetchModelFromItem;
|
|
144
|
+
/**
|
|
145
|
+
* Given an Item, determine if there are any fields to be cleared
|
|
146
|
+
*
|
|
147
|
+
* @param {IItem} item
|
|
148
|
+
* @return {*} boolean
|
|
149
|
+
*/
|
|
150
|
+
function shouldClearEmptyFields(item) {
|
|
151
|
+
return ["description", "snippet"].some((field) => item[field] === "");
|
|
152
|
+
}
|
|
139
153
|
//# 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":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { IGroup } from "@esri/arcgis-rest-portal";
|
|
2
2
|
import { IArcGISContext } from "../ArcGISContext";
|
|
3
|
-
import { IWithSharingBehavior, IWithStoreBehavior } from "./behaviors";
|
|
3
|
+
import { IWithSharingBehavior, IWithStoreBehavior, IWithFeaturedImageBehavior } from "./behaviors";
|
|
4
4
|
import { IWithThumbnailBehavior } from "./behaviors/IWithThumbnailBehavior";
|
|
5
5
|
import { IHubItemEntity, SettableAccessLevel } from "./types";
|
|
6
6
|
/**
|
|
7
7
|
* Base class for all Hub Entities backed by items
|
|
8
8
|
*/
|
|
9
|
-
export declare abstract class HubItemEntity<T extends IHubItemEntity> implements IWithStoreBehavior<T>, IWithSharingBehavior, IWithThumbnailBehavior {
|
|
9
|
+
export declare abstract class HubItemEntity<T extends IHubItemEntity> implements IWithStoreBehavior<T>, IWithSharingBehavior, IWithThumbnailBehavior, IWithFeaturedImageBehavior {
|
|
10
10
|
protected context: IArcGISContext;
|
|
11
11
|
protected entity: T;
|
|
12
12
|
protected isDestroyed: boolean;
|
|
@@ -80,4 +80,14 @@ export declare abstract class HubItemEntity<T extends IHubItemEntity> implements
|
|
|
80
80
|
* @param width
|
|
81
81
|
*/
|
|
82
82
|
getThumbnailUrl(width?: number): string;
|
|
83
|
+
/**
|
|
84
|
+
* Set a featured image on the Entity, if one already exists it is cleared out before the new one is set
|
|
85
|
+
* to keep the number of resources in control
|
|
86
|
+
* @param file
|
|
87
|
+
*/
|
|
88
|
+
setFeaturedImage(file: any): Promise<void>;
|
|
89
|
+
/**
|
|
90
|
+
* Remove the featured image from the item
|
|
91
|
+
*/
|
|
92
|
+
clearFeaturedImage(): Promise<void>;
|
|
83
93
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composable behavior that adds featured image support to an entity class
|
|
3
|
+
*/
|
|
4
|
+
export interface IWithFeaturedImageBehavior {
|
|
5
|
+
/**
|
|
6
|
+
* Set the featured image for the item
|
|
7
|
+
* @param file
|
|
8
|
+
* @param filename
|
|
9
|
+
*/
|
|
10
|
+
setFeaturedImage(file: any, filename: string): Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* Clears the featured image for the item
|
|
13
|
+
* @param filename
|
|
14
|
+
*/
|
|
15
|
+
clearFeaturedImage(filename: string): Promise<void>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IUserRequestOptions } from "@esri/arcgis-rest-auth";
|
|
2
|
+
/**
|
|
3
|
+
* Given an item, and owner, add a image resource to the item and returns its url
|
|
4
|
+
* @param id
|
|
5
|
+
* @param owner
|
|
6
|
+
* @param file
|
|
7
|
+
* @param filename
|
|
8
|
+
* @param ro
|
|
9
|
+
* @param prefix
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export declare function uploadImageResource(id: string, owner: string, file: any, filename: string, ro: IUserRequestOptions, prefix?: string): Promise<string>;
|