@esri/hub-common 15.14.0 → 15.15.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.
@@ -1,3 +1,7 @@
1
+ import { isGuid } from "../../utils/is-guid";
2
+ const SLUG_ID_SEPARATOR = "~";
3
+ // TODO: use this const in other utils
4
+ const SLUG_ORG_KEY_SEPARATOR = "::";
1
5
  const TYPEKEYWORD_MAX_LENGTH = 256;
2
6
  export const TYPEKEYWORD_SLUG_PREFIX = "slug";
3
7
  /**
@@ -35,4 +39,31 @@ export function getSlugMaxLength(orgKey) {
35
39
  const prefix = `${TYPEKEYWORD_SLUG_PREFIX}|${orgKey}|`;
36
40
  return TYPEKEYWORD_MAX_LENGTH - prefix.length;
37
41
  }
42
+ /**
43
+ * parse out the item's id, slug, and org key out of an identifier
44
+ * @param identifier
45
+ * @returns
46
+ */
47
+ export const parseIdentifier = (identifier) => {
48
+ let orgKey;
49
+ let slug;
50
+ // if identifier is a guid, we just return that as the id below
51
+ let id = isGuid(identifier) && identifier;
52
+ if (!id) {
53
+ // otherwise try parsing id, slug, and org key from the identifier
54
+ let slugParts;
55
+ [slugParts, id] = identifier.split(SLUG_ID_SEPARATOR);
56
+ const match = slugParts.match(new RegExp(`^((.*)${SLUG_ORG_KEY_SEPARATOR})?(.*)$`));
57
+ // istanbul ignore next - I think that regex will always match at least the slug
58
+ if (match) {
59
+ orgKey = match[2];
60
+ slug = match[3];
61
+ }
62
+ }
63
+ return {
64
+ id,
65
+ slug,
66
+ orgKey,
67
+ };
68
+ };
38
69
  //# sourceMappingURL=slugs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slugs.js","sourceRoot":"","sources":["../../../../src/items/_internal/slugs.ts"],"names":[],"mappings":"AAAA,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,MAAc,EAAE,UAAU,GAAG,CAAC;IACvE,uEAAuE;IACvE,0DAA0D;IAC1D,OAAO,CACL;QACE,kCAAkC;QAClC,uBAAuB;QACvB,yBAAyB;QACzB,MAAM,CAAC,WAAW,EAAE;QACpB,kCAAkC;QAClC,IAAI;KACL;SACE,IAAI,CAAC,GAAG,CAAC;SACT,SAAS,CAAC,CAAC,EAAE,sBAAsB,GAAG,UAAU,CAAC;QAClD,2BAA2B;SAC1B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACnB,kEAAkE;SACjE,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,uBAAuB,KAAK,CAAC,EAAE,EAAE,CAAC,CAC7D,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,MAAM,GAAG,GAAG,uBAAuB,IAAI,MAAM,GAAG,CAAC;IACvD,OAAO,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"slugs.js","sourceRoot":"","sources":["../../../../src/items/_internal/slugs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,sCAAsC;AACtC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAEpC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,MAAc,EAAE,UAAU,GAAG,CAAC;IACvE,uEAAuE;IACvE,0DAA0D;IAC1D,OAAO,CACL;QACE,kCAAkC;QAClC,uBAAuB;QACvB,yBAAyB;QACzB,MAAM,CAAC,WAAW,EAAE;QACpB,kCAAkC;QAClC,IAAI;KACL;SACE,IAAI,CAAC,GAAG,CAAC;SACT,SAAS,CAAC,CAAC,EAAE,sBAAsB,GAAG,UAAU,CAAC;QAClD,2BAA2B;SAC1B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACnB,kEAAkE;SACjE,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,uBAAuB,KAAK,CAAC,EAAE,EAAE,CAAC,CAC7D,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,MAAM,GAAG,GAAG,uBAAuB,IAAI,MAAM,GAAG,CAAC;IACvD,OAAO,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC;AAChD,CAAC;AAWD;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,UAAkB,EAAqB,EAAE;IACvE,IAAI,MAAM,CAAC;IACX,IAAI,IAAI,CAAC;IACT,+DAA+D;IAC/D,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;IAC1C,IAAI,CAAC,EAAE,EAAE;QACP,kEAAkE;QAClE,IAAI,SAAS,CAAC;QACd,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAC3B,IAAI,MAAM,CAAC,SAAS,sBAAsB,SAAS,CAAC,CACrD,CAAC;QACF,gFAAgF;QAChF,IAAI,KAAK,EAAE;YACT,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SACjB;KACF;IACD,OAAO;QACL,EAAE;QACF,IAAI;QACJ,MAAM;KACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { getItem } from "@esri/arcgis-rest-portal";
