@esri/hub-common 12.37.1 → 12.38.1

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.
@@ -7,12 +7,21 @@ import { unshareItemWithGroup, } from "@esri/arcgis-rest-portal";
7
7
  * @param {IRequestOptions} requestOptions
8
8
  */
9
9
  export function unshareItemFromGroups(itemId, groups, requestOptions, owner) {
10
- return Promise.all(groups.map((groupId) => {
10
+ return Promise.all(groups.map(async (groupId) => {
11
11
  const opt = Object.assign({}, { id: itemId, groupId }, requestOptions);
12
12
  if (owner) {
13
13
  opt.owner = owner;
14
14
  }
15
- return unshareItemWithGroup(opt);
15
+ // Because we are using Promise.all, we need to
16
+ // mark the callback fn as async and wrap each
17
+ // individual call in another try/catch block to
18
+ // make sure it catches before all promises finish
19
+ try {
20
+ return await unshareItemWithGroup(opt);
21
+ }
22
+ catch (err) {
23
+ throw Error(`Error unsharing item: ${itemId} with group: ${groupId}`);
24
+ }
16
25
  }));
17
26
  }
18
27
  //# sourceMappingURL=unshare-item-from-groups.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unshare-item-from-groups.js","sourceRoot":"","sources":["../../../src/items/unshare-item-from-groups.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GAGrB,MAAM,0BAA0B,CAAC;AAGlC;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAc,EACd,MAAgB,EAChB,cAA+B,EAC/B,KAAc;IAEd,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CACvB,EAAE,EACF,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EACvB,cAAc,CACS,CAAC;QAC1B,IAAI,KAAK,EAAE;YACT,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;SACnB;QACD,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"unshare-item-from-groups.js","sourceRoot":"","sources":["../../../src/items/unshare-item-from-groups.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GAGrB,MAAM,0BAA0B,CAAC;AAGlC;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAc,EACd,MAAgB,EAChB,cAA+B,EAC/B,KAAc;IAEd,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CACvB,EAAE,EACF,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EACvB,cAAc,CACS,CAAC;QAC1B,IAAI,KAAK,EAAE;YACT,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;SACnB;QACD,+CAA+C;QAC/C,8CAA8C;QAC9C,gDAAgD;QAChD,kDAAkD;QAClD,IAAI;YACF,OAAO,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;SACxC;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,KAAK,CAAC,yBAAyB,MAAM,gBAAgB,OAAO,EAAE,CAAC,CAAC;SACvE;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * adds/updates the project status typekeyword and returns
3
+ * a new array of typekeywords
4
+ * @param typeKeywords project's current typekeywords
5
+ * @param status project status
6
+ */
7
+ export function setStatusKeyword(typeKeywords, status) {
8
+ // filter out the existing status typekeyword
9
+ const filteredTypekeywords = typeKeywords.filter((typekeyword) => {
10
+ return !typekeyword.startsWith("status|");
11
+ });
12
+ // add the new/updated status typekeyword
13
+ filteredTypekeywords.push(`status|${status}`);
14
+ return filteredTypekeywords;
15
+ }
16
+ //# sourceMappingURL=setStatusKeyword.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setStatusKeyword.js","sourceRoot":"","sources":["../../../../src/projects/_internal/setStatusKeyword.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,YAAsB,EACtB,MAAwB;IAExB,6CAA6C;IAC7C,MAAM,oBAAoB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,WAAmB,EAAE,EAAE;QACvE,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,yCAAyC;IACzC,oBAAoB,CAAC,IAAI,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;IAC9C,OAAO,oBAAoB,CAAC;AAC9B,CAAC"}
@@ -6,6 +6,7 @@ import { PropertyMapper } from "../core/_internal/PropertyMapper";
6
6
  import { DEFAULT_PROJECT, DEFAULT_PROJECT_MODEL } from "./defaults";
7
7
  import { computeProps } from "./_internal/computeProps";
8
8
  import { getPropertyMap } from "./_internal/getPropertyMap";
9
+ import { setStatusKeyword } from "./_internal/setStatusKeyword";
9
10
  import { cloneObject } from "../util";
10
11
  import { getEntityEditorSchemas, } from "../core/schemas";
11
12
  /**
@@ -27,8 +28,9 @@ export async function createProject(partialProject, requestOptions) {
27
28
  }
28
29
  // Ensure slug is unique
29
30
  project.slug = await getUniqueSlug({ slug: project.slug }, requestOptions);
30
- // add slug to keywords
31
+ // add slug and status to keywords
31
32
  project.typeKeywords = setSlugKeyword(project.typeKeywords, project.slug);
33
+ project.typeKeywords = setStatusKeyword(project.typeKeywords, project.status);
32
34
  // Map project object onto a default project Model
33
35
  const mapper = new PropertyMapper(getPropertyMap());
34
36
  // create model from object, using the default model as a starting point
@@ -50,6 +52,8 @@ export async function createProject(partialProject, requestOptions) {
50
52
  export async function updateProject(project, requestOptions) {
51
53
  // verify that the slug is unique, excluding the current project
52
54
  project.slug = await getUniqueSlug({ slug: project.slug, existingId: project.id }, requestOptions);
55
+ // update the status keyword
56
+ project.typeKeywords = setStatusKeyword(project.typeKeywords, project.status);
53
57
  // get the backing item & data
54
58
  const model = await getModel(project.id, requestOptions);
55
59
  // create the PropertyMapper
@@ -1 +1 @@
1
- {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/projects/edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/projects/edit.ts"],"names":[],"mappings":"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"}
@@ -10,12 +10,21 @@ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
10
10
  * @param {IRequestOptions} requestOptions
11
11
  */
12
12
  function unshareItemFromGroups(itemId, groups, requestOptions, owner) {
13
- return Promise.all(groups.map((groupId) => {
13
+ return Promise.all(groups.map(async (groupId) => {
14
14
  const opt = Object.assign({}, { id: itemId, groupId }, requestOptions);
15
15
  if (owner) {
16
16
  opt.owner = owner;
17
17
  }
18
- return arcgis_rest_portal_1.unshareItemWithGroup(opt);
18
+ // Because we are using Promise.all, we need to
19
+ // mark the callback fn as async and wrap each
20
+ // individual call in another try/catch block to
21
+ // make sure it catches before all promises finish
22
+ try {
23
+ return await arcgis_rest_portal_1.unshareItemWithGroup(opt);
24
+ }
25
+ catch (err) {
26
+ throw Error(`Error unsharing item: ${itemId} with group: ${groupId}`);
27
+ }
19
28
  }));
20
29
  }
21
30
  exports.unshareItemFromGroups = unshareItemFromGroups;
@@ -1 +1 @@
1
- {"version":3,"file":"unshare-item-from-groups.js","sourceRoot":"","sources":["../../../src/items/unshare-item-from-groups.ts"],"names":[],"mappings":";;;AAAA,iEAIkC;AAGlC;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,MAAc,EACd,MAAgB,EAChB,cAA+B,EAC/B,KAAc;IAEd,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CACvB,EAAE,EACF,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EACvB,cAAc,CACS,CAAC;QAC1B,IAAI,KAAK,EAAE;YACT,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;SACnB;QACD,OAAO,yCAAoB,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAnBD,sDAmBC"}
1
+ {"version":3,"file":"unshare-item-from-groups.js","sourceRoot":"","sources":["../../../src/items/unshare-item-from-groups.ts"],"names":[],"mappings":";;;AAAA,iEAIkC;AAGlC;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,MAAc,EACd,MAAgB,EAChB,cAA+B,EAC/B,KAAc;IAEd,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CACvB,EAAE,EACF,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EACvB,cAAc,CACS,CAAC;QAC1B,IAAI,KAAK,EAAE;YACT,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;SACnB;QACD,+CAA+C;QAC/C,8CAA8C;QAC9C,gDAAgD;QAChD,kDAAkD;QAClD,IAAI;YACF,OAAO,MAAM,yCAAoB,CAAC,GAAG,CAAC,CAAC;SACxC;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,KAAK,CAAC,yBAAyB,MAAM,gBAAgB,OAAO,EAAE,CAAC,CAAC;SACvE;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AA3BD,sDA2BC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setStatusKeyword = void 0;
4
+ /**
5
+ * adds/updates the project status typekeyword and returns
6
+ * a new array of typekeywords
7
+ * @param typeKeywords project's current typekeywords
8
+ * @param status project status
9
+ */
10
+ function setStatusKeyword(typeKeywords, status) {
11
+ // filter out the existing status typekeyword
12
+ const filteredTypekeywords = typeKeywords.filter((typekeyword) => {
13
+ return !typekeyword.startsWith("status|");
14
+ });
15
+ // add the new/updated status typekeyword
16
+ filteredTypekeywords.push(`status|${status}`);
17
+ return filteredTypekeywords;
18
+ }
19
+ exports.setStatusKeyword = setStatusKeyword;
20
+ //# sourceMappingURL=setStatusKeyword.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setStatusKeyword.js","sourceRoot":"","sources":["../../../../src/projects/_internal/setStatusKeyword.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACH,SAAgB,gBAAgB,CAC9B,YAAsB,EACtB,MAAwB;IAExB,6CAA6C;IAC7C,MAAM,oBAAoB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,WAAmB,EAAE,EAAE;QACvE,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,yCAAyC;IACzC,oBAAoB,CAAC,IAAI,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;IAC9C,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAZD,4CAYC"}
@@ -9,6 +9,7 @@ const PropertyMapper_1 = require("../core/_internal/PropertyMapper");
9
9
  const defaults_1 = require("./defaults");
10
10
  const computeProps_1 = require("./_internal/computeProps");
11
11
  const getPropertyMap_1 = require("./_internal/getPropertyMap");
12
+ const setStatusKeyword_1 = require("./_internal/setStatusKeyword");
12
13
  const util_1 = require("../util");
13
14
  const schemas_1 = require("../core/schemas");
14
15
  /**
@@ -30,8 +31,9 @@ async function createProject(partialProject, requestOptions) {
30
31
  }
31
32
  // Ensure slug is unique
32
33
  project.slug = await slugs_1.getUniqueSlug({ slug: project.slug }, requestOptions);
33
- // add slug to keywords
34
+ // add slug and status to keywords
34
35
  project.typeKeywords = slugs_1.setSlugKeyword(project.typeKeywords, project.slug);
36
+ project.typeKeywords = setStatusKeyword_1.setStatusKeyword(project.typeKeywords, project.status);
35
37
  // Map project object onto a default project Model
36
38
  const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap_1.getPropertyMap());
37
39
  // create model from object, using the default model as a starting point
@@ -54,6 +56,8 @@ exports.createProject = createProject;
54
56
  async function updateProject(project, requestOptions) {
55
57
  // verify that the slug is unique, excluding the current project
56
58
  project.slug = await slugs_1.getUniqueSlug({ slug: project.slug, existingId: project.id }, requestOptions);
59
+ // update the status keyword
60
+ project.typeKeywords = setStatusKeyword_1.setStatusKeyword(project.typeKeywords, project.status);
57
61
  // get the backing item & data
58
62
  const model = await models_1.getModel(project.id, requestOptions);
59
63
  // create the PropertyMapper
@@ -1 +1 @@
1
- {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/projects/edit.ts"],"names":[],"mappings":";;;AAEA,4EAA4E;AAC5E,sCAA+D;AAC/D,0CAA8E;AAC9E,iEAAwE;AACxE,qEAAkE;AAElE,yCAAoE;AACpE,2DAAwD;AACxD,+DAA4D;AAE5D,kCAAsC;AACtC,6CAGyB;AAMzB;;;;;;;;GAQG;AACI,KAAK,UAAU,aAAa,CACjC,cAAoC,EACpC,cAAmC;IAEnC,kCAAkC;IAClC,2CAA2C;IAC3C,MAAM,OAAO,mCAAQ,0BAAe,GAAK,cAAc,CAAE,CAAC;IAE1D,uDAAuD;IACvD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QACjB,OAAO,CAAC,IAAI,GAAG,qBAAa,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;KAC/D;IACD,yBAAyB;IACzB,OAAO,CAAC,IAAI,GAAG,MAAM,qBAAa,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC;IAC3E,uBAAuB;IACvB,OAAO,CAAC,YAAY,GAAG,sBAAc,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,kDAAkD;IAClD,MAAM,MAAM,GAAG,IAAI,+BAAc,CAAuB,+BAAc,EAAE,CAAC,CAAC;IAC1E,wEAAwE;IACxE,IAAI,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,kBAAW,CAAC,gCAAqB,CAAC,CAAC,CAAC;IAC9E,kBAAkB;IAClB,KAAK,GAAG,MAAM,oBAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACjD,wCAAwC;IACxC,IAAI,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACjD,UAAU,GAAG,2BAAY,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAC7D,gBAAgB;IAChB,OAAO,UAAyB,CAAC;AACnC,CAAC;AA3BD,sCA2BC;AAED;;;;;GAKG;AACI,KAAK,UAAU,aAAa,CACjC,OAAoB,EACpB,cAAmC;IAEnC,gEAAgE;IAChE,OAAO,CAAC,IAAI,GAAG,MAAM,qBAAa,CAChC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,EAC9C,cAAc,CACf,CAAC;IACF,8BAA8B;IAC9B,MAAM,KAAK,GAAG,MAAM,iBAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACzD,4BAA4B;IAC5B,MAAM,MAAM,GAAG,IAAI,+BAAc,CAAuB,+BAAc,EAAE,CAAC,CAAC;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,sDAAsD;IACtD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3D,0BAA0B;IAC1B,MAAM,YAAY,GAAG,MAAM,oBAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IACtE,8CAA8C;IAC9C,IAAI,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACjE,cAAc,GAAG,2BAAY,CAAC,KAAK,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IACrE,qEAAqE;IACrE,uCAAuC;IACvC,OAAO,cAA6B,CAAC;AACvC,CAAC;AAzBD,sCAyBC;AAED;;;;;GAKG;AACI,KAAK,UAAU,aAAa,CACjC,EAAU,EACV,cAAmC;IAEnC,MAAM,EAAE,GAAG,gCAAK,cAAc,GAAK,EAAE,EAAE,EAAE,CAAsB,CAAC;IAChE,MAAM,+BAAU,CAAC,EAAE,CAAC,CAAC;IACrB,OAAO;AACT,CAAC;AAPD,sCAOC;AAED;;;;;;;;;GASG;AACH,qCAAqC;AAC9B,KAAK,UAAU,yBAAyB,CAC7C,SAAiB,EACjB,IAAsB,EACtB,UAAoC,EAAE;IAEtC,MAAM,UAAU,GAAG,eAAe,IAAI,EAAuB,CAAC;IAE9D,OAAO,gCAAsB,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC;AARD,8DAQC"}
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/projects/edit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { PROJECT_STATUSES } from "../../core";
2
+ /**
3
+ * adds/updates the project status typekeyword and returns
4
+ * a new array of typekeywords
5
+ * @param typeKeywords project's current typekeywords
6
+ * @param status project status
7
+ */
8
+ export declare function setStatusKeyword(typeKeywords: string[], status: PROJECT_STATUSES): string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "12.37.1",
3
+ "version": "12.38.1",
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",