@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.
- package/dist/esm/items/_internal/slugs.js +31 -0
- package/dist/esm/items/_internal/slugs.js.map +1 -1
- package/dist/esm/items/fetch.js +32 -0
- package/dist/esm/items/fetch.js.map +1 -0
- package/dist/esm/items/index.js +1 -0
- package/dist/esm/items/index.js.map +1 -1
- package/dist/esm/pages/HubPages.js +5 -16
- package/dist/esm/pages/HubPages.js.map +1 -1
- package/dist/esm/pages/_internal/computeProps.js +1 -0
- package/dist/esm/pages/_internal/computeProps.js.map +1 -1
- package/dist/node/items/_internal/slugs.js +32 -1
- package/dist/node/items/_internal/slugs.js.map +1 -1
- package/dist/node/items/fetch.js +36 -0
- package/dist/node/items/fetch.js.map +1 -0
- package/dist/node/items/index.js +1 -0
- package/dist/node/items/index.js.map +1 -1
- package/dist/node/pages/HubPages.js +5 -16
- package/dist/node/pages/HubPages.js.map +1 -1
- package/dist/node/pages/_internal/computeProps.js +1 -0
- package/dist/node/pages/_internal/computeProps.js.map +1 -1
- package/dist/types/items/_internal/slugs.d.ts +11 -0
- package/dist/types/items/fetch.d.ts +16 -0
- package/dist/types/items/index.d.ts +1 -0
- package/dist/types/pages/HubPages.d.ts +2 -1
- package/package.json +1 -1
|
@@ -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"}
|
package/dist/esm/items/index.js
CHANGED
|
@@ -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
|
|
9
|
-
import { constructSlug
|
|
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
|
-
|
|
83
|
-
|
|
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":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;
|
|
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"}
|
package/dist/node/items/index.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
88
|
-
|
|
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
|
|
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":";;;AAAA,sDAAkD;AAClD,oFAAmF;AACnF,wDAA6D;AAC7D,wCAAqC;AAErC,mEAAgE;
|
|
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;
|
|
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>;
|
|
@@ -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:
|
|
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
|