2
+ import { addContextToSlug } from "../content";
3
+ import { findItemsBySlug } from "./slugs";
4
+ import { uriSlugToKeywordSlug } from "./_internal/slugConverters";
5
+ import { parseIdentifier } from "./_internal/slugs";
6
+ /**
7
+ * Fetch an item by its identifier
8
+ * @param identifier item id or slug, which may or may not include the org key
9
+ * @param requestOptions
10
+ */
11
+ export function fetchItem(identifier, requestOptions) {
12
+ const { id, slug, orgKey } = parseIdentifier(identifier);
13
+ if (id) {
14
+ // use the id to fetch the item
15
+ return getItem(id, requestOptions);
16
+ }
17
+ // we'll have to look up by slug
18
+ // first, ensure the slug has the org key
19
+ const fullyQualifiedSlug = addContextToSlug(slug, orgKey || requestOptions.siteOrgKey);
20
+ const slugKeyword = uriSlugToKeywordSlug(fullyQualifiedSlug);
21
+ return findItemsBySlug({ slug: slugKeyword }, requestOptions).then((results) => {
22
+ if (results.length) {
23
+ // search results only include a subset of properties of the item, so
24
+ // issue a subsequent call to getItem to get the full item details
25
+ return getItem(results[0].id, requestOptions);
26
+ }
27
+ else {
28
+ return null;
29
+ }
30
+ });
31
+ }
32
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/items/fetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAWpD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CACvB,UAAkB,EAClB,cAAiC;IAEjC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,EAAE,EAAE;QACN,+BAA+B;QAC/B,OAAO,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;KACpC;IACD,gCAAgC;IAChC,yCAAyC;IACzC,MAAM,kBAAkB,GAAG,gBAAgB,CACzC,IAAI,EACJ,MAAM,IAAI,cAAc,CAAC,UAAU,CACpC,CAAC;IACF,MAAM,WAAW,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAC7D,OAAO,eAAe,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,cAAc,CAAC,CAAC,IAAI,CAChE,CAAC,OAAO,EAAE,EAAE;QACV,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,qEAAqE;YACrE,kEAAkE;YAClE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;SAC/C;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -26,6 +26,7 @@ export * from "./getItemIdentifier";
26
26
  export * from "./deleteItemThumbnail";
27
27
  export * from "./deleteItemThumbnail";
28
28
  export * from "./follow";
29
+ export * from "./fetch";
29
30
  // No longer exported as the only App Hub needed this for was a Site
30
31
  // and that registration is now done in the domain service with a
31
32
  // signed HMAC request.
@@ -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;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,oEAAoE;AACpE,iEAAiE;AACjE,uBAAuB;AACvB,wCAAwC"}
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;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,oEAAoE;AACpE,iEAAiE;AACjE,uBAAuB;AACvB,wCAAwC"}
@@ -3,10 +3,9 @@ import { deriveLocationFromItem } from "../content/_internal/internalContentUtil
3
3
  import { fetchItemEnrichments } from "../items/_enrichments";
4
4
  import { getProp } from "../objects";
5
5
  import { parseInclude } from "../search/_internal/parseInclude";
6
- import { getItem } from "@esri/arcgis-rest-portal";
7
6
  import { cloneObject, unique } from "../util";
8
- import { mapBy, isGuid } from "../utils";
9
- import { constructSlug, getItemBySlug } from "../items/slugs";
7
+ import { mapBy } from "../utils";
8
+ import { constructSlug } from "../items/slugs";
10
9
  import { createModel, fetchModelFromItem, getModel, updateModel, } from "../models";
11
10
  import { PropertyMapper } from "../core/_internal/PropertyMapper";
