@esri/hub-common 17.21.0 → 18.0.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/search/_internal/commonHelpers/getApi.js +7 -27
- package/dist/esm/search/_internal/commonHelpers/getApi.js.map +1 -1
- package/dist/esm/search/_internal/commonHelpers/shouldUseOgcApi.js +2 -2
- package/dist/esm/search/_internal/commonHelpers/shouldUseOgcApi.js.map +1 -1
- package/dist/esm/search/_internal/hubSearchItemsHelpers/getOgcAggregationQueryParams.js.map +1 -1
- package/dist/esm/search/_internal/hubSearchItemsHelpers/getOgcCollectionUrl.js +4 -7
- package/dist/esm/search/_internal/hubSearchItemsHelpers/getOgcCollectionUrl.js.map +1 -1
- package/dist/esm/search/_internal/hubSearchItemsHelpers/ogcApiRequest.js +3 -24
- package/dist/esm/search/_internal/hubSearchItemsHelpers/ogcApiRequest.js.map +1 -1
- package/dist/esm/search/_internal/hubSearchItemsHelpers/searchOgcAggregations.js +1 -1
- package/dist/esm/search/_internal/hubSearchItemsHelpers/searchOgcAggregations.js.map +1 -1
- package/dist/esm/search/_internal/hubSearchItemsHelpers/searchOgcItems.js +1 -1
- package/dist/esm/search/_internal/hubSearchItemsHelpers/searchOgcItems.js.map +1 -1
- package/dist/esm/search/hubSearch.js +4 -4
- package/dist/esm/search/hubSearch.js.map +1 -1
- package/dist/esm/search/searchAssociatedContent.js +4 -4
- package/dist/esm/search/searchAssociatedContent.js.map +1 -1
- package/dist/esm/search/utils.js +0 -61
- package/dist/esm/search/utils.js.map +1 -1
- package/dist/node/search/_internal/commonHelpers/getApi.js +7 -27
- package/dist/node/search/_internal/commonHelpers/getApi.js.map +1 -1
- package/dist/node/search/_internal/commonHelpers/shouldUseOgcApi.js +2 -2
- package/dist/node/search/_internal/commonHelpers/shouldUseOgcApi.js.map +1 -1
- package/dist/node/search/_internal/hubSearchItemsHelpers/getOgcAggregationQueryParams.js.map +1 -1
- package/dist/node/search/_internal/hubSearchItemsHelpers/getOgcCollectionUrl.js +4 -7
- package/dist/node/search/_internal/hubSearchItemsHelpers/getOgcCollectionUrl.js.map +1 -1
- package/dist/node/search/_internal/hubSearchItemsHelpers/ogcApiRequest.js +3 -24
- package/dist/node/search/_internal/hubSearchItemsHelpers/ogcApiRequest.js.map +1 -1
- package/dist/node/search/_internal/hubSearchItemsHelpers/searchOgcAggregations.js +1 -1
- package/dist/node/search/_internal/hubSearchItemsHelpers/searchOgcAggregations.js.map +1 -1
- package/dist/node/search/_internal/hubSearchItemsHelpers/searchOgcItems.js +1 -1
- package/dist/node/search/_internal/hubSearchItemsHelpers/searchOgcItems.js.map +1 -1
- package/dist/node/search/hubSearch.js +4 -4
- package/dist/node/search/hubSearch.js.map +1 -1
- package/dist/node/search/searchAssociatedContent.js +4 -4
- package/dist/node/search/searchAssociatedContent.js.map +1 -1
- package/dist/node/search/utils.js +1 -64
- package/dist/node/search/utils.js.map +1 -1
- package/dist/types/search/_internal/commonHelpers/getApi.d.ts +4 -7
- package/dist/types/search/_internal/hubSearchItemsHelpers/getOgcAggregationQueryParams.d.ts +5 -4
- package/dist/types/search/_internal/hubSearchItemsHelpers/ogcApiRequest.d.ts +5 -15
- package/dist/types/search/hubSearch.d.ts +4 -1
- package/dist/types/search/types/IHubSearchOptions.d.ts +3 -9
- package/dist/types/search/types/types.d.ts +3 -18
- package/dist/types/search/utils.d.ts +1 -21
- package/package.json +1 -1
- package/dist/esm/search/_internal/commonHelpers/getDiscussionsApiDefinition.js +0 -10
- package/dist/esm/search/_internal/commonHelpers/getDiscussionsApiDefinition.js.map +0 -1
- package/dist/esm/search/_internal/commonHelpers/getOgcApiDefinition.js +0 -20
- package/dist/esm/search/_internal/commonHelpers/getOgcApiDefinition.js.map +0 -1
- package/dist/node/search/_internal/commonHelpers/getDiscussionsApiDefinition.js +0 -14
- package/dist/node/search/_internal/commonHelpers/getDiscussionsApiDefinition.js.map +0 -1
- package/dist/node/search/_internal/commonHelpers/getOgcApiDefinition.js +0 -24
- package/dist/node/search/_internal/commonHelpers/getOgcApiDefinition.js.map +0 -1
- package/dist/types/search/_internal/commonHelpers/getDiscussionsApiDefinition.d.ts +0 -2
- package/dist/types/search/_internal/commonHelpers/getOgcApiDefinition.d.ts +0 -11
|
@@ -1,40 +1,20 @@
|
|
|
1
|
-
import { expandApi } from "../../utils";
|
|
2
1
|
import { shouldUseOgcApi } from "./shouldUseOgcApi";
|
|
3
|
-
import { getOgcApiDefinition } from "./getOgcApiDefinition";
|
|
4
2
|
import { shouldUseDiscussionsApi } from "./shouldUseDiscussionsApi";
|
|
5
|
-
import { getDiscussionsApiDefinition } from "./getDiscussionsApiDefinition";
|
|
6
3
|
import { shouldUseEventsApi } from "./shouldUseEventsApi";
|
|
7
4
|
/**
|
|
8
5
|
* @private
|
|
9
6
|
* Determines Which API should be hit for the given search parameters.
|
|
10
|
-
*
|
|
11
|
-
* - Target options.api if available
|
|
12
|
-
* - Target the environment-level OGC API if current parameters allow
|
|
13
|
-
* - Target the Portal API based off options.requestOptions.portal
|
|
7
|
+
* Defaults to the Portal API unless parameters indicate that a Hub API should be used.
|
|
14
8
|
* @param targetEntity target entity of the query
|
|
15
9
|
* @param options search options
|
|
16
|
-
* @returns
|
|
10
|
+
* @returns the target API, either 'portal' or 'hub'
|
|
17
11
|
*/
|
|
18
12
|
export function getApi(targetEntity, options) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
else if (shouldUseDiscussionsApi(targetEntity, options)) {
|
|
25
|
-
result = getDiscussionsApiDefinition();
|
|
26
|
-
}
|
|
27
|
-
else if (shouldUseEventsApi(targetEntity, options)) {
|
|
28
|
-
// Currently, url is null because this is handled internally by the
|
|
29
|
-
// events request method called by searchEvents, which relies on
|
|
30
|
-
// the URL defined in the request options.hubApiUrl
|
|
31
|
-
result = { type: "arcgis-hub", url: null };
|
|
32
|
-
}
|
|
33
|
-
else if (shouldUseOgcApi(targetEntity, options)) {
|
|
34
|
-
result = getOgcApiDefinition(targetEntity, options.requestOptions);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
result = { type: "arcgis", url: portal };
|
|
13
|
+
let result = "portal";
|
|
14
|
+
if (shouldUseDiscussionsApi(targetEntity, options) ||
|
|
15
|
+
shouldUseEventsApi(targetEntity, options) ||
|
|
16
|
+
shouldUseOgcApi(targetEntity, options)) {
|
|
17
|
+
result = "hub";
|
|
38
18
|
}
|
|
39
19
|
return result;
|
|
40
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getApi.js","sourceRoot":"","sources":["../../../../../src/search/_internal/commonHelpers/getApi.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getApi.js","sourceRoot":"","sources":["../../../../../src/search/_internal/commonHelpers/getApi.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CACpB,YAAwB,EACxB,OAA0B;IAE1B,IAAI,MAAM,GAAc,QAAQ,CAAC;IACjC,IACE,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC9C,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC;QACzC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,EACtC;QACA,MAAM,GAAG,KAAK,CAAC;KAChB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
* @param options search options
|
|
6
6
|
*/
|
|
7
7
|
export function shouldUseOgcApi(targetEntity, options) {
|
|
8
|
-
const {
|
|
8
|
+
const { api, requestOptions: { isPortal }, } = options;
|
|
9
9
|
if (isPortal)
|
|
10
10
|
return false;
|
|
11
11
|
if (targetEntity === "discussionPost")
|
|
12
12
|
return true;
|
|
13
|
-
return targetEntity === "item" &&
|
|
13
|
+
return targetEntity === "item" && api === "hub";
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=shouldUseOgcApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shouldUseOgcApi.js","sourceRoot":"","sources":["../../../../../src/search/_internal/commonHelpers/shouldUseOgcApi.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,YAAwB,EACxB,OAA0B;IAE1B,MAAM,EACJ,
|
|
1
|
+
{"version":3,"file":"shouldUseOgcApi.js","sourceRoot":"","sources":["../../../../../src/search/_internal/commonHelpers/shouldUseOgcApi.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,YAAwB,EACxB,OAA0B;IAE1B,MAAM,EACJ,GAAG,EACH,cAAc,EAAE,EAAE,QAAQ,EAAE,GAC7B,GAAG,OAAO,CAAC;IACZ,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,YAAY,KAAK,gBAAgB;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,YAAY,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC;AAClD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOgcAggregationQueryParams.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/getOgcAggregationQueryParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"getOgcAggregationQueryParams.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/getOgcAggregationQueryParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAQ5D,MAAM,UAAU,4BAA4B,CAC1C,KAAa,EACb,OAA0B;IAE1B,0DAA0D;IAC1D,MAAM,YAAY,GAAG,iBAAiB,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;IACnE,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,OAAO,CACnB,OAAO,EACP,qCAAqC,CAC5B,CAAC;IAEZ,OAAO;QACL,YAAY;QACZ,MAAM;QACN,KAAK;KACN,CAAC;AACJ,CAAC"}
|
|
@@ -10,12 +10,9 @@
|
|
|
10
10
|
* @returns the collection url
|
|
11
11
|
*/
|
|
12
12
|
export function getOgcCollectionUrl(query, options) {
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return `${apiDefinition.url}/collections/discussion-post`;
|
|
18
|
-
}
|
|
19
|
-
return `${apiDefinition.url}/collections/all`;
|
|
13
|
+
const umbrellaDomain = new URL(options.requestOptions.hubApiUrl).hostname;
|
|
14
|
+
return query.targetEntity === "discussionPost"
|
|
15
|
+
? `https://${umbrellaDomain}/api/search/v2/collections/discussion-post`
|
|
16
|
+
: `https://${umbrellaDomain}/api/search/v1/collections/all`;
|
|
20
17
|
}
|
|
21
18
|
//# sourceMappingURL=getOgcCollectionUrl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOgcCollectionUrl.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/getOgcCollectionUrl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getOgcCollectionUrl.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/getOgcCollectionUrl.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,OAA0B;IAE1B,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;IAC1E,OAAO,KAAK,CAAC,YAAY,KAAK,gBAAgB;QAC5C,CAAC,CAAC,WAAW,cAAc,4CAA4C;QACvE,CAAC,CAAC,WAAW,cAAc,gCAAgC,CAAC;AAChE,CAAC"}
|
|
@@ -5,40 +5,19 @@ import { getQueryString } from "./getQueryString";
|
|
|
5
5
|
* Wrapper over fetch for performing common operations when executing a request to an OGC API, such as:
|
|
6
6
|
* - Creating the query string
|
|
7
7
|
* - URL encoding query string values
|
|
8
|
-
* - Appending the ?target query param if needed
|
|
9
8
|
* - Checking whether the response is ok
|
|
10
9
|
* - Returning the .json() of the response body
|
|
11
10
|
*
|
|
12
|
-
* Note: the ?target query param is only appended if the target site (options.site) is _different_ from the
|
|
13
|
-
* the site that will have its OGC API hit (url). This allows us to use the environment-level OGC API's url while
|
|
14
|
-
* actually targeting a specific Hub Site's catalog. It's a powerful capability that significantly eases local development.
|
|
15
|
-
*
|
|
16
|
-
* Example: https://hubqa.arcgis.com/api/search/v1?target="my-actual-hub.hub.arcgis.com"
|
|
17
|
-
*
|
|
18
|
-
* We omit the ?target query when the site and url are the same because it would be redundant.
|
|
19
|
-
*
|
|
20
|
-
* Bad example: https://hubqa.arcgis.com/api/search/v1?target="hubqa.arcgis.com"
|
|
21
|
-
* Good example: https://hubqa.arcgis.com/api/search/v1
|
|
22
|
-
*
|
|
23
11
|
* @param url the OGC API endpoint that should actually be hit
|
|
24
|
-
* @param queryParams query params that should be serialized with the request
|
|
25
|
-
* @param options options to customize the search
|
|
12
|
+
* @param queryParams query params that should be serialized with the request
|
|
13
|
+
* @param options options to customize the search
|
|
26
14
|
* @returns the JSON response from the endpoint
|
|
27
15
|
*/
|
|
28
16
|
export async function ogcApiRequest(url, queryParams, options) {
|
|
29
|
-
var _a;
|
|
30
17
|
const updatedQueryParams = cloneObject(queryParams);
|
|
31
|
-
let targetDomain;
|
|
32
|
-
if (options.site) {
|
|
33
|
-
targetDomain = new URL(options.site).hostname;
|
|
34
|
-
}
|
|
35
|
-
const urlDomain = new URL(url).hostname;
|
|
36
|
-
if (targetDomain && targetDomain !== urlDomain) {
|
|
37
|
-
updatedQueryParams.target = targetDomain;
|
|
38
|
-
}
|
|
39
18
|
const withQueryString = url + getQueryString(updatedQueryParams);
|
|
40
19
|
// use fetch override if any
|
|
41
|
-
const _fetch =
|
|
20
|
+
const _fetch = options.requestOptions.fetch || fetch;
|
|
42
21
|
const response = await _fetch(withQueryString, { method: "GET" });
|
|
43
22
|
if (!response.ok) {
|
|
44
23
|
throw new RemoteServerError(response.statusText, withQueryString, response.status);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ogcApiRequest.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/ogcApiRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"ogcApiRequest.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/ogcApiRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,WAA6D,EAC7D,OAA+B;IAE/B,MAAM,kBAAkB,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,eAAe,GAAG,GAAG,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAEjE,4BAA4B;IAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,KAAK,CAAC;IACrD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAElE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QAChB,MAAM,IAAI,iBAAiB,CACzB,QAAQ,CAAC,UAAU,EACnB,eAAe,EACf,QAAQ,CAAC,MAAM,CAChB,CAAC;KACH;IAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { ogcApiRequest } from "./ogcApiRequest";
|
|
|
5
5
|
export async function searchOgcAggregations(query, options) {
|
|
6
6
|
const url = `${getOgcCollectionUrl(query, options)}/aggregations`;
|
|
7
7
|
const queryParams = getOgcAggregationQueryParams(query, options);
|
|
8
|
-
const rawResponse = await ogcApiRequest(url, queryParams, options);
|
|
8
|
+
const rawResponse = (await ogcApiRequest(url, queryParams, options));
|
|
9
9
|
return formatOgcAggregationsResponse(rawResponse);
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=searchOgcAggregations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchOgcAggregations.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/searchOgcAggregations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"searchOgcAggregations.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/searchOgcAggregations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAa,EACb,OAA0B;IAE1B,MAAM,GAAG,GAAG,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC;IAClE,MAAM,WAAW,GAAG,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAEjE,MAAM,WAAW,GAAG,CAAC,MAAM,aAAa,CACtC,GAAG,EACH,WAAW,EACX,OAAO,CACR,CAA6B,CAAC;IAE/B,OAAO,6BAA6B,CAAC,WAAW,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { getOgcItemQueryParams } from "./getOgcItemQueryParams";
|
|
|
3
3
|
import { ogcApiRequest } from "./ogcApiRequest";
|
|
4
4
|
export async function searchOgcItems(url, query, options) {
|
|
5
5
|
const queryParams = getOgcItemQueryParams(query, options);
|
|
6
|
-
const rawResponse = await ogcApiRequest(url, queryParams, options);
|
|
6
|
+
const rawResponse = (await ogcApiRequest(url, queryParams, options));
|
|
7
7
|
return formatOgcItemsResponse(rawResponse, url, query, options);
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=searchOgcItems.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchOgcItems.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/searchOgcItems.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAW,EACX,KAAa,EACb,OAA+B;IAE/B,MAAM,WAAW,GAAG,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE1D,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"searchOgcItems.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/searchOgcItems.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAW,EACX,KAAa,EACb,OAA+B;IAE/B,MAAM,WAAW,GAAG,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE1D,MAAM,WAAW,GAAG,CAAC,MAAM,aAAa,CACtC,GAAG,EACH,WAAW,EACX,OAAO,CACR,CAAsB,CAAC;IAExB,OAAO,sBAAsB,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -50,7 +50,7 @@ export async function hubSearch(query, options) {
|
|
|
50
50
|
formattedOptions.requestOptions = requestOptions;
|
|
51
51
|
formattedOptions.api = getApi(filterType, formattedOptions);
|
|
52
52
|
const fnHash = {
|
|
53
|
-
|
|
53
|
+
portal: {
|
|
54
54
|
item: portalSearchItems,
|
|
55
55
|
group: portalSearchGroups,
|
|
56
56
|
user: searchPortalUsersLegacy,
|
|
@@ -59,7 +59,7 @@ export async function hubSearch(query, options) {
|
|
|
59
59
|
groupMember: portalSearchGroupMembers,
|
|
60
60
|
organization: portalFetchOrgs,
|
|
61
61
|
},
|
|
62
|
-
|
|
62
|
+
hub: {
|
|
63
63
|
item: hubSearchItems,
|
|
64
64
|
channel: hubSearchChannels,
|
|
65
65
|
discussionPost: hubSearchItems,
|
|
@@ -67,9 +67,9 @@ export async function hubSearch(query, options) {
|
|
|
67
67
|
eventAttendee: hubSearchEventAttendees,
|
|
68
68
|
},
|
|
69
69
|
};
|
|
70
|
-
const fn = getProp(fnHash, `${formattedOptions.api
|
|
70
|
+
const fn = getProp(fnHash, `${formattedOptions.api}.${filterType}`);
|
|
71
71
|
if (!fn) {
|
|
72
|
-
throw new HubError(`hubSearch`, `Search via "${filterType}" filter against "${formattedOptions.api
|
|
72
|
+
throw new HubError(`hubSearch`, `Search via "${filterType}" filter against "${formattedOptions.api}" api is not implemented. Please ensure "targetEntity" is defined on the query.`);
|
|
73
73
|
}
|
|
74
74
|
return fn(cloneObject(query), formattedOptions);
|
|
75
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hubSearch.js","sourceRoot":"","sources":["../../../src/search/hubSearch.ts"],"names":[],"mappings":";AAAA,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"hubSearch.js","sourceRoot":"","sources":["../../../src/search/hubSearch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getTypeFromEntity } from "../core/getTypeFromEntity";
|
|
2
2
|
import { HUB_ITEM_ENTITY_TYPES, } from "../core/types/HubEntityType";
|
|
3
3
|
import HubError from "../HubError";
|
|
4
|
-
import {
|
|
4
|
+
import { getOgcCollectionUrl } from "./_internal/hubSearchItemsHelpers/getOgcCollectionUrl";
|
|
5
5
|
import { searchOgcItems } from "./_internal/hubSearchItemsHelpers/searchOgcItems";
|
|
6
6
|
/**
|
|
7
7
|
* Searches for content that is associated with a given entity.
|
|
@@ -37,8 +37,8 @@ export async function searchAssociatedContent(opts) {
|
|
|
37
37
|
const hubId = layerId ? `${entity.id}_${layerId}` : entity.id;
|
|
38
38
|
// Construct the OGC API URL
|
|
39
39
|
const { association } = opts;
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
return searchOgcItems(
|
|
40
|
+
const collectionUrl = getOgcCollectionUrl(scope, searchOptions);
|
|
41
|
+
const associationUrl = `${collectionUrl}/items/${hubId}/${association}`;
|
|
42
|
+
return searchOgcItems(associationUrl, scope, searchOptions);
|
|
43
43
|
}
|
|
44
44
|
//# sourceMappingURL=searchAssociatedContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchAssociatedContent.js","sourceRoot":"","sources":["../../../src/search/searchAssociatedContent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,qBAAqB,GAEtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"searchAssociatedContent.js","sourceRoot":"","sources":["../../../src/search/searchAssociatedContent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,qBAAqB,GAEtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAE5F,OAAO,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAOlF;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAqC;IAErC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IAChD,MAAM,aAAa,GAA2B;QAC5C,cAAc;QACd,GAAG;KACJ,CAAC;IAEF,iDAAiD;IACjD,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAsB,CAAC;IACvE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;QAC/C,MAAM,IAAI,QAAQ,CAChB,yBAAyB,EACzB,wDAAwD,UAAU,GAAG,CACtE,CAAC;KACH;IAED,mFAAmF;IACnF,IAAI,KAAK,CAAC,YAAY,KAAK,MAAM,EAAE;QACjC,MAAM,IAAI,QAAQ,CAChB,yBAAyB,EACzB,2DAA2D,KAAK,CAAC,YAAY,GAAG,CACjF,CAAC;KACH;IAED,iDAAiD;IACjD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;QACrD,MAAM,IAAI,QAAQ,CAChB,yBAAyB,EACzB,yDAAyD,CAC1D,CAAC;KACH;IAED,sBAAsB;IACtB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IAE9D,4BAA4B;IAC5B,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC7B,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,GAAG,aAAa,UAAU,KAAK,IAAI,WAAW,EAAE,CAAC;IAExE,OAAO,cAAc,CAAC,cAAc,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;AAC9D,CAAC"}
|
package/dist/esm/search/utils.js
CHANGED
|
@@ -5,67 +5,6 @@ import { cloneObject } from "../util";
|
|
|
5
5
|
import { isLegacySearchCategory, } from "./_internal/commonHelpers/isLegacySearchCategory";
|
|
6
6
|
import { toCollectionKey } from "./_internal/commonHelpers/toCollectionKey";
|
|
7
7
|
import { applyWellKnownItemPredicates, expandPredicates, } from "./_internal/portalSearchItems";
|
|
8
|
-
/**
|
|
9
|
-
* Well known APIs
|
|
10
|
-
* Short-forms for specifying common APIs
|
|
11
|
-
* We will likely deprecate this
|
|
12
|
-
*/
|
|
13
|
-
export const SEARCH_APIS = {
|
|
14
|
-
arcgis: {
|
|
15
|
-
label: "ArcGIS Online",
|
|
16
|
-
url: "https://www.arcgis.com",
|
|
17
|
-
type: "arcgis",
|
|
18
|
-
},
|
|
19
|
-
arcgisQA: {
|
|
20
|
-
label: "ArcGIS Online QAEXT",
|
|
21
|
-
url: "https://qaext.arcgis.com",
|
|
22
|
-
type: "arcgis",
|
|
23
|
-
},
|
|
24
|
-
arcgisDEV: {
|
|
25
|
-
label: "ArcGIS Online DEVEXT",
|
|
26
|
-
url: "https://devext.arcgis.com",
|
|
27
|
-
type: "arcgis",
|
|
28
|
-
},
|
|
29
|
-
hub: {
|
|
30
|
-
label: "ArcGIS Hub",
|
|
31
|
-
url: "https://hub.arcgis.com/api",
|
|
32
|
-
type: "arcgis-hub",
|
|
33
|
-
},
|
|
34
|
-
hubDEV: {
|
|
35
|
-
label: "ArcGIS Hub DEV",
|
|
36
|
-
url: "https://hubdev.arcgis.com/api",
|
|
37
|
-
type: "arcgis-hub",
|
|
38
|
-
},
|
|
39
|
-
hubQA: {
|
|
40
|
-
label: "ArcGIS Hub QA",
|
|
41
|
-
url: "https://hubqa.arcgis.com/api",
|
|
42
|
-
type: "arcgis-hub",
|
|
43
|
-
},
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* @private
|
|
47
|
-
* Convert array of api "names" into full ApiDefinitions
|
|
48
|
-
* @param apis
|
|
49
|
-
* @returns
|
|
50
|
-
*/
|
|
51
|
-
export function expandApis(apis) {
|
|
52
|
-
return apis.map(expandApi);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* @private
|
|
56
|
-
* Convert an api "name" into a full ApiDefinition
|
|
57
|
-
* @param api
|
|
58
|
-
* @returns
|
|
59
|
-
*/
|
|
60
|
-
export function expandApi(api) {
|
|
61
|
-
if (typeof api === "string" && api in SEARCH_APIS) {
|
|
62
|
-
return SEARCH_APIS[api];
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
// it's an object, so we trust that it's well formed
|
|
66
|
-
return api;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
8
|
/**
|
|
70
9
|
* @private
|
|
71
10
|
* Convert a field value into a MatchOptions if it's not already one
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/search/utils.ts"],"names":[],"mappings":"AAAA;gBACgB;AAMhB,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/search/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,43 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getApi = void 0;
|
|
4
|
-
const utils_1 = require("../../utils");
|
|
5
4
|
const shouldUseOgcApi_1 = require("./shouldUseOgcApi");
|
|
6
|
-
const getOgcApiDefinition_1 = require("./getOgcApiDefinition");
|
|
7
5
|
const shouldUseDiscussionsApi_1 = require("./shouldUseDiscussionsApi");
|
|
8
|
-
const getDiscussionsApiDefinition_1 = require("./getDiscussionsApiDefinition");
|
|
9
6
|
const shouldUseEventsApi_1 = require("./shouldUseEventsApi");
|
|
10
7
|
/**
|
|
11
8
|
* @private
|
|
12
9
|
* Determines Which API should be hit for the given search parameters.
|
|
13
|
-
*
|
|
14
|
-
* - Target options.api if available
|
|
15
|
-
* - Target the environment-level OGC API if current parameters allow
|
|
16
|
-
* - Target the Portal API based off options.requestOptions.portal
|
|
10
|
+
* Defaults to the Portal API unless parameters indicate that a Hub API should be used.
|
|
17
11
|
* @param targetEntity target entity of the query
|
|
18
12
|
* @param options search options
|
|
19
|
-
* @returns
|
|
13
|
+
* @returns the target API, either 'portal' or 'hub'
|
|
20
14
|
*/
|
|
21
15
|
function getApi(targetEntity, options) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
else if (shouldUseDiscussionsApi_1.shouldUseDiscussionsApi(targetEntity, options)) {
|
|
28
|
-
result = getDiscussionsApiDefinition_1.getDiscussionsApiDefinition();
|
|
29
|
-
}
|
|
30
|
-
else if (shouldUseEventsApi_1.shouldUseEventsApi(targetEntity, options)) {
|
|
31
|
-
// Currently, url is null because this is handled internally by the
|
|
32
|
-
// events request method called by searchEvents, which relies on
|
|
33
|
-
// the URL defined in the request options.hubApiUrl
|
|
34
|
-
result = { type: "arcgis-hub", url: null };
|
|
35
|
-
}
|
|
36
|
-
else if (shouldUseOgcApi_1.shouldUseOgcApi(targetEntity, options)) {
|
|
37
|
-
result = getOgcApiDefinition_1.getOgcApiDefinition(targetEntity, options.requestOptions);
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
result = { type: "arcgis", url: portal };
|
|
16
|
+
let result = "portal";
|
|
17
|
+
if (shouldUseDiscussionsApi_1.shouldUseDiscussionsApi(targetEntity, options) ||
|
|
18
|
+
shouldUseEventsApi_1.shouldUseEventsApi(targetEntity, options) ||
|
|
19
|
+
shouldUseOgcApi_1.shouldUseOgcApi(targetEntity, options)) {
|
|
20
|
+
result = "hub";
|
|
41
21
|
}
|
|
42
22
|
return result;
|
|
43
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getApi.js","sourceRoot":"","sources":["../../../../../src/search/_internal/commonHelpers/getApi.ts"],"names":[],"mappings":";;;AAGA,
|
|
1
|
+
{"version":3,"file":"getApi.js","sourceRoot":"","sources":["../../../../../src/search/_internal/commonHelpers/getApi.ts"],"names":[],"mappings":";;;AAGA,uDAAoD;AACpD,uEAAoE;AACpE,6DAA0D;AAE1D;;;;;;;GAOG;AACH,SAAgB,MAAM,CACpB,YAAwB,EACxB,OAA0B;IAE1B,IAAI,MAAM,GAAc,QAAQ,CAAC;IACjC,IACE,iDAAuB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC9C,uCAAkB,CAAC,YAAY,EAAE,OAAO,CAAC;QACzC,iCAAe,CAAC,YAAY,EAAE,OAAO,CAAC,EACtC;QACA,MAAM,GAAG,KAAK,CAAC;KAChB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAdD,wBAcC"}
|
|
@@ -8,12 +8,12 @@ exports.shouldUseOgcApi = void 0;
|
|
|
8
8
|
* @param options search options
|
|
9
9
|
*/
|
|
10
10
|
function shouldUseOgcApi(targetEntity, options) {
|
|
11
|
-
const {
|
|
11
|
+
const { api, requestOptions: { isPortal }, } = options;
|
|
12
12
|
if (isPortal)
|
|
13
13
|
return false;
|
|
14
14
|
if (targetEntity === "discussionPost")
|
|
15
15
|
return true;
|
|
16
|
-
return targetEntity === "item" &&
|
|
16
|
+
return targetEntity === "item" && api === "hub";
|
|
17
17
|
}
|
|
18
18
|
exports.shouldUseOgcApi = shouldUseOgcApi;
|
|
19
19
|
//# sourceMappingURL=shouldUseOgcApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shouldUseOgcApi.js","sourceRoot":"","sources":["../../../../../src/search/_internal/commonHelpers/shouldUseOgcApi.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AACH,SAAgB,eAAe,CAC7B,YAAwB,EACxB,OAA0B;IAE1B,MAAM,EACJ,
|
|
1
|
+
{"version":3,"file":"shouldUseOgcApi.js","sourceRoot":"","sources":["../../../../../src/search/_internal/commonHelpers/shouldUseOgcApi.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AACH,SAAgB,eAAe,CAC7B,YAAwB,EACxB,OAA0B;IAE1B,MAAM,EACJ,GAAG,EACH,cAAc,EAAE,EAAE,QAAQ,EAAE,GAC7B,GAAG,OAAO,CAAC;IACZ,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,YAAY,KAAK,gBAAgB;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,YAAY,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC;AAClD,CAAC;AAXD,0CAWC"}
|
package/dist/node/search/_internal/hubSearchItemsHelpers/getOgcAggregationQueryParams.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOgcAggregationQueryParams.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/getOgcAggregationQueryParams.ts"],"names":[],"mappings":";;;AAAA,wDAAoD;AAGpD,+DAA4D;
|
|
1
|
+
{"version":3,"file":"getOgcAggregationQueryParams.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/getOgcAggregationQueryParams.ts"],"names":[],"mappings":";;;AAAA,wDAAoD;AAGpD,+DAA4D;AAQ5D,SAAgB,4BAA4B,CAC1C,KAAa,EACb,OAA0B;IAE1B,0DAA0D;IAC1D,MAAM,YAAY,GAAG,iBAAiB,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;IACnE,MAAM,MAAM,GAAG,yCAAmB,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,kBAAO,CACnB,OAAO,EACP,qCAAqC,CAC5B,CAAC;IAEZ,OAAO;QACL,YAAY;QACZ,MAAM;QACN,KAAK;KACN,CAAC;AACJ,CAAC;AAjBD,oEAiBC"}
|
|
@@ -13,13 +13,10 @@ exports.getOgcCollectionUrl = void 0;
|
|
|
13
13
|
* @returns the collection url
|
|
14
14
|
*/
|
|
15
15
|
function getOgcCollectionUrl(query, options) {
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
return `${apiDefinition.url}/collections/discussion-post`;
|
|
21
|
-
}
|
|
22
|
-
return `${apiDefinition.url}/collections/all`;
|
|
16
|
+
const umbrellaDomain = new URL(options.requestOptions.hubApiUrl).hostname;
|
|
17
|
+
return query.targetEntity === "discussionPost"
|
|
18
|
+
? `https://${umbrellaDomain}/api/search/v2/collections/discussion-post`
|
|
19
|
+
: `https://${umbrellaDomain}/api/search/v1/collections/all`;
|
|
23
20
|
}
|
|
24
21
|
exports.getOgcCollectionUrl = getOgcCollectionUrl;
|
|
25
22
|
//# sourceMappingURL=getOgcCollectionUrl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOgcCollectionUrl.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/getOgcCollectionUrl.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"getOgcCollectionUrl.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/getOgcCollectionUrl.ts"],"names":[],"mappings":";;;AAGA;;;;;;;;;;GAUG;AACH,SAAgB,mBAAmB,CACjC,KAAa,EACb,OAA0B;IAE1B,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;IAC1E,OAAO,KAAK,CAAC,YAAY,KAAK,gBAAgB;QAC5C,CAAC,CAAC,WAAW,cAAc,4CAA4C;QACvE,CAAC,CAAC,WAAW,cAAc,gCAAgC,CAAC;AAChE,CAAC;AARD,kDAQC"}
|
|
@@ -8,40 +8,19 @@ const getQueryString_1 = require("./getQueryString");
|
|
|
8
8
|
* Wrapper over fetch for performing common operations when executing a request to an OGC API, such as:
|
|
9
9
|
* - Creating the query string
|
|
10
10
|
* - URL encoding query string values
|
|
11
|
-
* - Appending the ?target query param if needed
|
|
12
11
|
* - Checking whether the response is ok
|
|
13
12
|
* - Returning the .json() of the response body
|
|
14
13
|
*
|
|
15
|
-
* Note: the ?target query param is only appended if the target site (options.site) is _different_ from the
|
|
16
|
-
* the site that will have its OGC API hit (url). This allows us to use the environment-level OGC API's url while
|
|
17
|
-
* actually targeting a specific Hub Site's catalog. It's a powerful capability that significantly eases local development.
|
|
18
|
-
*
|
|
19
|
-
* Example: https://hubqa.arcgis.com/api/search/v1?target="my-actual-hub.hub.arcgis.com"
|
|
20
|
-
*
|
|
21
|
-
* We omit the ?target query when the site and url are the same because it would be redundant.
|
|
22
|
-
*
|
|
23
|
-
* Bad example: https://hubqa.arcgis.com/api/search/v1?target="hubqa.arcgis.com"
|
|
24
|
-
* Good example: https://hubqa.arcgis.com/api/search/v1
|
|
25
|
-
*
|
|
26
14
|
* @param url the OGC API endpoint that should actually be hit
|
|
27
|
-
* @param queryParams query params that should be serialized with the request
|
|
28
|
-
* @param options options to customize the search
|
|
15
|
+
* @param queryParams query params that should be serialized with the request
|
|
16
|
+
* @param options options to customize the search
|
|
29
17
|
* @returns the JSON response from the endpoint
|
|
30
18
|
*/
|
|
31
19
|
async function ogcApiRequest(url, queryParams, options) {
|
|
32
|
-
var _a;
|
|
33
20
|
const updatedQueryParams = util_1.cloneObject(queryParams);
|
|
34
|
-
let targetDomain;
|
|
35
|
-
if (options.site) {
|
|
36
|
-
targetDomain = new URL(options.site).hostname;
|
|
37
|
-
}
|
|
38
|
-
const urlDomain = new URL(url).hostname;
|
|
39
|
-
if (targetDomain && targetDomain !== urlDomain) {
|
|
40
|
-
updatedQueryParams.target = targetDomain;
|
|
41
|
-
}
|
|
42
21
|
const withQueryString = url + getQueryString_1.getQueryString(updatedQueryParams);
|
|
43
22
|
// use fetch override if any
|
|
44
|
-
const _fetch =
|
|
23
|
+
const _fetch = options.requestOptions.fetch || fetch;
|
|
45
24
|
const response = await _fetch(withQueryString, { method: "GET" });
|
|
46
25
|
if (!response.ok) {
|
|
47
26
|
throw new request_1.RemoteServerError(response.statusText, withQueryString, response.status);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ogcApiRequest.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/ogcApiRequest.ts"],"names":[],"mappings":";;;AAAA,8CAAqD;AACrD,wCAA4C;
|
|
1
|
+
{"version":3,"file":"ogcApiRequest.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/ogcApiRequest.ts"],"names":[],"mappings":";;;AAAA,8CAAqD;AACrD,wCAA4C;AAG5C,qDAAkD;AAGlD;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,WAA6D,EAC7D,OAA+B;IAE/B,MAAM,kBAAkB,GAAG,kBAAW,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,eAAe,GAAG,GAAG,GAAG,+BAAc,CAAC,kBAAkB,CAAC,CAAC;IAEjE,4BAA4B;IAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,KAAK,CAAC;IACrD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAElE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QAChB,MAAM,IAAI,2BAAiB,CACzB,QAAQ,CAAC,UAAU,EACnB,eAAe,EACf,QAAQ,CAAC,MAAM,CAChB,CAAC;KACH;IAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AArBD,sCAqBC"}
|
|
@@ -8,7 +8,7 @@ const ogcApiRequest_1 = require("./ogcApiRequest");
|
|
|
8
8
|
async function searchOgcAggregations(query, options) {
|
|
9
9
|
const url = `${getOgcCollectionUrl_1.getOgcCollectionUrl(query, options)}/aggregations`;
|
|
10
10
|
const queryParams = getOgcAggregationQueryParams_1.getOgcAggregationQueryParams(query, options);
|
|
11
|
-
const rawResponse = await ogcApiRequest_1.ogcApiRequest(url, queryParams, options);
|
|
11
|
+
const rawResponse = (await ogcApiRequest_1.ogcApiRequest(url, queryParams, options));
|
|
12
12
|
return formatOgcAggregationsResponse_1.formatOgcAggregationsResponse(rawResponse);
|
|
13
13
|
}
|
|
14
14
|
exports.searchOgcAggregations = searchOgcAggregations;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchOgcAggregations.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/searchOgcAggregations.ts"],"names":[],"mappings":";;;AAIA,mFAAgF;AAChF,iFAA8E;AAC9E,+DAA4D;
|
|
1
|
+
{"version":3,"file":"searchOgcAggregations.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/searchOgcAggregations.ts"],"names":[],"mappings":";;;AAIA,mFAAgF;AAChF,iFAA8E;AAC9E,+DAA4D;AAE5D,mDAAgD;AAEzC,KAAK,UAAU,qBAAqB,CACzC,KAAa,EACb,OAA0B;IAE1B,MAAM,GAAG,GAAG,GAAG,yCAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC;IAClE,MAAM,WAAW,GAAG,2DAA4B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAEjE,MAAM,WAAW,GAAG,CAAC,MAAM,6BAAa,CACtC,GAAG,EACH,WAAW,EACX,OAAO,CACR,CAA6B,CAAC;IAE/B,OAAO,6DAA6B,CAAC,WAAW,CAAC,CAAC;AACpD,CAAC;AAdD,sDAcC"}
|
|
@@ -6,7 +6,7 @@ const getOgcItemQueryParams_1 = require("./getOgcItemQueryParams");
|
|
|
6
6
|
const ogcApiRequest_1 = require("./ogcApiRequest");
|
|
7
7
|
async function searchOgcItems(url, query, options) {
|
|
8
8
|
const queryParams = getOgcItemQueryParams_1.getOgcItemQueryParams(query, options);
|
|
9
|
-
const rawResponse = await ogcApiRequest_1.ogcApiRequest(url, queryParams, options);
|
|
9
|
+
const rawResponse = (await ogcApiRequest_1.ogcApiRequest(url, queryParams, options));
|
|
10
10
|
return formatOgcItemsResponse_1.formatOgcItemsResponse(rawResponse, url, query, options);
|
|
11
11
|
}
|
|
12
12
|
exports.searchOgcItems = searchOgcItems;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchOgcItems.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/searchOgcItems.ts"],"names":[],"mappings":";;;AAGA,qEAAkE;AAClE,mEAAgE;AAEhE,mDAAgD;AAEzC,KAAK,UAAU,cAAc,CAClC,GAAW,EACX,KAAa,EACb,OAA+B;IAE/B,MAAM,WAAW,GAAG,6CAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE1D,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"searchOgcItems.js","sourceRoot":"","sources":["../../../../../src/search/_internal/hubSearchItemsHelpers/searchOgcItems.ts"],"names":[],"mappings":";;;AAGA,qEAAkE;AAClE,mEAAgE;AAEhE,mDAAgD;AAEzC,KAAK,UAAU,cAAc,CAClC,GAAW,EACX,KAAa,EACb,OAA+B;IAE/B,MAAM,WAAW,GAAG,6CAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE1D,MAAM,WAAW,GAAG,CAAC,MAAM,6BAAa,CACtC,GAAG,EACH,WAAW,EACX,OAAO,CACR,CAAsB,CAAC;IAExB,OAAO,+CAAsB,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AAdD,wCAcC"}
|
|
@@ -53,7 +53,7 @@ async function hubSearch(query, options) {
|
|
|
53
53
|
formattedOptions.requestOptions = requestOptions;
|
|
54
54
|
formattedOptions.api = getApi_1.getApi(filterType, formattedOptions);
|
|
55
55
|
const fnHash = {
|
|
56
|
-
|
|
56
|
+
portal: {
|
|
57
57
|
item: portalSearchItems_1.portalSearchItems,
|
|
58
58
|
group: portalSearchGroups_1.portalSearchGroups,
|
|
59
59
|
user: portalSearchUsers_1.searchPortalUsersLegacy,
|
|
@@ -62,7 +62,7 @@ async function hubSearch(query, options) {
|
|
|
62
62
|
groupMember: portalSearchGroupMembers_1.portalSearchGroupMembers,
|
|
63
63
|
organization: portalFetchOrgs_1.portalFetchOrgs,
|
|
64
64
|
},
|
|
65
|
-
|
|
65
|
+
hub: {
|
|
66
66
|
item: hubSearchItems_1.hubSearchItems,
|
|
67
67
|
channel: hubSearchChannels_1.hubSearchChannels,
|
|
68
68
|
discussionPost: hubSearchItems_1.hubSearchItems,
|
|
@@ -70,9 +70,9 @@ async function hubSearch(query, options) {
|
|
|
70
70
|
eventAttendee: hubSearchEventAttendees_1.hubSearchEventAttendees,
|
|
71
71
|
},
|
|
72
72
|
};
|
|
73
|
-
const fn = objects_1.getProp(fnHash, `${formattedOptions.api
|
|
73
|
+
const fn = objects_1.getProp(fnHash, `${formattedOptions.api}.${filterType}`);
|
|
74
74
|
if (!fn) {
|
|
75
|
-
throw new HubError_1.default(`hubSearch`, `Search via "${filterType}" filter against "${formattedOptions.api
|
|
75
|
+
throw new HubError_1.default(`hubSearch`, `Search via "${filterType}" filter against "${formattedOptions.api}" api is not implemented. Please ensure "targetEntity" is defined on the query.`);
|
|
76
76
|
}
|
|
77
77
|
return fn(util_1.cloneObject(query), formattedOptions);
|
|
78
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hubSearch.js","sourceRoot":"","sources":["../../../src/search/hubSearch.ts"],"names":[],"mappings":";;;;AAAA,0CAAmC;AACnC,wCAAqC;AACrC,kCAAsC;
|
|
1
|
+
{"version":3,"file":"hubSearch.js","sourceRoot":"","sources":["../../../src/search/hubSearch.ts"],"names":[],"mappings":";;;;AAAA,0CAAmC;AACnC,wCAAqC;AACrC,kCAAsC;AAEtC,6DAA0D;AAC1D,mFAAgF;AAChF,qEAAkE;AAClE,uEAAoE;AACpE,qEAIuC;AACvC,+DAA4D;AAC5D,qEAAkE;AAClE,iEAA8D;AAC9D,iFAA8E;AAC9E,iEAA8D;AAc9D;;;;;;;;GAQG;AACI,KAAK,UAAU,SAAS,CAC7B,KAAa,EACb,OAA0B;IAE1B,kBAAkB;IAClB,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,kBAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;KACvD;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACjC,MAAM,IAAI,kBAAQ,CAAC,WAAW,EAAE,kCAAkC,CAAC,CAAC;KACrE;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;QACzB,MAAM,IAAI,kBAAQ,CAAC,WAAW,EAAE,yCAAyC,CAAC,CAAC;KAC5E;IAED,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;QAC3B,MAAM,IAAI,kBAAQ,CAChB,WAAW,EACX,iDAAiD,CAClD,CAAC;KACH;IAED,8BAA8B;IAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QACpB,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;KACtB;IAED,wCAAwC;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC;IAEtC,+EAA+E;IAC/E,wFAAwF;IACxF,4EAA4E;IAC5E,iDAAiD;IACjD,MAAM,EAAE,cAAc,KAAmB,OAAO,EAArB,SAAS,kBAAK,OAAO,EAA1C,kBAAgC,CAAU,CAAC;IACjD,MAAM,gBAAgB,GAAsB,kBAAW,CAAC,SAAS,CAAC,CAAC;IACnE,gBAAgB,CAAC,cAAc,GAAG,cAAc,CAAC;IAEjD,gBAAgB,CAAC,GAAG,GAAG,eAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAE5D,MAAM,MAAM,GAA4C;QACtD,MAAM,EAAE;YACN,IAAI,EAAE,qCAAiB;YACvB,KAAK,EAAE,uCAAkB;YACzB,IAAI,EAAE,2CAAuB;YAC7B,UAAU,EAAE,qCAAiB;YAC7B,aAAa,EAAE,wCAAoB;YACnC,WAAW,EAAE,mDAAwB;YACrC,YAAY,EAAE,iCAAe;SAC9B;QACD,GAAG,EAAE;YACH,IAAI,EAAE,+BAAc;YACpB,OAAO,EAAE,qCAAiB;YAC1B,cAAc,EAAE,+BAAc;YAC9B,KAAK,EAAE,iCAAe;YACtB,aAAa,EAAE,iDAAuB;SACvC;KACF,CAAC;IAEF,MAAM,EAAE,GAAG,iBAAO,CAChB,MAAM,EACN,GAAG,gBAAgB,CAAC,GAAG,IAAI,UAAU,EAAE,CACnB,CAAC;IACvB,IAAI,CAAC,EAAE,EAAE;QACP,MAAM,IAAI,kBAAQ,CAChB,WAAW,EACX,eAAe,UAAU,qBAAqB,gBAAgB,CAAC,GAAG,iFAAiF,CACpJ,CAAC;KACH;IACD,OAAO,EAAE,CAAC,kBAAW,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAClD,CAAC;AAxED,8BAwEC"}
|
|
@@ -4,7 +4,7 @@ exports.searchAssociatedContent = void 0;
|
|
|
4
4
|
const getTypeFromEntity_1 = require("../core/getTypeFromEntity");
|
|
5
5
|
const HubEntityType_1 = require("../core/types/HubEntityType");
|
|
6
6
|
const HubError_1 = require("../HubError");
|
|
7
|
-
const
|
|
7
|
+
const getOgcCollectionUrl_1 = require("./_internal/hubSearchItemsHelpers/getOgcCollectionUrl");
|
|
8
8
|
const searchOgcItems_1 = require("./_internal/hubSearchItemsHelpers/searchOgcItems");
|
|
9
9
|
/**
|
|
10
10
|
* Searches for content that is associated with a given entity.
|
|
@@ -40,9 +40,9 @@ async function searchAssociatedContent(opts) {
|
|
|
40
40
|
const hubId = layerId ? `${entity.id}_${layerId}` : entity.id;
|
|
41
41
|
// Construct the OGC API URL
|
|
42
42
|
const { association } = opts;
|
|
43
|
-
const
|
|
44
|
-
const
|
|
45
|
-
return searchOgcItems_1.searchOgcItems(
|
|
43
|
+
const collectionUrl = getOgcCollectionUrl_1.getOgcCollectionUrl(scope, searchOptions);
|
|
44
|
+
const associationUrl = `${collectionUrl}/items/${hubId}/${association}`;
|
|
45
|
+
return searchOgcItems_1.searchOgcItems(associationUrl, scope, searchOptions);
|
|
46
46
|
}
|
|
47
47
|
exports.searchAssociatedContent = searchAssociatedContent;
|
|
48
48
|
//# sourceMappingURL=searchAssociatedContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchAssociatedContent.js","sourceRoot":"","sources":["../../../src/search/searchAssociatedContent.ts"],"names":[],"mappings":";;;AAAA,iEAA8D;AAC9D,+DAGqC;AACrC,0CAAmC;AACnC
|
|
1
|
+
{"version":3,"file":"searchAssociatedContent.js","sourceRoot":"","sources":["../../../src/search/searchAssociatedContent.ts"],"names":[],"mappings":";;;AAAA,iEAA8D;AAC9D,+DAGqC;AACrC,0CAAmC;AACnC,+FAA4F;AAE5F,qFAAkF;AAOlF;;;;;;;;;GASG;AACI,KAAK,UAAU,uBAAuB,CAC3C,IAAqC;IAErC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC;IAChD,MAAM,aAAa,GAA2B;QAC5C,cAAc;QACd,GAAG;KACJ,CAAC;IAEF,iDAAiD;IACjD,MAAM,UAAU,GAAG,qCAAiB,CAAC,IAAI,CAAC,MAAM,CAAsB,CAAC;IACvE,IAAI,CAAC,qCAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;QAC/C,MAAM,IAAI,kBAAQ,CAChB,yBAAyB,EACzB,wDAAwD,UAAU,GAAG,CACtE,CAAC;KACH;IAED,mFAAmF;IACnF,IAAI,KAAK,CAAC,YAAY,KAAK,MAAM,EAAE;QACjC,MAAM,IAAI,kBAAQ,CAChB,yBAAyB,EACzB,2DAA2D,KAAK,CAAC,YAAY,GAAG,CACjF,CAAC;KACH;IAED,iDAAiD;IACjD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;QACrD,MAAM,IAAI,kBAAQ,CAChB,yBAAyB,EACzB,yDAAyD,CAC1D,CAAC;KACH;IAED,sBAAsB;IACtB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IAE9D,4BAA4B;IAC5B,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC7B,MAAM,aAAa,GAAG,yCAAmB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,GAAG,aAAa,UAAU,KAAK,IAAI,WAAW,EAAE,CAAC;IAExE,OAAO,+BAAc,CAAC,cAAc,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;AAC9D,CAAC;AA5CD,0DA4CC"}
|
|
@@ -2,75 +2,12 @@
|
|
|
2
2
|
/* Copyright (c) 2018-2021 Environmental Systems Research Institute, Inc.
|
|
3
3
|
* Apache-2.0 */
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.expandPortalQuery = exports.getKilobyteSizeOfQuery = exports.addDefaultItemSearchPredicates = exports.getResultSiteRelativeLink = exports.getGroupPredicate = exports.getScopeGroupPredicate = exports.migrateToCollectionKey = exports.getUserThumbnailUrl = exports.getGroupThumbnailUrl = exports.relativeDateToDateRange = exports.valueToMatchOptions =
|
|
5
|
+
exports.expandPortalQuery = exports.getKilobyteSizeOfQuery = exports.addDefaultItemSearchPredicates = exports.getResultSiteRelativeLink = exports.getGroupPredicate = exports.getScopeGroupPredicate = exports.migrateToCollectionKey = exports.getUserThumbnailUrl = exports.getGroupThumbnailUrl = exports.relativeDateToDateRange = exports.valueToMatchOptions = void 0;
|
|
6
6
|
const internalContentUtils_1 = require("../content/_internal/internalContentUtils");
|
|
7
7
|
const util_1 = require("../util");
|
|
8
8
|
const isLegacySearchCategory_1 = require("./_internal/commonHelpers/isLegacySearchCategory");
|
|
9
9
|
const toCollectionKey_1 = require("./_internal/commonHelpers/toCollectionKey");
|
|
10
10
|
const portalSearchItems_1 = require("./_internal/portalSearchItems");
|
|
11
|
-
/**
|
|
12
|
-
* Well known APIs
|
|
13
|
-
* Short-forms for specifying common APIs
|
|
14
|
-
* We will likely deprecate this
|
|
15
|
-
*/
|
|
16
|
-
exports.SEARCH_APIS = {
|
|
17
|
-
arcgis: {
|
|
18
|
-
label: "ArcGIS Online",
|
|
19
|
-
url: "https://www.arcgis.com",
|
|
20
|
-
type: "arcgis",
|
|
21
|
-
},
|
|
22
|
-
arcgisQA: {
|
|
23
|
-
label: "ArcGIS Online QAEXT",
|
|
24
|
-
url: "https://qaext.arcgis.com",
|
|
25
|
-
type: "arcgis",
|
|
26
|
-
},
|
|
27
|
-
arcgisDEV: {
|
|
28
|
-
label: "ArcGIS Online DEVEXT",
|
|
29
|
-
url: "https://devext.arcgis.com",
|
|
30
|
-
type: "arcgis",
|
|
31
|
-
},
|
|
32
|
-
hub: {
|
|
33
|
-
label: "ArcGIS Hub",
|
|
34
|
-
url: "https://hub.arcgis.com/api",
|
|
35
|
-
type: "arcgis-hub",
|
|
36
|
-
},
|
|
37
|
-
hubDEV: {
|
|
38
|
-
label: "ArcGIS Hub DEV",
|
|
39
|
-
url: "https://hubdev.arcgis.com/api",
|
|
40
|
-
type: "arcgis-hub",
|
|
41
|
-
},
|
|
42
|
-
hubQA: {
|
|
43
|
-
label: "ArcGIS Hub QA",
|
|
44
|
-
url: "https://hubqa.arcgis.com/api",
|
|
45
|
-
type: "arcgis-hub",
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* @private
|
|
50
|
-
* Convert array of api "names" into full ApiDefinitions
|
|
51
|
-
* @param apis
|
|
52
|
-
* @returns
|
|
53
|
-
*/
|
|
54
|
-
function expandApis(apis) {
|
|
55
|
-
return apis.map(expandApi);
|
|
56
|
-
}
|
|
57
|
-
exports.expandApis = expandApis;
|
|
58
|
-
/**
|
|
59
|
-
* @private
|
|
60
|
-
* Convert an api "name" into a full ApiDefinition
|
|
61
|
-
* @param api
|
|
62
|
-
* @returns
|
|
63
|
-
*/
|
|
64
|
-
function expandApi(api) {
|
|
65
|
-
if (typeof api === "string" && api in exports.SEARCH_APIS) {
|
|
66
|
-
return exports.SEARCH_APIS[api];
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
// it's an object, so we trust that it's well formed
|
|
70
|
-
return api;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
exports.expandApi = expandApi;
|
|
74
11
|
/**
|
|
75
12
|
* @private
|
|
76
13
|
* Convert a field value into a MatchOptions if it's not already one
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/search/utils.ts"],"names":[],"mappings":";AAAA;gBACgB;;;AAMhB,oFAAuE;AAEvE,kCAAsC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/search/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import { EntityType } from "../../types/IHubCatalog";
|
|
2
2
|
import { IHubSearchOptions } from "../../types/IHubSearchOptions";
|
|
3
|
-
import {
|
|
3
|
+
import { ApiTarget } from "../../types/types";
|
|
4
4
|
/**
|
|
5
5
|
* @private
|
|
6
6
|
* Determines Which API should be hit for the given search parameters.
|
|
7
|
-
*
|
|
8
|
-
* - Target options.api if available
|
|
9
|
-
* - Target the environment-level OGC API if current parameters allow
|
|
10
|
-
* - Target the Portal API based off options.requestOptions.portal
|
|
7
|
+
* Defaults to the Portal API unless parameters indicate that a Hub API should be used.
|
|
11
8
|
* @param targetEntity target entity of the query
|
|
12
9
|
* @param options search options
|
|
13
|
-
* @returns
|
|
10
|
+
* @returns the target API, either 'portal' or 'hub'
|
|
14
11
|
*/
|
|
15
|
-
export declare function getApi(targetEntity: EntityType, options: IHubSearchOptions):
|
|
12
|
+
export declare function getApi(targetEntity: EntityType, options: IHubSearchOptions): ApiTarget;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { IQuery } from "../../types/IHubCatalog";
|
|
2
2
|
import { IHubSearchOptions } from "../../types/IHubSearchOptions";
|
|
3
|
-
export
|
|
3
|
+
export interface IOgcAggregationQueryParams {
|
|
4
4
|
aggregations: string;
|
|
5
|
-
filter
|
|
6
|
-
token
|
|
7
|
-
}
|
|
5
|
+
filter?: string;
|
|
6
|
+
token?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function getOgcAggregationQueryParams(query: IQuery, options: IHubSearchOptions): IOgcAggregationQueryParams;
|
|
@@ -1,26 +1,16 @@
|
|
|
1
|
+
import { IOgcAggregationQueryParams } from "./getOgcAggregationQueryParams";
|
|
2
|
+
import { IOgcItemQueryParams } from "./getOgcItemQueryParams";
|
|
1
3
|
import { ISearchOgcItemsOptions } from "./interfaces";
|
|
2
4
|
/**
|
|
3
5
|
* Wrapper over fetch for performing common operations when executing a request to an OGC API, such as:
|
|
4
6
|
* - Creating the query string
|
|
5
7
|
* - URL encoding query string values
|
|
6
|
-
* - Appending the ?target query param if needed
|
|
7
8
|
* - Checking whether the response is ok
|
|
8
9
|
* - Returning the .json() of the response body
|
|
9
10
|
*
|
|
10
|
-
* Note: the ?target query param is only appended if the target site (options.site) is _different_ from the
|
|
11
|
-
* the site that will have its OGC API hit (url). This allows us to use the environment-level OGC API's url while
|
|
12
|
-
* actually targeting a specific Hub Site's catalog. It's a powerful capability that significantly eases local development.
|
|
13
|
-
*
|
|
14
|
-
* Example: https://hubqa.arcgis.com/api/search/v1?target="my-actual-hub.hub.arcgis.com"
|
|
15
|
-
*
|
|
16
|
-
* We omit the ?target query when the site and url are the same because it would be redundant.
|
|
17
|
-
*
|
|
18
|
-
* Bad example: https://hubqa.arcgis.com/api/search/v1?target="hubqa.arcgis.com"
|
|
19
|
-
* Good example: https://hubqa.arcgis.com/api/search/v1
|
|
20
|
-
*
|
|
21
11
|
* @param url the OGC API endpoint that should actually be hit
|
|
22
|
-
* @param queryParams query params that should be serialized with the request
|
|
23
|
-
* @param options options to customize the search
|
|
12
|
+
* @param queryParams query params that should be serialized with the request
|
|
13
|
+
* @param options options to customize the search
|
|
24
14
|
* @returns the JSON response from the endpoint
|
|
25
15
|
*/
|
|
26
|
-
export declare function ogcApiRequest(url: string, queryParams:
|
|
16
|
+
export declare function ogcApiRequest(url: string, queryParams: IOgcItemQueryParams | IOgcAggregationQueryParams, options: ISearchOgcItemsOptions): Promise<unknown>;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IQuery } from "./types/IHubCatalog";
|
|
2
|
+
import { IHubSearchResponse } from "./types/IHubSearchResponse";
|
|
3
|
+
import { IHubSearchOptions } from "./types/IHubSearchOptions";
|
|
4
|
+
import { IHubSearchResult } from "./types/IHubSearchResult";
|
|
2
5
|
/**
|
|
3
6
|
* Main entrypoint for searching via Hub
|
|
4
7
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ArcGISIdentityManager } from "@esri/arcgis-rest-request";
|
|
2
2
|
import { IHubRequestOptions } from "../../hub-types";
|
|
3
3
|
import { EntityType } from "./IHubCatalog";
|
|
4
|
-
import { NamedApis, IApiDefinition } from "./types";
|
|
5
4
|
import { HTTPMethods } from "@esri/arcgis-rest-request";
|
|
5
|
+
import { ApiTarget } from "./types";
|
|
6
6
|
export declare type Enrichments = "data" | "metadata" | "org" | "service" | "layers";
|
|
7
7
|
/**
|
|
8
8
|
* Paging Options
|
|
@@ -46,15 +46,9 @@ export interface IHubSearchOptions extends IPagingOptions, ISortOptions {
|
|
|
46
46
|
*/
|
|
47
47
|
aggLimit?: number;
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
50
|
-
* Specify API to call. Defaults to ArcGIS Online Portal API
|
|
49
|
+
* Specify API to call. Defaults to Portal API defined in requestOptions.
|
|
51
50
|
*/
|
|
52
|
-
api?:
|
|
53
|
-
/**
|
|
54
|
-
* Site whose API should be targeted. Ignored in an enterprise context.
|
|
55
|
-
* e.g., https://my-site.hub.arcgis.com
|
|
56
|
-
*/
|
|
57
|
-
site?: string;
|
|
51
|
+
api?: ApiTarget;
|
|
58
52
|
/**
|
|
59
53
|
* DEPRECATE in favor of requestOptions
|
|
60
54
|
*/
|
|
@@ -61,20 +61,7 @@ export interface IMatchOptions {
|
|
|
61
61
|
*/
|
|
62
62
|
exact?: string | string[];
|
|
63
63
|
}
|
|
64
|
-
export
|
|
65
|
-
arcgis: IApiDefinition;
|
|
66
|
-
arcgisQA: IApiDefinition;
|
|
67
|
-
arcgisDEV: IApiDefinition;
|
|
68
|
-
hub: IApiDefinition;
|
|
69
|
-
hubQA: IApiDefinition;
|
|
70
|
-
hubDEV: IApiDefinition;
|
|
71
|
-
}
|
|
72
|
-
export declare type NamedApis = keyof IWellKnownApis;
|
|
73
|
-
export interface IApiDefinition {
|
|
74
|
-
label?: string;
|
|
75
|
-
url: string;
|
|
76
|
-
type: "arcgis" | "arcgis-hub";
|
|
77
|
-
}
|
|
64
|
+
export declare type ApiTarget = "portal" | "hub";
|
|
78
65
|
/**
|
|
79
66
|
* Base options when checking catalog containment
|
|
80
67
|
*/
|
|
@@ -92,8 +79,7 @@ export interface IContainsOptions {
|
|
|
92
79
|
/**
|
|
93
80
|
* Basic information about a catalog
|
|
94
81
|
*/
|
|
95
|
-
export
|
|
96
|
-
}
|
|
82
|
+
export declare type ICatalogInfo = Partial<IDeepCatalogInfo>;
|
|
97
83
|
/**
|
|
98
84
|
* Cacheable information about a catalog
|
|
99
85
|
*/
|
|
@@ -134,8 +120,7 @@ export interface ICatalogSearchResponse {
|
|
|
134
120
|
* Response from a Catalog search operation where the responses for different collections
|
|
135
121
|
* or entities are grouped into a single object.
|
|
136
122
|
*/
|
|
137
|
-
export
|
|
138
|
-
}
|
|
123
|
+
export declare type ISearchResponseHash = Record<string, IHubSearchResponse<IHubSearchResult>>;
|
|
139
124
|
/**
|
|
140
125
|
* Type wrapper for a kilobyte
|
|
141
126
|
* This is complete syntactic sugar, it makes sizes easier to understand
|
|
@@ -3,29 +3,9 @@ import { IGroup, SearchQueryBuilder } from "@esri/arcgis-rest-portal";
|
|
|
3
3
|
import { IHubSite } from "../core";
|
|
4
4
|
import { IHubSearchResult } from "./types";
|
|
5
5
|
import { IPredicate, IQuery } from "./types/IHubCatalog";
|
|
6
|
-
import { IMatchOptions, IDateRange, IRelativeDate,
|
|
6
|
+
import { IMatchOptions, IDateRange, IRelativeDate, Kilobyte } from "./types/types";
|
|
7
7
|
import { WellKnownCollection } from "./wellKnownCatalog";
|
|
8
8
|
import { LegacySearchCategory } from "./_internal/commonHelpers/isLegacySearchCategory";
|
|
9
|
-
/**
|
|
10
|
-
* Well known APIs
|
|
11
|
-
* Short-forms for specifying common APIs
|
|
12
|
-
* We will likely deprecate this
|
|
13
|
-
*/
|
|
14
|
-
export declare const SEARCH_APIS: IWellKnownApis;
|
|
15
|
-
/**
|
|
16
|
-
* @private
|
|
17
|
-
* Convert array of api "names" into full ApiDefinitions
|
|
18
|
-
* @param apis
|
|
19
|
-
* @returns
|
|
20
|
-
*/
|
|
21
|
-
export declare function expandApis(apis: Array<NamedApis | IApiDefinition>): IApiDefinition[];
|
|
22
|
-
/**
|
|
23
|
-
* @private
|
|
24
|
-
* Convert an api "name" into a full ApiDefinition
|
|
25
|
-
* @param api
|
|
26
|
-
* @returns
|
|
27
|
-
*/
|
|
28
|
-
export declare function expandApi(api: NamedApis | IApiDefinition): IApiDefinition;
|
|
29
9
|
/**
|
|
30
10
|
* @private
|
|
31
11
|
* Convert a field value into a MatchOptions if it's not already one
|
package/package.json
CHANGED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export function getDiscussionsApiDefinition() {
|
|
2
|
-
// Currently, url is null because this is handled internally by the
|
|
3
|
-
// discussions request method called by searchChannels, which relies on
|
|
4
|
-
// the URL defined in the request options.hubApiUrl
|
|
5
|
-
return {
|
|
6
|
-
type: "arcgis-hub",
|
|
7
|
-
url: null,
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=getDiscussionsApiDefinition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getDiscussionsApiDefinition.js","sourceRoot":"","sources":["../../../../../src/search/_internal/commonHelpers/getDiscussionsApiDefinition.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,2BAA2B;IACzC,mEAAmE;IACnE,uEAAuE;IACvE,mDAAmD;IACnD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,IAAI;KACV,CAAC;AACJ,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @private
|
|
3
|
-
* Returns information about the current environment's OGC API
|
|
4
|
-
*
|
|
5
|
-
* @param options IHubRequestOptions to derive OGC API info from
|
|
6
|
-
* @returns an IApiDefinition with needed info to target the OGC API
|
|
7
|
-
*/
|
|
8
|
-
export function getOgcApiDefinition(targetEntity, requestOptions) {
|
|
9
|
-
const umbrellaDomain = new URL(requestOptions.hubApiUrl).hostname;
|
|
10
|
-
return targetEntity === "discussionPost"
|
|
11
|
-
? {
|
|
12
|
-
type: "arcgis-hub",
|
|
13
|
-
url: `https://${umbrellaDomain}/api/search/v2`,
|
|
14
|
-
}
|
|
15
|
-
: {
|
|
16
|
-
type: "arcgis-hub",
|
|
17
|
-
url: `https://${umbrellaDomain}/api/search/v1`,
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=getOgcApiDefinition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getOgcApiDefinition.js","sourceRoot":"","sources":["../../../../../src/search/_internal/commonHelpers/getOgcApiDefinition.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,YAAwB,EACxB,cAAkC;IAElC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;IAClE,OAAO,YAAY,KAAK,gBAAgB;QACtC,CAAC,CAAC;YACE,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,WAAW,cAAc,gBAAgB;SAC/C;QACH,CAAC,CAAC;YACE,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,WAAW,cAAc,gBAAgB;SAC/C,CAAC;AACR,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDiscussionsApiDefinition = void 0;
|
|
4
|
-
function getDiscussionsApiDefinition() {
|
|
5
|
-
// Currently, url is null because this is handled internally by the
|
|
6
|
-
// discussions request method called by searchChannels, which relies on
|
|
7
|
-
// the URL defined in the request options.hubApiUrl
|
|
8
|
-
return {
|
|
9
|
-
type: "arcgis-hub",
|
|
10
|
-
url: null,
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
exports.getDiscussionsApiDefinition = getDiscussionsApiDefinition;
|
|
14
|
-
//# sourceMappingURL=getDiscussionsApiDefinition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getDiscussionsApiDefinition.js","sourceRoot":"","sources":["../../../../../src/search/_internal/commonHelpers/getDiscussionsApiDefinition.ts"],"names":[],"mappings":";;;AAEA,SAAgB,2BAA2B;IACzC,mEAAmE;IACnE,uEAAuE;IACvE,mDAAmD;IACnD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,IAAI;KACV,CAAC;AACJ,CAAC;AARD,kEAQC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getOgcApiDefinition = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* @private
|
|
6
|
-
* Returns information about the current environment's OGC API
|
|
7
|
-
*
|
|
8
|
-
* @param options IHubRequestOptions to derive OGC API info from
|
|
9
|
-
* @returns an IApiDefinition with needed info to target the OGC API
|
|
10
|
-
*/
|
|
11
|
-
function getOgcApiDefinition(targetEntity, requestOptions) {
|
|
12
|
-
const umbrellaDomain = new URL(requestOptions.hubApiUrl).hostname;
|
|
13
|
-
return targetEntity === "discussionPost"
|
|
14
|
-
? {
|
|
15
|
-
type: "arcgis-hub",
|
|
16
|
-
url: `https://${umbrellaDomain}/api/search/v2`,
|
|
17
|
-
}
|
|
18
|
-
: {
|
|
19
|
-
type: "arcgis-hub",
|
|
20
|
-
url: `https://${umbrellaDomain}/api/search/v1`,
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
exports.getOgcApiDefinition = getOgcApiDefinition;
|
|
24
|
-
//# sourceMappingURL=getOgcApiDefinition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getOgcApiDefinition.js","sourceRoot":"","sources":["../../../../../src/search/_internal/commonHelpers/getOgcApiDefinition.ts"],"names":[],"mappings":";;;AAIA;;;;;;GAMG;AACH,SAAgB,mBAAmB,CACjC,YAAwB,EACxB,cAAkC;IAElC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;IAClE,OAAO,YAAY,KAAK,gBAAgB;QACtC,CAAC,CAAC;YACE,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,WAAW,cAAc,gBAAgB;SAC/C;QACH,CAAC,CAAC;YACE,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,WAAW,cAAc,gBAAgB;SAC/C,CAAC;AACR,CAAC;AAdD,kDAcC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { IHubRequestOptions } from "../../../hub-types";
|
|
2
|
-
import { EntityType } from "../../types";
|
|
3
|
-
import { IApiDefinition } from "../../types/types";
|
|
4
|
-
/**
|
|
5
|
-
* @private
|
|
6
|
-
* Returns information about the current environment's OGC API
|
|
7
|
-
*
|
|
8
|
-
* @param options IHubRequestOptions to derive OGC API info from
|
|
9
|
-
* @returns an IApiDefinition with needed info to target the OGC API
|
|
10
|
-
*/
|
|
11
|
-
export declare function getOgcApiDefinition(targetEntity: EntityType, requestOptions: IHubRequestOptions): IApiDefinition;
|