@esri/hub-common 9.43.3 → 9.45.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/es2017/ArcGISContext.js +1 -1
- package/dist/es2017/ArcGISContext.js.map +1 -1
- package/dist/es2017/search/Collection.js +71 -0
- package/dist/es2017/search/Collection.js.map +1 -0
- package/dist/es2017/search/_internal/ifilter-utils.js +221 -0
- package/dist/es2017/search/_internal/ifilter-utils.js.map +1 -0
- package/dist/es2017/search/_internal/portalSearchGroups.js +47 -2
- package/dist/es2017/search/_internal/portalSearchGroups.js.map +1 -1
- package/dist/es2017/search/_internal/portalSearchItems.js +100 -7
- package/dist/es2017/search/_internal/portalSearchItems.js.map +1 -1
- package/dist/es2017/search/_internal/portalSearchUsers.js +46 -1
- package/dist/es2017/search/_internal/portalSearchUsers.js.map +1 -1
- package/dist/es2017/search/_internal/portalSearchUtils.js +22 -0
- package/dist/es2017/search/_internal/portalSearchUtils.js.map +1 -0
- package/dist/es2017/search/filter-utils.js +1 -0
- package/dist/es2017/search/filter-utils.js.map +1 -1
- package/dist/es2017/search/hubSearch.js +47 -3
- package/dist/es2017/search/hubSearch.js.map +1 -1
- package/dist/es2017/search/types/IHubAggregation.js +1 -0
- package/dist/es2017/search/types/IHubAggregation.js.map +1 -0
- package/dist/es2017/search/types/IHubCatalog.js +1 -0
- package/dist/es2017/search/types/IHubCatalog.js.map +1 -0
- package/dist/es2017/search/types/index.js +2 -0
- package/dist/es2017/search/types/index.js.map +1 -1
- package/dist/esm/ArcGISContext.js +1 -1
- package/dist/esm/ArcGISContext.js.map +1 -1
- package/dist/esm/search/Collection.js +106 -0
- package/dist/esm/search/Collection.js.map +1 -0
- package/dist/esm/search/_internal/ifilter-utils.js +222 -0
- package/dist/esm/search/_internal/ifilter-utils.js.map +1 -0
- package/dist/esm/search/_internal/portalSearchGroups.js +50 -2
- package/dist/esm/search/_internal/portalSearchGroups.js.map +1 -1
- package/dist/esm/search/_internal/portalSearchItems.js +101 -7
- package/dist/esm/search/_internal/portalSearchItems.js.map +1 -1
- package/dist/esm/search/_internal/portalSearchUsers.js +49 -1
- package/dist/esm/search/_internal/portalSearchUsers.js.map +1 -1
- package/dist/esm/search/_internal/portalSearchUtils.js +22 -0
- package/dist/esm/search/_internal/portalSearchUtils.js.map +1 -0
- package/dist/esm/search/filter-utils.js +1 -0
- package/dist/esm/search/filter-utils.js.map +1 -1
- package/dist/esm/search/hubSearch.js +50 -3
- package/dist/esm/search/hubSearch.js.map +1 -1
- package/dist/esm/search/types/IHubAggregation.js +1 -0
- package/dist/esm/search/types/IHubAggregation.js.map +1 -0
- package/dist/esm/search/types/IHubCatalog.js +1 -0
- package/dist/esm/search/types/IHubCatalog.js.map +1 -0
- package/dist/esm/search/types/index.js +2 -0
- package/dist/esm/search/types/index.js.map +1 -1
- package/dist/node/ArcGISContext.js +1 -1
- package/dist/node/ArcGISContext.js.map +1 -1
- package/dist/node/search/Collection.js +75 -0
- package/dist/node/search/Collection.js.map +1 -0
- package/dist/node/search/_internal/ifilter-utils.js +226 -0
- package/dist/node/search/_internal/ifilter-utils.js.map +1 -0
- package/dist/node/search/_internal/portalSearchGroups.js +49 -3
- package/dist/node/search/_internal/portalSearchGroups.js.map +1 -1
- package/dist/node/search/_internal/portalSearchItems.js +103 -7
- package/dist/node/search/_internal/portalSearchItems.js.map +1 -1
- package/dist/node/search/_internal/portalSearchUsers.js +48 -2
- package/dist/node/search/_internal/portalSearchUsers.js.map +1 -1
- package/dist/node/search/_internal/portalSearchUtils.js +26 -0
- package/dist/node/search/_internal/portalSearchUtils.js.map +1 -0
- package/dist/node/search/filter-utils.js +1 -0
- package/dist/node/search/filter-utils.js.map +1 -1
- package/dist/node/search/hubSearch.js +48 -3
- package/dist/node/search/hubSearch.js.map +1 -1
- package/dist/node/search/types/IHubAggregation.js +3 -0
- package/dist/node/search/types/IHubAggregation.js.map +1 -0
- package/dist/node/search/types/IHubCatalog.js +3 -0
- package/dist/node/search/types/IHubCatalog.js.map +1 -0
- package/dist/node/search/types/index.js +2 -0
- package/dist/node/search/types/index.js.map +1 -1
- package/dist/types/core/types/IHubTimeline.d.ts +0 -5
- package/dist/types/search/Collection.d.ts +18 -0
- package/dist/types/search/_internal/ifilter-utils.d.ts +4 -0
- package/dist/types/search/_internal/portalSearchGroups.d.ts +12 -3
- package/dist/types/search/_internal/portalSearchItems.d.ts +28 -4
- package/dist/types/search/_internal/portalSearchUsers.d.ts +11 -2
- package/dist/types/search/_internal/portalSearchUtils.d.ts +9 -0
- package/dist/types/search/hubSearch.d.ts +11 -1
- package/dist/types/search/types/IHubAggregation.d.ts +11 -0
- package/dist/types/search/types/IHubCatalog.d.ts +71 -0
- package/dist/types/search/types/IHubSearchResponse.d.ts +2 -0
- package/dist/types/search/types/index.d.ts +2 -0
- package/dist/umd/common.umd.js +519 -45
- package/dist/umd/common.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.portalSearchUsers = void 0;
|
|
3
|
+
exports.portalSearchUsers = exports.portalSearchUsersFilterGroups = void 0;
|
|
4
4
|
const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
|
|
5
5
|
const __1 = require("../..");
|
|
6
|
+
const ifilter_utils_1 = require("./ifilter-utils");
|
|
6
7
|
const HubError_1 = require("../../HubError");
|
|
7
8
|
const filter_utils_1 = require("../filter-utils");
|
|
8
9
|
const utils_1 = require("../utils");
|
|
9
10
|
/**
|
|
10
11
|
* @private
|
|
12
|
+
* DEPRECATED: Use `portalSearchUsers`
|
|
11
13
|
* Portal Search implementation for Users
|
|
12
14
|
* @param filterGroups
|
|
13
15
|
* @param options
|
|
14
16
|
*/
|
|
15
|
-
async function
|
|
17
|
+
async function portalSearchUsersFilterGroups(filterGroups, options) {
|
|
16
18
|
// requestOptions is always required and user must be authd
|
|
17
19
|
if (!options.requestOptions) {
|
|
18
20
|
throw new HubError_1.default("portalSearchUsers", "requestOptions: IHubRequestOptions is required.");
|
|
@@ -47,6 +49,50 @@ async function portalSearchUsers(filterGroups, options) {
|
|
|
47
49
|
// Execute search
|
|
48
50
|
return searchPortal(so);
|
|
49
51
|
}
|
|
52
|
+
exports.portalSearchUsersFilterGroups = portalSearchUsersFilterGroups;
|
|
53
|
+
/**
|
|
54
|
+
* @private
|
|
55
|
+
* Portal Search Implementation for Users
|
|
56
|
+
* @param filterGroups
|
|
57
|
+
* @param options
|
|
58
|
+
* @returns
|
|
59
|
+
*/
|
|
60
|
+
async function portalSearchUsers(query, options) {
|
|
61
|
+
// requestOptions is always required and user must be authd
|
|
62
|
+
if (!options.requestOptions) {
|
|
63
|
+
throw new HubError_1.default("portalSearchUsers", "requestOptions: IHubRequestOptions is required.");
|
|
64
|
+
}
|
|
65
|
+
if (!options.requestOptions.authentication) {
|
|
66
|
+
throw new HubError_1.default("portalSearchUsers", "requestOptions must pass authentication.");
|
|
67
|
+
}
|
|
68
|
+
// Expand the individual predicates in each filter
|
|
69
|
+
query.filters = query.filters.map((filter) => {
|
|
70
|
+
filter.predicates = filter.predicates.map(ifilter_utils_1.expandPredicate);
|
|
71
|
+
return filter;
|
|
72
|
+
});
|
|
73
|
+
// Serialize the all the groups for portal
|
|
74
|
+
const so = ifilter_utils_1.serializeQueryForPortal(query);
|
|
75
|
+
// Array of properties we want to copy from IHubSearchOptions to the ISearchOptions
|
|
76
|
+
const props = [
|
|
77
|
+
"num",
|
|
78
|
+
"sortField",
|
|
79
|
+
"sortOrder",
|
|
80
|
+
"include",
|
|
81
|
+
"start",
|
|
82
|
+
"requestOptions",
|
|
83
|
+
];
|
|
84
|
+
// copy the props over
|
|
85
|
+
props.forEach((prop) => {
|
|
86
|
+
if (options.hasOwnProperty(prop)) {
|
|
87
|
+
so[prop] = options[prop];
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
// Unlike Groups and Item, the Users api *requires* authentication
|
|
91
|
+
// so we set it directly
|
|
92
|
+
so.authentication = options.requestOptions.authentication;
|
|
93
|
+
// Execute search
|
|
94
|
+
return searchPortal(so);
|
|
95
|
+
}
|
|
50
96
|
exports.portalSearchUsers = portalSearchUsers;
|
|
51
97
|
/**
|
|
52
98
|
* Internal portal search, which then converts `IGroup`s to `IHubSearchResult`s
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portalSearchUsers.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchUsers.ts"],"names":[],"mappings":";;;AAAA,iEAIkC;AAElC,6BAAuD;
|
|
1
|
+
{"version":3,"file":"portalSearchUsers.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchUsers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertPortalAggregations = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @private
|
|
6
|
+
* Convert a portal aggregation structure into the HubAggregations structure
|
|
7
|
+
* @param searchResults
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
function convertPortalAggregations(searchResults) {
|
|
11
|
+
var _a;
|
|
12
|
+
if ((_a = searchResults.aggregations) === null || _a === void 0 ? void 0 : _a.counts) {
|
|
13
|
+
return searchResults.aggregations.counts.map((entry) => {
|
|
14
|
+
return {
|
|
15
|
+
mode: "terms",
|
|
16
|
+
field: entry.fieldName,
|
|
17
|
+
values: entry.fieldValues,
|
|
18
|
+
};
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.convertPortalAggregations = convertPortalAggregations;
|
|
26
|
+
//# sourceMappingURL=portalSearchUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portalSearchUtils.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchUtils.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AACH,SAAgB,yBAAyB,CACvC,aAA+B;;IAE/B,UAAI,aAAa,CAAC,YAAY,0CAAE,MAAM,EAAE;QACtC,OAAO,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACrD,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK,CAAC,SAAS;gBACtB,MAAM,EAAE,KAAK,CAAC,WAAW;aAC1B,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAdD,8DAcC"}
|
|
@@ -4,6 +4,7 @@ exports.isEmptyFilterGroup = exports.isEmptyFilter = exports.serializeFilterGrou
|
|
|
4
4
|
const objects_1 = require("../objects");
|
|
5
5
|
const util_1 = require("../util");
|
|
6
6
|
const utils_1 = require("./utils");
|
|
7
|
+
// DEPRECATED - REMOVE THIS FILE
|
|
7
8
|
/**
|
|
8
9
|
* Expand a Filter into it's more expressive structure so it can be
|
|
9
10
|
* serialized deterministically.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-utils.js","sourceRoot":"","sources":["../../../src/search/filter-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"filter-utils.js","sourceRoot":"","sources":["../../../src/search/filter-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hubSearch = void 0;
|
|
3
|
+
exports.hubSearchQuery = exports.hubSearch = void 0;
|
|
4
4
|
const HubError_1 = require("../HubError");
|
|
5
5
|
const objects_1 = require("../objects");
|
|
6
6
|
const util_1 = require("../util");
|
|
@@ -35,6 +35,51 @@ async function hubSearch(filterGroups, options) {
|
|
|
35
35
|
const filterType = filterGroups[0].filterType;
|
|
36
36
|
// get the API
|
|
37
37
|
const apiType = utils_1.expandApi(options.api || "arcgis").type;
|
|
38
|
+
const fnHash = {
|
|
39
|
+
arcgis: {
|
|
40
|
+
item: _internal_1.portalSearchItemsFilterGroups,
|
|
41
|
+
group: _internal_1.portalSearchGroupsFilterGroups,
|
|
42
|
+
user: portalSearchUsers_1.portalSearchUsersFilterGroups,
|
|
43
|
+
},
|
|
44
|
+
"arcgis-hub": {
|
|
45
|
+
item: _internal_1.hubSearchItems,
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
const fn = objects_1.getProp(fnHash, `${apiType}.${filterType}`);
|
|
49
|
+
if (!fn) {
|
|
50
|
+
throw new HubError_1.default(`hubSearch`, `Search via "${filterType}" filter against "${apiType}" api is not implemented`);
|
|
51
|
+
}
|
|
52
|
+
return fn(util_1.cloneObject(filterGroups), options);
|
|
53
|
+
}
|
|
54
|
+
exports.hubSearch = hubSearch;
|
|
55
|
+
/**
|
|
56
|
+
* Main entrypoint for searching via Hub
|
|
57
|
+
*
|
|
58
|
+
* Default's to search ArcGIS Portal but can delegate
|
|
59
|
+
* to Hub API when it's available.
|
|
60
|
+
* @param query
|
|
61
|
+
* @param options
|
|
62
|
+
* @returns
|
|
63
|
+
*/
|
|
64
|
+
async function hubSearchQuery(query, options) {
|
|
65
|
+
// Validate inputs
|
|
66
|
+
if (!query) {
|
|
67
|
+
throw new HubError_1.default("hubSearch", "Query is required.");
|
|
68
|
+
}
|
|
69
|
+
if (!query.filters || !query.filters.length) {
|
|
70
|
+
throw new HubError_1.default("hubSearch", "Query must contain at least one Filter.");
|
|
71
|
+
}
|
|
72
|
+
if (!options.requestOptions) {
|
|
73
|
+
throw new HubError_1.default("hubSearch", "requestOptions: IHubRequestOptions is required.");
|
|
74
|
+
}
|
|
75
|
+
// Ensure includes is an array
|
|
76
|
+
if (!options.include) {
|
|
77
|
+
options.include = [];
|
|
78
|
+
}
|
|
79
|
+
// Get the type of the first filterGroup
|
|
80
|
+
const filterType = query.targetEntity;
|
|
81
|
+
// get the API
|
|
82
|
+
const apiType = utils_1.expandApi(options.api || "arcgis").type;
|
|
38
83
|
const fnHash = {
|
|
39
84
|
arcgis: {
|
|
40
85
|
item: _internal_1.portalSearchItems,
|
|
@@ -49,7 +94,7 @@ async function hubSearch(filterGroups, options) {
|
|
|
49
94
|
if (!fn) {
|
|
50
95
|
throw new HubError_1.default(`hubSearch`, `Search via "${filterType}" filter against "${apiType}" api is not implemented`);
|
|
51
96
|
}
|
|
52
|
-
return fn(util_1.cloneObject(
|
|
97
|
+
return fn(util_1.cloneObject(query), options);
|
|
53
98
|
}
|
|
54
|
-
exports.
|
|
99
|
+
exports.hubSearchQuery = hubSearchQuery;
|
|
55
100
|
//# sourceMappingURL=hubSearch.js.map
|
|
@@ -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":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IHubAggregation.js","sourceRoot":"","sources":["../../../../src/search/types/IHubAggregation.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IHubCatalog.js","sourceRoot":"","sources":["../../../../src/search/types/IHubCatalog.ts"],"names":[],"mappings":""}
|
|
@@ -5,9 +5,11 @@ tslib_1.__exportStar(require("./ICatalog"), exports);
|
|
|
5
5
|
tslib_1.__exportStar(require("./ICollection"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./IFacet"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./IFacetOption"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./IHubAggregation"), exports);
|
|
8
9
|
tslib_1.__exportStar(require("./IHubApiSearchRequest"), exports);
|
|
9
10
|
tslib_1.__exportStar(require("./IHubSearchOptions"), exports);
|
|
10
11
|
tslib_1.__exportStar(require("./IHubSearchResult"), exports);
|
|
11
12
|
tslib_1.__exportStar(require("./IHubSearchResponse"), exports);
|
|
12
13
|
tslib_1.__exportStar(require("./types"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./IHubCatalog"), exports);
|
|
13
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/search/types/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,wDAA8B;AAC9B,mDAAyB;AACzB,yDAA+B;AAC/B,iEAAuC;AACvC,8DAAoC;AACpC,6DAAmC;AACnC,+DAAqC;AACrC,kDAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/search/types/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,wDAA8B;AAC9B,mDAAyB;AACzB,yDAA+B;AAC/B,4DAAkC;AAClC,iEAAuC;AACvC,8DAAoC;AACpC,6DAAmC;AACnC,+DAAqC;AACrC,kDAAwB;AACxB,wDAA8B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IArcGISContext } from "..";
|
|
2
|
+
import { IHubCollection, IHubSearchOptions, IHubSearchResponse, IHubSearchResult, IQuery } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Implements Collection behavior
|
|
5
|
+
*/
|
|
6
|
+
export declare class Collection implements IHubCollection {
|
|
7
|
+
private _context;
|
|
8
|
+
private _collection;
|
|
9
|
+
private constructor();
|
|
10
|
+
static create(collection: IHubCollection, context?: IArcGISContext): Promise<Collection>;
|
|
11
|
+
get label(): string;
|
|
12
|
+
get key(): string;
|
|
13
|
+
get include(): string[];
|
|
14
|
+
get scope(): IQuery;
|
|
15
|
+
get sortField(): string;
|
|
16
|
+
get sortDirection(): "asc" | "desc";
|
|
17
|
+
search(query: string | IQuery, options?: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
|
|
18
|
+
}
|
|
@@ -1,9 +1,18 @@
|
|
|
1
|
-
import { IFilterGroup, IHubSearchOptions, IHubSearchResponse, IHubSearchResult } from "../types";
|
|
1
|
+
import { IFilterGroup, IHubSearchOptions, IHubSearchResponse, IHubSearchResult, IQuery } from "../types";
|
|
2
2
|
/**
|
|
3
3
|
* @private
|
|
4
|
-
*
|
|
4
|
+
* DEPRECATED: Use `portalSerchGroups`
|
|
5
|
+
* Portal Search Implementation for Groups
|
|
5
6
|
* @param filterGroups
|
|
6
7
|
* @param options
|
|
7
8
|
* @returns
|
|
8
9
|
*/
|
|
9
|
-
export declare function
|
|
10
|
+
export declare function portalSearchGroupsFilterGroups(filterGroups: Array<IFilterGroup<"group">>, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
|
|
11
|
+
/**
|
|
12
|
+
* @private
|
|
13
|
+
* Portal Search Implementation for Groups
|
|
14
|
+
* @param query
|
|
15
|
+
* @param options
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
export declare function portalSearchGroups(query: IQuery, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
|
|
@@ -1,12 +1,20 @@
|
|
|
1
|
-
import { Filter, IFilterGroup, IHubSearchOptions, IHubSearchResponse, IHubSearchResult } from "../types";
|
|
1
|
+
import { Filter, IFilterGroup, IHubSearchOptions, IHubSearchResponse, IHubSearchResult, IMatchOptions, IQuery } from "../types";
|
|
2
2
|
/**
|
|
3
3
|
* @private
|
|
4
|
-
*
|
|
4
|
+
* DEPRECATED
|
|
5
5
|
* @param filterGroups
|
|
6
6
|
* @param options
|
|
7
7
|
* @returns
|
|
8
8
|
*/
|
|
9
|
-
export declare function
|
|
9
|
+
export declare function portalSearchItemsFilterGroups(filterGroups: Array<IFilterGroup<"item">>, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
|
|
10
|
+
/**
|
|
11
|
+
* @private
|
|
12
|
+
* Portal Search Implementation for Items
|
|
13
|
+
* @param query
|
|
14
|
+
* @param options
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
export declare function portalSearchItems(query: IQuery, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
|
|
10
18
|
interface IWellKnownItemFilters {
|
|
11
19
|
$application: Array<Filter<"item">>;
|
|
12
20
|
$feedback: Array<Filter<"item">>;
|
|
@@ -39,5 +47,21 @@ export declare const WellKnownItemFilters: IWellKnownItemFilters;
|
|
|
39
47
|
* Only exported to enable extensive testing
|
|
40
48
|
* @param filterGroups
|
|
41
49
|
*/
|
|
42
|
-
export declare function
|
|
50
|
+
export declare function applyWellKnownItemPredicates(query: IQuery): IQuery;
|
|
51
|
+
/**
|
|
52
|
+
* DEPRECATED
|
|
53
|
+
* @param filterGroups
|
|
54
|
+
* @returns
|
|
55
|
+
*/
|
|
56
|
+
export declare function applyWellKnownItemFilterGroups(filterGroups: Array<IFilterGroup<"item">>): Array<IFilterGroup<"item">>;
|
|
57
|
+
/**
|
|
58
|
+
* Is the argument a well-known type "key"
|
|
59
|
+
*
|
|
60
|
+
* Accepts `string`, `string[]` or `IMatchOptions`
|
|
61
|
+
* but only string values can possibly be keys
|
|
62
|
+
* on `WellKnownItemFilters`
|
|
63
|
+
* @param key
|
|
64
|
+
* @returns
|
|
65
|
+
*/
|
|
66
|
+
export declare function isWellKnownTypeFilter(key: string | string[] | IMatchOptions): boolean;
|
|
43
67
|
export {};
|
|
@@ -1,8 +1,17 @@
|
|
|
1
|
-
import { IFilterGroup, IHubSearchOptions, IHubSearchResponse, IHubSearchResult } from "../types";
|
|
1
|
+
import { IFilterGroup, IHubSearchOptions, IHubSearchResponse, IHubSearchResult, IQuery } from "../types";
|
|
2
2
|
/**
|
|
3
3
|
* @private
|
|
4
|
+
* DEPRECATED: Use `portalSearchUsers`
|
|
4
5
|
* Portal Search implementation for Users
|
|
5
6
|
* @param filterGroups
|
|
6
7
|
* @param options
|
|
7
8
|
*/
|
|
8
|
-
export declare function
|
|
9
|
+
export declare function portalSearchUsersFilterGroups(filterGroups: Array<IFilterGroup<"user">>, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
|
|
10
|
+
/**
|
|
11
|
+
* @private
|
|
12
|
+
* Portal Search Implementation for Users
|
|
13
|
+
* @param filterGroups
|
|
14
|
+
* @param options
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
export declare function portalSearchUsers(query: IQuery, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ISearchResult } from "@esri/arcgis-rest-portal";
|
|
2
|
+
import { IHubAggregation } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* @private
|
|
5
|
+
* Convert a portal aggregation structure into the HubAggregations structure
|
|
6
|
+
* @param searchResults
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export declare function convertPortalAggregations<T>(searchResults: ISearchResult<T>): IHubAggregation[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IFilterGroup, FilterType, IHubSearchOptions, IHubSearchResponse, IHubSearchResult } from "./types";
|
|
1
|
+
import { IFilterGroup, FilterType, IHubSearchOptions, IHubSearchResponse, IHubSearchResult, IQuery } from "./types";
|
|
2
2
|
/**
|
|
3
3
|
* Main Search function for ArcGIS Hub
|
|
4
4
|
*
|
|
@@ -9,3 +9,13 @@ import { IFilterGroup, FilterType, IHubSearchOptions, IHubSearchResponse, IHubSe
|
|
|
9
9
|
* @returns
|
|
10
10
|
*/
|
|
11
11
|
export declare function hubSearch(filterGroups: Array<IFilterGroup<FilterType>>, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
|
|
12
|
+
/**
|
|
13
|
+
* Main entrypoint for searching via Hub
|
|
14
|
+
*
|
|
15
|
+
* Default's to search ArcGIS Portal but can delegate
|
|
16
|
+
* to Hub API when it's available.
|
|
17
|
+
* @param query
|
|
18
|
+
* @param options
|
|
19
|
+
* @returns
|
|
20
|
+
*/
|
|
21
|
+
export declare function hubSearchQuery(query: IQuery, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export interface IHubCatalog {
|
|
2
|
+
/**
|
|
3
|
+
* Title for the Gallery
|
|
4
|
+
*/
|
|
5
|
+
title?: string;
|
|
6
|
+
/**
|
|
7
|
+
* Filter defines the "scopes" of the Catalog, on a per entity type basis
|
|
8
|
+
*/
|
|
9
|
+
scopes?: ICatalogScope;
|
|
10
|
+
/**
|
|
11
|
+
* Collections within the Catalog
|
|
12
|
+
*/
|
|
13
|
+
collections?: IHubCollection[];
|
|
14
|
+
}
|
|
15
|
+
export interface ICatalogScope extends Record<EntityType, IQuery> {
|
|
16
|
+
}
|
|
17
|
+
export interface IHubCollection {
|
|
18
|
+
/**
|
|
19
|
+
* String to show in the UI. translated.
|
|
20
|
+
*/
|
|
21
|
+
label: string;
|
|
22
|
+
/**
|
|
23
|
+
* Unique key, used for query params and telemetry
|
|
24
|
+
*/
|
|
25
|
+
key: string;
|
|
26
|
+
/**
|
|
27
|
+
* Specify the includes to be requested when working with this collection
|
|
28
|
+
*/
|
|
29
|
+
include?: string[];
|
|
30
|
+
/**
|
|
31
|
+
* Default query for the Collection
|
|
32
|
+
*/
|
|
33
|
+
scope: IQuery;
|
|
34
|
+
/**
|
|
35
|
+
* Default sort field for the Collection
|
|
36
|
+
*/
|
|
37
|
+
sortField?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Default sort direction for the Collection
|
|
40
|
+
*/
|
|
41
|
+
sortDirection?: "asc" | "desc";
|
|
42
|
+
}
|
|
43
|
+
export declare type EntityType = "item" | "group" | "user" | "groupMember" | "event";
|
|
44
|
+
export interface IQuery {
|
|
45
|
+
/**
|
|
46
|
+
* What entity is this query targeting. This is used internally to
|
|
47
|
+
* ensure we query the correct API
|
|
48
|
+
*/
|
|
49
|
+
targetEntity: EntityType;
|
|
50
|
+
/**
|
|
51
|
+
* Filters that make up the query
|
|
52
|
+
*/
|
|
53
|
+
filters: IFilter[];
|
|
54
|
+
/**
|
|
55
|
+
* Additional properties. Useful for groupMember queries
|
|
56
|
+
* where we need to send in the groupId to construct the url
|
|
57
|
+
*/
|
|
58
|
+
properties?: Record<string, any>;
|
|
59
|
+
}
|
|
60
|
+
export interface IFilter {
|
|
61
|
+
/**
|
|
62
|
+
* Operation used to combine the predicates
|
|
63
|
+
*/
|
|
64
|
+
operation?: "AND" | "OR";
|
|
65
|
+
/**
|
|
66
|
+
* Predicates
|
|
67
|
+
*/
|
|
68
|
+
predicates: IPredicate[];
|
|
69
|
+
}
|
|
70
|
+
export interface IPredicate extends Record<string, any> {
|
|
71
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IFacet } from "./IFacet";
|
|
2
|
+
import { IHubAggregation } from "./IHubAggregation";
|
|
2
3
|
/**
|
|
3
4
|
* Defines a generic search response interface with parameterized result type
|
|
4
5
|
* for different types of searches
|
|
@@ -13,5 +14,6 @@ export interface IHubSearchResponse<T> {
|
|
|
13
14
|
results: T[];
|
|
14
15
|
hasNext: boolean;
|
|
15
16
|
next: (params?: any) => Promise<IHubSearchResponse<T>>;
|
|
17
|
+
aggregations?: IHubAggregation[];
|
|
16
18
|
facets?: IFacet[];
|
|
17
19
|
}
|
|
@@ -2,8 +2,10 @@ export * from "./ICatalog";
|
|
|
2
2
|
export * from "./ICollection";
|
|
3
3
|
export * from "./IFacet";
|
|
4
4
|
export * from "./IFacetOption";
|
|
5
|
+
export * from "./IHubAggregation";
|
|
5
6
|
export * from "./IHubApiSearchRequest";
|
|
6
7
|
export * from "./IHubSearchOptions";
|
|
7
8
|
export * from "./IHubSearchResult";
|
|
8
9
|
export * from "./IHubSearchResponse";
|
|
9
10
|
export * from "./types";
|
|
11
|
+
export * from "./IHubCatalog";
|