12
11
  import { getPropertyMap } from "./_internal/getPropertyMap";
@@ -15,6 +14,7 @@ import { removeItem } from "@esri/arcgis-rest-portal";
15
14
  import { DEFAULT_PAGE, DEFAULT_PAGE_MODEL } from "./defaults";
16
15
  import { ensureUniqueEntitySlug } from "../items/_internal/ensureUniqueEntitySlug";
17
16
  import { computeLinks } from "./_internal/computeLinks";
17
+ import { fetchItem } from "../items/fetch";
18
18
  /**
19
19
  * @private
20
20
  * Create a new Hub Page item
@@ -79,19 +79,8 @@ export async function updatePage(page, requestOptions) {
79
79
  * @param requestOptions
80
80
  */
81
81
  export async function fetchPage(identifier, requestOptions) {
82
- let getPrms;
83
- if (isGuid(identifier)) {
84
- // get item by id
85
- getPrms = getItem(identifier, requestOptions);
86
- }
87
- else {
88
- getPrms = getItemBySlug(identifier, requestOptions);
89
- }
90
- return getPrms.then((item) => {
91
- if (!item)
92
- return null;
93
- return convertItemToPage(item, requestOptions);
94
- });
82
+ const item = await fetchItem(identifier, requestOptions);
83
+ return item ? convertItemToPage(item, requestOptions) : null;
95
84
  }
96
85
  /**
97
86
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"HubPages.js","sourceRoot":"","sources":["../../../src/pages/HubPages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubPages.js","sourceRoot":"","sources":["../../../src/pages/HubPages.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ import { computeLinks } from "./computeLinks";
14
14
  export function computeProps(model, page, requestOptions) {
15
15
  var _a;
16
16
  let token;
17
+ // istanbul ignore next - this logic is covered elsewhere and should be refactored into a shared util
17
18
  if (requestOptions.authentication) {
18
19
  const session = requestOptions.authentication;
19
20
  token = session.token;
@@ -1 +1 @@
1
- {"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/pages/_internal/computeProps.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,IAAuB,EACvB,cAA+B;;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IACD,kCAAkC;IAClC,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1C,gBAAgB;IAChB,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAC5E,4EAA4E;IAC5E,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACjC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAEtD;;;OAGG;IACH,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CACnC,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,QAAQ,KAAI,EAAE,EACnC,mBAAmB,CACpB,CAAC;IAEF,wDAAwD;IACxD,OAAO,IAAgB,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/pages/_internal/computeProps.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,IAAuB,EACvB,cAA+B;;IAE/B,IAAI,KAAa,CAAC;IAClB,qGAAqG;IACrG,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IACD,kCAAkC;IAClC,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1C,gBAAgB;IAChB,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAC5E,4EAA4E;IAC5E,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACjC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAEtD;;;OAGG;IACH,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CACnC,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,QAAQ,KAAI,EAAE,EACnC,mBAAmB,CACpB,CAAC;IAEF,wDAAwD;IACxD,OAAO,IAAgB,CAAC;AAC1B,CAAC"}
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSlugMaxLength = exports.truncateSlug = exports.TYPEKEYWORD_SLUG_PREFIX = void 0;
3
+ exports.parseIdentifier = exports.getSlugMaxLength = exports.truncateSlug = exports.TYPEKEYWORD_SLUG_PREFIX = void 0;
4
+ const is_guid_1 = require("../../utils/is-guid");
5
+ const SLUG_ID_SEPARATOR = "~";
6
+ // TODO: use this const in other utils
7
+ const SLUG_ORG_KEY_SEPARATOR = "::";
4
8
  const TYPEKEYWORD_MAX_LENGTH = 256;
5
9
  exports.TYPEKEYWORD_SLUG_PREFIX = "slug";
6
10
  /**
@@ -40,4 +44,31 @@ function getSlugMaxLength(orgKey) {
40
44
  return TYPEKEYWORD_MAX_LENGTH - prefix.length;
41
45
  }
42
46
  exports.getSlugMaxLength = getSlugMaxLength;
47
+ /**
48
+ * parse out the item's id, slug, and org key out of an identifier
49
+ * @param identifier
50
+ * @returns
51
+ */
52
+ exports.parseIdentifier = (identifier) => {
53
+ let orgKey;
54
+ let slug;
55
+ // if identifier is a guid, we just return that as the id below
56
+ let id = is_guid_1.isGuid(identifier) && identifier;
57
+ if (!id) {
58
+ // otherwise try parsing id, slug, and org key from the identifier
59
+ let slugParts;
60
+ [slugParts, id] = identifier.split(SLUG_ID_SEPARATOR);
61
+ const match = slugParts.match(new RegExp(`^((.*)${SLUG_ORG_KEY_SEPARATOR})?(.*)$`));
62
+ // istanbul ignore next - I think that regex will always match at least the slug
63
+ if (match) {
64
+ orgKey = match[2];
65
+ slug = match[3];
66
+ }
67
+ }
68
+ return {
69
+ id,
70
+ slug,
71
+ orgKey,
72
+ };
73
+ };
43
74
  //# sourceMappingURL=slugs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slugs.js","sourceRoot":"","sources":["../../../../src/items/_internal/slugs.ts"],"names":[],"mappings":";;;AAAA,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEtB,QAAA,uBAAuB,GAAG,MAAM,CAAC;AAE9C;;;;;;;GAOG;AACH,SAAgB,YAAY,CAAC,IAAY,EAAE,MAAc,EAAE,UAAU,GAAG,CAAC;IACvE,uEAAuE;IACvE,0DAA0D;IAC1D,OAAO,CACL;QACE,kCAAkC;QAClC,+BAAuB;QACvB,yBAAyB;QACzB,MAAM,CAAC,WAAW,EAAE;QACpB,kCAAkC;QAClC,IAAI;KACL;SACE,IAAI,CAAC,GAAG,CAAC;SACT,SAAS,CAAC,CAAC,EAAE,sBAAsB,GAAG,UAAU,CAAC;QAClD,2BAA2B;SAC1B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACnB,kEAAkE;SACjE,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,+BAAuB,KAAK,CAAC,EAAE,EAAE,CAAC,CAC7D,CAAC;AACJ,CAAC;AAnBD,oCAmBC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,MAAc;IAC7C,MAAM,MAAM,GAAG,GAAG,+BAAuB,IAAI,MAAM,GAAG,CAAC;IACvD,OAAO,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC;AAChD,CAAC;AAHD,4CAGC"}
1
+ {"version":3,"file":"slugs.js","sourceRoot":"","sources":["../../../../src/items/_internal/slugs.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAE7C,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,sCAAsC;AACtC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAEpC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEtB,QAAA,uBAAuB,GAAG,MAAM,CAAC;AAE9C;;;;;;;GAOG;AACH,SAAgB,YAAY,CAAC,IAAY,EAAE,MAAc,EAAE,UAAU,GAAG,CAAC;IACvE,uEAAuE;IACvE,0DAA0D;IAC1D,OAAO,CACL;QACE,kCAAkC;QAClC,+BAAuB;QACvB,yBAAyB;QACzB,MAAM,CAAC,WAAW,EAAE;QACpB,kCAAkC;QAClC,IAAI;KACL;SACE,IAAI,CAAC,GAAG,CAAC;SACT,SAAS,CAAC,CAAC,EAAE,sBAAsB,GAAG,UAAU,CAAC;QAClD,2BAA2B;SAC1B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACnB,kEAAkE;SACjE,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,+BAAuB,KAAK,CAAC,EAAE,EAAE,CAAC,CAC7D,CAAC;AACJ,CAAC;AAnBD,oCAmBC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,MAAc;IAC7C,MAAM,MAAM,GAAG,GAAG,+BAAuB,IAAI,MAAM,GAAG,CAAC;IACvD,OAAO,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC;AAChD,CAAC;AAHD,4CAGC;AAWD;;;;GAIG;AACU,QAAA,eAAe,GAAG,CAAC,UAAkB,EAAqB,EAAE;IACvE,IAAI,MAAM,CAAC;IACX,IAAI,IAAI,CAAC;IACT,+DAA+D;IAC/D,IAAI,EAAE,GAAG,gBAAM,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;IAC1C,IAAI,CAAC,EAAE,EAAE;QACP,kEAAkE;QAClE,IAAI,SAAS,CAAC;QACd,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAC3B,IAAI,MAAM,CAAC,SAAS,sBAAsB,SAAS,CAAC,CACrD,CAAC;QACF,gFAAgF;QAChF,IAAI,KAAK,EAAE;YACT,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SACjB;KACF;IACD,OAAO;QACL,EAAE;QACF,IAAI;QACJ,MAAM;KACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchItem = void 0;
4
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
+ const content_1 = require("../content");
6
+ const slugs_1 = require("./slugs");
7
+ const slugConverters_1 = require("./_internal/slugConverters");
8
+ const slugs_2 = require("./_internal/slugs");
9
+ /**
10
+ * Fetch an item by its identifier
11
+ * @param identifier item id or slug, which may or may not include the org key
12
+ * @param requestOptions
13
+ */
14
+ function fetchItem(identifier, requestOptions) {
15
+ const { id, slug, orgKey } = slugs_2.parseIdentifier(identifier);
16
+ if (id) {
17
+ // use the id to fetch the item
18
+ return arcgis_rest_portal_1.getItem(id, requestOptions);
19
+ }
20
+ // we'll have to look up by slug
21
+ // first, ensure the slug has the org key
22
+ const fullyQualifiedSlug = content_1.addContextToSlug(slug, orgKey || requestOptions.siteOrgKey);
23
+ const slugKeyword = slugConverters_1.uriSlugToKeywordSlug(fullyQualifiedSlug);
24
+ return slugs_1.findItemsBySlug({ slug: slugKeyword }, requestOptions).then((results) => {
25
+ if (results.length) {
26
+ // search results only include a subset of properties of the item, so
27
+ // issue a subsequent call to getItem to get the full item details
28
+ return arcgis_rest_portal_1.getItem(results[0].id, requestOptions);
29
+ }
30
+ else {
31
+ return null;
32
+ }
33
+ });
34
+ }
35
+ exports.fetchItem = fetchItem;
36
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/items/fetch.ts"],"names":[],"mappings":";;;AACA,iEAA0D;AAC1D,wCAA8C;AAC9C,mCAA0C;AAC1C,+DAAkE;AAClE,6CAAoD;AAWpD;;;;GAIG;AACH,SAAgB,SAAS,CACvB,UAAkB,EAClB,cAAiC;IAEjC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,uBAAe,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,EAAE,EAAE;QACN,+BAA+B;QAC/B,OAAO,4BAAO,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;KACpC;IACD,gCAAgC;IAChC,yCAAyC;IACzC,MAAM,kBAAkB,GAAG,0BAAgB,CACzC,IAAI,EACJ,MAAM,IAAI,cAAc,CAAC,UAAU,CACpC,CAAC;IACF,MAAM,WAAW,GAAG,qCAAoB,CAAC,kBAAkB,CAAC,CAAC;IAC7D,OAAO,uBAAe,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,cAAc,CAAC,CAAC,IAAI,CAChE,CAAC,OAAO,EAAE,EAAE;QACV,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,qEAAqE;YACrE,kEAAkE;YAClE,OAAO,4BAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;SAC/C;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AA3BD,8BA2BC"}
@@ -29,6 +29,7 @@ tslib_1.__exportStar(require("./getItemIdentifier"), exports);
29
29
  tslib_1.__exportStar(require("./deleteItemThumbnail"), exports);
30
30
  tslib_1.__exportStar(require("./deleteItemThumbnail"), exports);
31
31
  tslib_1.__exportStar(require("./follow"), exports);
32
+ tslib_1.__exportStar(require("./fetch"), exports);
32
33
  // No longer exported as the only App Hub needed this for was a Site
33
34
  // and that registration is now done in the domain service with a
34
35
  // signed HMAC request.
@@ -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;AAC/C,gEAAsC;AACtC,2EAAiD;AACjD,8DAAoC;AACpC,gEAAsC;AACtC,gEAAsC;AACtC,mDAAyB;AACzB,oEAAoE;AACpE,iEAAiE;AACjE,uBAAuB;AACvB,wCAAwC"}
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;AACtC,2EAAiD;AACjD,8DAAoC;AACpC,gEAAsC;AACtC,gEAAsC;AACtC,mDAAyB;AACzB,kDAAwB;AACxB,oEAAoE;AACpE,iEAAiE;AACjE,uBAAuB;AACvB,wCAAwC"}
@@ -6,7 +6,6 @@ const internalContentUtils_1 = require("../content/_internal/internalContentUtil
6
6
  const _enrichments_1 = require("../items/_enrichments");
7
7
  const objects_1 = require("../objects");
8
8
  const parseInclude_1 = require("../search/_internal/parseInclude");
9
- const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
10
9
  const util_1 = require("../util");
11
10
  const utils_1 = require("../utils");
12
11
  const slugs_1 = require("../items/slugs");
@@ -14,10 +13,11 @@ const models_1 = require("../models");
14
13
  const PropertyMapper_1 = require("../core/_internal/PropertyMapper");
15
14
  const getPropertyMap_1 = require("./_internal/getPropertyMap");
16
15
  const computeProps_1 = require("./_internal/computeProps");
17
- const arcgis_rest_portal_2 = require("@esri/arcgis-rest-portal");
16
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
18
17
  const defaults_1 = require("./defaults");
19
18
  const ensureUniqueEntitySlug_1 = require("../items/_internal/ensureUniqueEntitySlug");
20
19
  const computeLinks_1 = require("./_internal/computeLinks");
20
+ const fetch_1 = require("../items/fetch");
21
21
  /**
22
22
  * @private
23
23
  * Create a new Hub Page item
@@ -84,19 +84,8 @@ exports.updatePage = updatePage;
84
84
  * @param requestOptions
85
85
  */
86
86
  async function fetchPage(identifier, requestOptions) {
87
- let getPrms;
88
- if (utils_1.isGuid(identifier)) {
89
- // get item by id
90
- getPrms = arcgis_rest_portal_1.getItem(identifier, requestOptions);
91
- }
92
- else {
93
- getPrms = slugs_1.getItemBySlug(identifier, requestOptions);
94
- }
95
- return getPrms.then((item) => {
96
- if (!item)
97
- return null;
98
- return convertItemToPage(item, requestOptions);
99
- });
87
+ const item = await fetch_1.fetchItem(identifier, requestOptions);
88
+ return item ? convertItemToPage(item, requestOptions) : null;
100
89
  }
101
90
  exports.fetchPage = fetchPage;
102
91
  /**
@@ -134,7 +123,7 @@ exports.convertItemToPage = convertItemToPage;
134
123
  */
135
124
  async function deletePage(id, requestOptions) {
136
125
  const ro = Object.assign(Object.assign({}, requestOptions), { id });
137
- await arcgis_rest_portal_2.removeItem(ro);
126
+ await arcgis_rest_portal_1.removeItem(ro);
138
127
  return;
139
128
  }
140
129
  exports.deletePage = deletePage;
@@ -1 +1 @@
1
- {"version":3,"file":"HubPages.js","sourceRoot":"","sources":["../../../src/pages/HubPages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubPages.js","sourceRoot":"","sources":["../../../src/pages/HubPages.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ const computeLinks_1 = require("./computeLinks");
17
17
  function computeProps(model, page, requestOptions) {
18
18
  var _a;
19
19
  let token;
20
+ // istanbul ignore next - this logic is covered elsewhere and should be refactored into a shared util
20
21
  if (requestOptions.authentication) {
21
22
  const session = requestOptions.authentication;
22
23
  token = session.token;
@@ -1 +1 @@
1
- {"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/pages/_internal/computeProps.ts"],"names":[],"mappings":";;;AAEA,+CAAsD;AAGtD,6FAA0F;AAC1F,2DAA0D;AAI1D,4EAAyE;AAEzE,iDAA8C;AAE9C;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,IAAuB,EACvB,cAA+B;;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IACD,kCAAkC;IAClC,IAAI,GAAG,mCAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1C,gBAAgB;IAChB,MAAM,YAAY,GAAG,+BAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAC5E,4EAA4E;IAC5E,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACjC,IAAI,CAAC,KAAK,GAAG,2BAAY,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAEtD;;;OAGG;IACH,IAAI,CAAC,QAAQ,GAAG,6CAAqB,CACnC,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,QAAQ,KAAI,EAAE,EACnC,uCAAmB,CACpB,CAAC;IAEF,wDAAwD;IACxD,OAAO,IAAgB,CAAC;AAC1B,CAAC;AA7BD,oCA6BC"}
1
+ {"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/pages/_internal/computeProps.ts"],"names":[],"mappings":";;;AAEA,+CAAsD;AAGtD,6FAA0F;AAC1F,2DAA0D;AAI1D,4EAAyE;AAEzE,iDAA8C;AAE9C;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,IAAuB,EACvB,cAA+B;;IAE/B,IAAI,KAAa,CAAC;IAClB,qGAAqG;IACrG,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IACD,kCAAkC;IAClC,IAAI,GAAG,mCAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1C,gBAAgB;IAChB,MAAM,YAAY,GAAG,+BAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAC5E,4EAA4E;IAC5E,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACjC,IAAI,CAAC,KAAK,GAAG,2BAAY,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAEtD;;;OAGG;IACH,IAAI,CAAC,QAAQ,GAAG,6CAAqB,CACnC,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,QAAQ,KAAI,EAAE,EACnC,uCAAmB,CACpB,CAAC;IAEF,wDAAwD;IACxD,OAAO,IAAgB,CAAC;AAC1B,CAAC;AA9BD,oCA8BC"}
@@ -14,3 +14,14 @@ export declare function truncateSlug(slug: string, orgKey: string, paddingEnd?:
14
14
  * @returns
15
15
  */
16
16
  export declare function getSlugMaxLength(orgKey: string): number;
17
+ export interface IParsedIdentifier {
18
+ id?: string;
19
+ slug?: string;
20
+ orgKey?: string;
21
+ }
22
+ /**
23
+ * parse out the item's id, slug, and org key out of an identifier
24
+ * @param identifier
25
+ * @returns
26
+ */
27
+ export declare const parseIdentifier: (identifier: string) => IParsedIdentifier;
@@ -0,0 +1,16 @@
1
+ import { IRequestOptions } from "@esri/arcgis-rest-request";
2
+ import { IItem } from "@esri/arcgis-rest-portal";
3
+ export interface IFetchItemOptions extends IRequestOptions {
4
+ /**
5
+ * Org key of the site for which this item is being fetched.
6
+ * This is used as a fallback when looking up by a slug
7
+ * that is missing the org key prefix.
8
+ */
9
+ siteOrgKey?: string;
10
+ }
11
+ /**
12
+ * Fetch an item by its identifier
13
+ * @param identifier item id or slug, which may or may not include the org key
14
+ * @param requestOptions
15
+ */
16
+ export declare function fetchItem(identifier: string, requestOptions: IFetchItemOptions): Promise<IItem>;
@@ -26,3 +26,4 @@ export * from "./getItemIdentifier";
26
26
  export * from "./deleteItemThumbnail";
27
27
  export * from "./deleteItemThumbnail";
28
28
  export * from "./follow";
29
+ export * from "./fetch";
@@ -4,6 +4,7 @@ import { IRequestOptions } from "@esri/arcgis-rest-request";
4
4
  import { IItem } from "@esri/arcgis-rest-portal";
5
5
  import { IHubPage } from "../core";
6
6
  import { IUserRequestOptions } from "@esri/arcgis-rest-auth";
7
+ import { IFetchItemOptions } from "../items/fetch";
7
8
  /**
8
9
  * @private
9
10
  * Create a new Hub Page item
@@ -27,7 +28,7 @@ export declare function updatePage(page: IHubPage, requestOptions: IUserRequestO
27
28
  * @param identifier item id or slug
28
29
  * @param requestOptions
29
30
  */
30
- export declare function fetchPage(identifier: string, requestOptions: IRequestOptions): Promise<IHubPage>;
31
+ export declare function fetchPage(identifier: string, requestOptions: IFetchItemOptions): Promise<IHubPage>;
31
32
  /**
32
33
  * @internal
33
34
  * Convert an IModel for a Hub Page Item into an IHubPage
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "15.14.0",
3
+ "version": "15.15.0",
4
4
  "description": "Common TypeScript types and utility functions for @esri/hub.js.",
5
5
  "main": "dist/node/index.js",
6
6
  "module": "dist/esm/index.js",