@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArcGISContext.js","sourceRoot":"","sources":["../../src/ArcGISContext.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAsB,MAAM,GAAG,CAAC;AAEhE;;;GAGG;AACH,MAAM,eAAe,GAAG;IACtB,OAAO,EAAE,iBAAiB;IAC1B,MAAM,EAAE,kBAAkB;IAC1B,WAAW,EAAE,qBAAqB;CACnC,CAAC;AAmLF;;;;;;;;;;GAUG;AACH,MAAM,OAAO,aAAa;IAoBxB;;;;OAIG;IACH,YAAY,IAA2B;QAf/B,eAAU,GAAW,wBAAwB,CAAC;QAgBpD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC;SAC5C;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;SACpC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;SACtC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;SACpC;IACH,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAW,eAAe;QACxB,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,IAAW,kBAAkB;QAC3B,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,OAAO;gBACL,cAAc,EAAE,IAAI,CAAC,eAAe;gBACpC,MAAM,EAAE,IAAI,CAAC,aAAa;aAC3B,CAAC;SACH;IACH,CAAC;IAED;;;;;;;OAOG;IACH,IAAW,cAAc;QACvB,IAAI,EAAE,GAAQ;YACZ,MAAM,EAAE,IAAI,CAAC,aAAa;SAC3B,CAAC;QACF,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,EAAE,GAAG;gBACH,cAAc,EAAE,IAAI,CAAC,eAAe;gBACpC,MAAM,EAAE,IAAI,CAAC,aAAa;aAC3B,CAAC;SACH;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,IAAW,iBAAiB;QAC1B,qEAAqE;QAErE,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,OAAO;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,SAAS,EAAE,IAAI,CAAC,MAAM;YACtB,MAAM,EAAE,IAAI,CAAC,aAAa;SAC3B,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,IAAW,SAAS;QAClB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,IAAI,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"ArcGISContext.js","sourceRoot":"","sources":["../../src/ArcGISContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { hubSearchQuery } from "..";
|
|
2
|
+
/**
|
|
3
|
+
* Implements Collection behavior
|
|
4
|
+
*/
|
|
5
|
+
/* istanbul ignore next */
|
|
6
|
+
export class Collection {
|
|
7
|
+
constructor(collection, context) {
|
|
8
|
+
this._collection = collection;
|
|
9
|
+
if (context) {
|
|
10
|
+
this._context = context;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
static async create(collection, context) {
|
|
14
|
+
// Async so we could extend to look up by ref like
|
|
15
|
+
// https://mysite.com#documents vs passing in a full ICollection
|
|
16
|
+
const col = new Collection(collection, context);
|
|
17
|
+
return Promise.resolve(col);
|
|
18
|
+
}
|
|
19
|
+
// Getters
|
|
20
|
+
get label() {
|
|
21
|
+
return this._collection.label;
|
|
22
|
+
}
|
|
23
|
+
get key() {
|
|
24
|
+
return this._collection.key;
|
|
25
|
+
}
|
|
26
|
+
get include() {
|
|
27
|
+
return this._collection.include;
|
|
28
|
+
}
|
|
29
|
+
get scope() {
|
|
30
|
+
return this._collection.scope;
|
|
31
|
+
}
|
|
32
|
+
get sortField() {
|
|
33
|
+
return this._collection.sortField || "title";
|
|
34
|
+
}
|
|
35
|
+
get sortDirection() {
|
|
36
|
+
return this._collection.sortDirection || "asc";
|
|
37
|
+
}
|
|
38
|
+
async search(query, options = {}) {
|
|
39
|
+
var _a;
|
|
40
|
+
let qry;
|
|
41
|
+
if (typeof query === "string") {
|
|
42
|
+
// construct a query from that...
|
|
43
|
+
qry = {
|
|
44
|
+
targetEntity: ((_a = this._collection.scope) === null || _a === void 0 ? void 0 : _a.targetEntity) || "item",
|
|
45
|
+
filters: [
|
|
46
|
+
{
|
|
47
|
+
predicates: [
|
|
48
|
+
{
|
|
49
|
+
term: query,
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
qry = query;
|
|
58
|
+
}
|
|
59
|
+
// merge the passed in query w/ the scope
|
|
60
|
+
qry.filters = [...qry.filters, ...this.scope.filters];
|
|
61
|
+
options.requestOptions = this._context.hubRequestOptions;
|
|
62
|
+
// inject default sort info if not specified
|
|
63
|
+
options.sortField = options.sortField || this.sortField;
|
|
64
|
+
options.sortOrder = options.sortOrder || this.sortDirection;
|
|
65
|
+
// inject default includes if not specified
|
|
66
|
+
options.include = options.include || this.include;
|
|
67
|
+
// execute the search and return results
|
|
68
|
+
return hubSearchQuery(qry, options);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=Collection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../../src/search/Collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAkB,MAAM,IAAI,CAAC;AAUpD;;GAEG;AACH,0BAA0B;AAC1B,MAAM,OAAO,UAAU;IAGrB,YAAoB,UAA0B,EAAE,OAAwB;QACtE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;SACzB;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,UAA0B,EAC1B,OAAwB;QAExB,kDAAkD;QAClD,gEAAgE;QAChE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,UAAU;IAEV,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IAChC,CAAC;IACD,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;IAC9B,CAAC;IACD,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IAClC,CAAC;IACD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IAChC,CAAC;IACD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,OAAO,CAAC;IAC/C,CAAC;IACD,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,KAAK,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,KAAsB,EACtB,UAA6B,EAAE;;QAE/B,IAAI,GAAW,CAAC;QAChB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,iCAAiC;YACjC,GAAG,GAAG;gBACJ,YAAY,EAAE,OAAA,IAAI,CAAC,WAAW,CAAC,KAAK,0CAAE,YAAY,KAAI,MAAM;gBAC5D,OAAO,EAAE;oBACP;wBACE,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,KAAK;6BACZ;yBACF;qBACF;iBACF;aACF,CAAC;SACH;aAAM;YACL,GAAG,GAAG,KAAK,CAAC;SACb;QAED,yCAAyC;QACzC,GAAG,CAAC,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEtD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACzD,4CAA4C;QAC5C,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;QACxD,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC;QAC5D,2CAA2C;QAC3C,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;QAElD,wCAAwC;QACxC,OAAO,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { setProp, getProp } from "../../objects";
|
|
2
|
+
import { cloneObject } from "../../util";
|
|
3
|
+
import { valueToMatchOptions, relativeDateToDateRange } from "../utils";
|
|
4
|
+
export function expandPredicate(predicate) {
|
|
5
|
+
const result = {};
|
|
6
|
+
const dateProps = ["created", "modified", "lastlogin"];
|
|
7
|
+
const copyProps = [
|
|
8
|
+
"filterType",
|
|
9
|
+
"term",
|
|
10
|
+
"searchUserAccess",
|
|
11
|
+
"isopendata",
|
|
12
|
+
"searchUserName",
|
|
13
|
+
];
|
|
14
|
+
const nonMatchOptionsFields = [...dateProps, ...copyProps];
|
|
15
|
+
// Do the conversion
|
|
16
|
+
Object.entries(predicate).forEach(([key, value]) => {
|
|
17
|
+
// Handle MatchOptions fields
|
|
18
|
+
if (!nonMatchOptionsFields.includes(key)) {
|
|
19
|
+
setProp(key, valueToMatchOptions(value), result);
|
|
20
|
+
}
|
|
21
|
+
// Handle Date fields
|
|
22
|
+
if (dateProps.includes(key)) {
|
|
23
|
+
const dateFieldValue = cloneObject(getProp(predicate, key));
|
|
24
|
+
if (getProp(predicate, `${key}.type`) === "relative-date") {
|
|
25
|
+
setProp(key, relativeDateToDateRange(dateFieldValue), result);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
setProp(key, dateFieldValue, result);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
// Handle fields that are just copied forward
|
|
32
|
+
if (copyProps.includes(key) && predicate.hasOwnProperty(key)) {
|
|
33
|
+
setProp(key, value, result);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
export function serializeQueryForPortal(query) {
|
|
39
|
+
const filterSearchOptions = query.filters.map(serializeFilter);
|
|
40
|
+
const result = mergeSearchOptions(filterSearchOptions, "AND");
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
function mergeSearchOptions(options, operation) {
|
|
44
|
+
const result = options.reduce((acc, entry) => {
|
|
45
|
+
// walk the props
|
|
46
|
+
Object.entries(entry).forEach(([key, value]) => {
|
|
47
|
+
// if prop exists
|
|
48
|
+
if (acc[key]) {
|
|
49
|
+
// combine via operation
|
|
50
|
+
acc[key] = `${acc[key]} ${operation} ${value}`;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
// just copy the value
|
|
54
|
+
acc[key] = value;
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
return acc;
|
|
58
|
+
}, { q: "" });
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Serialize the filters in a FitlerGroup into a Portal Query
|
|
63
|
+
* @param filter
|
|
64
|
+
* @returns
|
|
65
|
+
*/
|
|
66
|
+
function serializeFilter(filter) {
|
|
67
|
+
const operation = filter.operation || "AND";
|
|
68
|
+
const predicates = filter.predicates.map(expandPredicate);
|
|
69
|
+
const predicateSearchOptions = predicates.map(serializePredicate);
|
|
70
|
+
// combine these searchOptions
|
|
71
|
+
const searchOptions = mergeSearchOptions(predicateSearchOptions, operation);
|
|
72
|
+
// wrap in parens if we have more than one predicate
|
|
73
|
+
if (predicates.length > 1) {
|
|
74
|
+
searchOptions.q = `(${searchOptions.q})`;
|
|
75
|
+
}
|
|
76
|
+
return searchOptions;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Serialize a Filter into a Portal Query
|
|
80
|
+
* @param predicate
|
|
81
|
+
* @returns
|
|
82
|
+
*/
|
|
83
|
+
function serializePredicate(predicate) {
|
|
84
|
+
const dateProps = ["created", "modified"];
|
|
85
|
+
const boolProps = ["isopendata"];
|
|
86
|
+
const passThroughProps = ["searchUserAccess", "searchUserName"];
|
|
87
|
+
const specialProps = [
|
|
88
|
+
"filterType",
|
|
89
|
+
"term",
|
|
90
|
+
...dateProps,
|
|
91
|
+
...boolProps,
|
|
92
|
+
...passThroughProps,
|
|
93
|
+
];
|
|
94
|
+
const portalAllowList = [
|
|
95
|
+
"access",
|
|
96
|
+
"categories",
|
|
97
|
+
"created",
|
|
98
|
+
"description",
|
|
99
|
+
"disabled",
|
|
100
|
+
"email",
|
|
101
|
+
"emailstatus",
|
|
102
|
+
"firstname",
|
|
103
|
+
"fullname",
|
|
104
|
+
"group",
|
|
105
|
+
"id",
|
|
106
|
+
"isInvitationOnly",
|
|
107
|
+
"isopendata",
|
|
108
|
+
"joined",
|
|
109
|
+
"lastlogin",
|
|
110
|
+
"lastname",
|
|
111
|
+
"memberType",
|
|
112
|
+
"modified",
|
|
113
|
+
"name",
|
|
114
|
+
"orgid",
|
|
115
|
+
"orgIds",
|
|
116
|
+
"owner",
|
|
117
|
+
"provider",
|
|
118
|
+
"role",
|
|
119
|
+
"searchUserAccess",
|
|
120
|
+
"searchUserName",
|
|
121
|
+
"snippet",
|
|
122
|
+
"tags",
|
|
123
|
+
"term",
|
|
124
|
+
"type",
|
|
125
|
+
"typekeywords",
|
|
126
|
+
"userlicensetype",
|
|
127
|
+
"username",
|
|
128
|
+
];
|
|
129
|
+
let qCount = 0;
|
|
130
|
+
// TODO: Look at using reduce vs .map and remove the `.filter`
|
|
131
|
+
const opts = Object.entries(predicate)
|
|
132
|
+
.map(([key, value]) => {
|
|
133
|
+
// When serializing for portal we limit predicate properties to
|
|
134
|
+
// a list of known properties that the portal api accepts. This will
|
|
135
|
+
// not attempt to ensure the properties are used in the correct combinations
|
|
136
|
+
if (portalAllowList.includes(key)) {
|
|
137
|
+
const so = { q: "" };
|
|
138
|
+
if (!specialProps.includes(key)) {
|
|
139
|
+
qCount++;
|
|
140
|
+
so.q = serializeMatchOptions(key, value);
|
|
141
|
+
}
|
|
142
|
+
if (dateProps.includes(key)) {
|
|
143
|
+
qCount++;
|
|
144
|
+
so.q = serializeDateRange(key, value);
|
|
145
|
+
}
|
|
146
|
+
if (boolProps.includes(key)) {
|
|
147
|
+
qCount++;
|
|
148
|
+
so.q = `${key}:${value}`;
|
|
149
|
+
}
|
|
150
|
+
if (passThroughProps.includes(key)) {
|
|
151
|
+
so[key] = value;
|
|
152
|
+
}
|
|
153
|
+
if (key === "term") {
|
|
154
|
+
qCount++;
|
|
155
|
+
so.q = value;
|
|
156
|
+
}
|
|
157
|
+
return so;
|
|
158
|
+
}
|
|
159
|
+
})
|
|
160
|
+
.filter((e) => e !== undefined);
|
|
161
|
+
// merge up all the searchOptions
|
|
162
|
+
const searchOptions = mergeSearchOptions(opts, "AND");
|
|
163
|
+
if (qCount > 1) {
|
|
164
|
+
searchOptions.q = `(${searchOptions.q})`;
|
|
165
|
+
}
|
|
166
|
+
return searchOptions;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Serialize MatchOptions into portal syntax
|
|
170
|
+
* @param key
|
|
171
|
+
* @param value
|
|
172
|
+
* @returns
|
|
173
|
+
*/
|
|
174
|
+
function serializeMatchOptions(key, value) {
|
|
175
|
+
let result = "";
|
|
176
|
+
if (value.any) {
|
|
177
|
+
result = `${serializeStringOrArray("OR", key, value.any)}`;
|
|
178
|
+
}
|
|
179
|
+
if (value.all) {
|
|
180
|
+
result =
|
|
181
|
+
(result ? result + " AND " : "") +
|
|
182
|
+
`${serializeStringOrArray("AND", key, value.all)}`;
|
|
183
|
+
}
|
|
184
|
+
if (value.not) {
|
|
185
|
+
// negate the entries if they are not
|
|
186
|
+
result =
|
|
187
|
+
(result ? result + " AND " : "") +
|
|
188
|
+
`${serializeStringOrArray("OR", `-${key}`, value.not)}`;
|
|
189
|
+
}
|
|
190
|
+
return result;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Serialize a date-range into Portal syntax
|
|
194
|
+
* @param key
|
|
195
|
+
* @param range
|
|
196
|
+
* @returns
|
|
197
|
+
*/
|
|
198
|
+
function serializeDateRange(key, range) {
|
|
199
|
+
return `${key}:[${range.from} TO ${range.to}]`;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Serialize a `string` or `string[]` into a string
|
|
203
|
+
* @param join
|
|
204
|
+
* @param key
|
|
205
|
+
* @param value
|
|
206
|
+
* @returns
|
|
207
|
+
*/
|
|
208
|
+
function serializeStringOrArray(join, key, value) {
|
|
209
|
+
let q = "";
|
|
210
|
+
if (Array.isArray(value)) {
|
|
211
|
+
q = `${key}:"${value.join(`" ${join} ${key}:"`)}"`;
|
|
212
|
+
if (value.length > 1) {
|
|
213
|
+
q = `(${q})`;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
q = `${key}:"${value}"`;
|
|
218
|
+
}
|
|
219
|
+
return q;
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=ifilter-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ifilter-utils.js","sourceRoot":"","sources":["../../../../src/search/_internal/ifilter-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { searchGroups } from "@esri/arcgis-rest-portal";
|
|
2
|
+
import { HubError } from "../../index";
|
|
2
3
|
import { enrichGroupSearchResult } from "../../groups/HubGroups";
|
|
3
4
|
import { expandFilter, serializeFilterGroupsForPortal } from "../filter-utils";
|
|
5
|
+
import { expandPredicate, serializeQueryForPortal } from "./ifilter-utils";
|
|
4
6
|
import { expandApi, getNextFunction } from "../utils";
|
|
5
7
|
/**
|
|
6
8
|
* @private
|
|
7
|
-
*
|
|
9
|
+
* DEPRECATED: Use `portalSerchGroups`
|
|
10
|
+
* Portal Search Implementation for Groups
|
|
8
11
|
* @param filterGroups
|
|
9
12
|
* @param options
|
|
10
13
|
* @returns
|
|
11
14
|
*/
|
|
12
|
-
export async function
|
|
15
|
+
export async function portalSearchGroupsFilterGroups(filterGroups, options) {
|
|
13
16
|
// API
|
|
14
17
|
const api = expandApi(options.api || "arcgis");
|
|
15
18
|
if (!options.requestOptions) {
|
|
@@ -55,6 +58,48 @@ export async function portalSearchGroups(filterGroups, options) {
|
|
|
55
58
|
}
|
|
56
59
|
return searchPortal(so);
|
|
57
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* @private
|
|
63
|
+
* Portal Search Implementation for Groups
|
|
64
|
+
* @param query
|
|
65
|
+
* @param options
|
|
66
|
+
* @returns
|
|
67
|
+
*/
|
|
68
|
+
export async function portalSearchGroups(query, options) {
|
|
69
|
+
if (!options.requestOptions) {
|
|
70
|
+
throw new HubError("portalSearchGroups", "options.requestOptions is required.");
|
|
71
|
+
}
|
|
72
|
+
// Expand the individual predicates in each filter
|
|
73
|
+
query.filters = query.filters.map((filter) => {
|
|
74
|
+
filter.predicates = filter.predicates.map(expandPredicate);
|
|
75
|
+
return filter;
|
|
76
|
+
});
|
|
77
|
+
// Serialize the all the groups for portal
|
|
78
|
+
const so = serializeQueryForPortal(query);
|
|
79
|
+
// Array of properties we want to copy from IHubSearchOptions to the ISearchOptions
|
|
80
|
+
const props = [
|
|
81
|
+
"num",
|
|
82
|
+
"sortField",
|
|
83
|
+
"sortOrder",
|
|
84
|
+
"include",
|
|
85
|
+
"start",
|
|
86
|
+
"requestOptions",
|
|
87
|
+
];
|
|
88
|
+
// copy the props over
|
|
89
|
+
props.forEach((prop) => {
|
|
90
|
+
if (options.hasOwnProperty(prop)) {
|
|
91
|
+
so[prop] = options[prop];
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
// If we don't have auth, ensure we have .portal
|
|
95
|
+
if (options.requestOptions.authentication) {
|
|
96
|
+
so.authentication = options.requestOptions.authentication;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
so.portal = options.requestOptions.portal;
|
|
100
|
+
}
|
|
101
|
+
return searchPortal(so);
|
|
102
|
+
}
|
|
58
103
|
/**
|
|
59
104
|
* Internal portal search, which then converts `IGroup`s to `IHubSearchResult`s
|
|
60
105
|
* handling enrichments & includes along the way
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portalSearchGroups.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchGroups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"portalSearchGroups.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchGroups.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
import { searchItems } from "@esri/arcgis-rest-portal";
|
|
2
2
|
import { cloneObject, convertPortalItemResponseToFacets, enrichContentSearchResult, HubError, } from "../..";
|
|
3
|
+
import { expandPredicate, serializeQueryForPortal } from "./ifilter-utils";
|
|
3
4
|
import { enrichPageSearchResult } from "../../pages/HubPages";
|
|
4
5
|
import { enrichProjectSearchResult } from "../../projects";
|
|
5
6
|
import { enrichSiteSearchResult } from "../../sites";
|
|
6
|
-
import { expandFilter, serializeFilterGroupsForPortal
|
|
7
|
+
import { expandFilter, serializeFilterGroupsForPortal } from "../filter-utils";
|
|
7
8
|
import { getNextFunction } from "../utils";
|
|
9
|
+
import { convertPortalAggregations } from "./portalSearchUtils";
|
|
8
10
|
/**
|
|
9
11
|
* @private
|
|
10
|
-
*
|
|
12
|
+
* DEPRECATED
|
|
11
13
|
* @param filterGroups
|
|
12
14
|
* @param options
|
|
13
15
|
* @returns
|
|
14
16
|
*/
|
|
15
|
-
export async function
|
|
17
|
+
export async function portalSearchItemsFilterGroups(filterGroups, options) {
|
|
16
18
|
var _a;
|
|
17
19
|
if (!options.requestOptions) {
|
|
18
20
|
throw new HubError("hubSearch", "requestOptions: IHubRequestOptions is required.");
|
|
19
21
|
}
|
|
20
22
|
// Expand well-known filterGroups
|
|
21
|
-
const replaced =
|
|
23
|
+
const replaced = applyWellKnownItemFilterGroups(filterGroups);
|
|
22
24
|
// Expand the individual filters in each of the groups
|
|
23
25
|
const expandedGroups = replaced.map((fg) => {
|
|
24
26
|
fg.filters = fg.filters.map(expandFilter);
|
|
@@ -54,6 +56,55 @@ export async function portalSearchItems(filterGroups, options) {
|
|
|
54
56
|
}
|
|
55
57
|
return searchPortal(so);
|
|
56
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* @private
|
|
61
|
+
* Portal Search Implementation for Items
|
|
62
|
+
* @param query
|
|
63
|
+
* @param options
|
|
64
|
+
* @returns
|
|
65
|
+
*/
|
|
66
|
+
export async function portalSearchItems(query, options) {
|
|
67
|
+
var _a;
|
|
68
|
+
if (!options.requestOptions) {
|
|
69
|
+
throw new HubError("portalSearchItems", "options.requestOptions is required.");
|
|
70
|
+
}
|
|
71
|
+
// Expand well-known filterGroups
|
|
72
|
+
const updatedQuery = applyWellKnownItemPredicates(query);
|
|
73
|
+
// Expand the individual predicates in each filter
|
|
74
|
+
updatedQuery.filters = updatedQuery.filters.map((filter) => {
|
|
75
|
+
filter.predicates = filter.predicates.map(expandPredicate);
|
|
76
|
+
return filter;
|
|
77
|
+
});
|
|
78
|
+
// Serialize the all the groups for portal
|
|
79
|
+
const so = serializeQueryForPortal(updatedQuery);
|
|
80
|
+
// Array of properties we want to copy from IHubSearchOptions to the ISearchOptions
|
|
81
|
+
const props = [
|
|
82
|
+
"num",
|
|
83
|
+
"sortField",
|
|
84
|
+
"sortOrder",
|
|
85
|
+
"include",
|
|
86
|
+
"start",
|
|
87
|
+
"requestOptions",
|
|
88
|
+
];
|
|
89
|
+
// copy the props over
|
|
90
|
+
props.forEach((prop) => {
|
|
91
|
+
if (options.hasOwnProperty(prop)) {
|
|
92
|
+
so[prop] = options[prop];
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
if (options.requestOptions.authentication) {
|
|
96
|
+
so.authentication = options.requestOptions.authentication;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
so.portal = options.requestOptions.portal;
|
|
100
|
+
}
|
|
101
|
+
// Aggregations
|
|
102
|
+
if ((_a = options.aggFields) === null || _a === void 0 ? void 0 : _a.length) {
|
|
103
|
+
so.countFields = options.aggFields.join(",");
|
|
104
|
+
so.countSize = options.aggLimit || 10;
|
|
105
|
+
}
|
|
106
|
+
return searchPortal(so);
|
|
107
|
+
}
|
|
57
108
|
/**
|
|
58
109
|
* Internal portal search, which then converts `IItem`s to `IHubSearchResult`s
|
|
59
110
|
* handling enrichments & includes along the way
|
|
@@ -70,13 +121,16 @@ async function searchPortal(searchOptions) {
|
|
|
70
121
|
};
|
|
71
122
|
// map over results
|
|
72
123
|
const results = await Promise.all(resp.results.map(fn));
|
|
73
|
-
//
|
|
124
|
+
// TODO Remove this call
|
|
74
125
|
const facets = convertPortalItemResponseToFacets(resp);
|
|
126
|
+
// convert portal aggregations into hub aggregations
|
|
127
|
+
const aggregations = convertPortalAggregations(resp);
|
|
75
128
|
// Construct the return
|
|
76
129
|
return {
|
|
77
130
|
total: resp.total,
|
|
78
131
|
results,
|
|
79
132
|
facets,
|
|
133
|
+
aggregations,
|
|
80
134
|
hasNext: resp.nextStart > -1,
|
|
81
135
|
next: getNextFunction(searchOptions, resp.nextStart, resp.total, searchPortal),
|
|
82
136
|
};
|
|
@@ -283,7 +337,36 @@ export const WellKnownItemFilters = {
|
|
|
283
337
|
* Only exported to enable extensive testing
|
|
284
338
|
* @param filterGroups
|
|
285
339
|
*/
|
|
286
|
-
export function
|
|
340
|
+
export function applyWellKnownItemPredicates(query) {
|
|
341
|
+
const queryClone = cloneObject(query);
|
|
342
|
+
// iterate the filters
|
|
343
|
+
queryClone.filters = queryClone.filters.map((filter) => {
|
|
344
|
+
// replace predicates with well-known types
|
|
345
|
+
filter.predicates = filter.predicates.reduce((acc, predicate) => {
|
|
346
|
+
// if the predicate has a well-known type
|
|
347
|
+
// we replace it with the set of predicates defined
|
|
348
|
+
// for the well-known type
|
|
349
|
+
if (isWellKnownTypeFilter(predicate.type)) {
|
|
350
|
+
const replacements = lookupTypePredicates(predicate.type);
|
|
351
|
+
acc = [...acc, ...replacements];
|
|
352
|
+
}
|
|
353
|
+
else {
|
|
354
|
+
// this predicate does not have a well-known type
|
|
355
|
+
// so we just keep it
|
|
356
|
+
acc.push(predicate);
|
|
357
|
+
}
|
|
358
|
+
return acc;
|
|
359
|
+
}, []);
|
|
360
|
+
return filter;
|
|
361
|
+
});
|
|
362
|
+
return queryClone;
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* DEPRECATED
|
|
366
|
+
* @param filterGroups
|
|
367
|
+
* @returns
|
|
368
|
+
*/
|
|
369
|
+
export function applyWellKnownItemFilterGroups(filterGroups) {
|
|
287
370
|
const clone = cloneObject(filterGroups);
|
|
288
371
|
// iterate the filterGroups
|
|
289
372
|
const result = clone.map((filterGroup) => {
|
|
@@ -320,7 +403,7 @@ export function applyWellKnownItemFilters(filterGroups) {
|
|
|
320
403
|
* @param key
|
|
321
404
|
* @returns
|
|
322
405
|
*/
|
|
323
|
-
function isWellKnownTypeFilter(key) {
|
|
406
|
+
export function isWellKnownTypeFilter(key) {
|
|
324
407
|
let result = false;
|
|
325
408
|
if (typeof key === "string") {
|
|
326
409
|
result = key in WellKnownItemFilters;
|
|
@@ -335,4 +418,14 @@ function isWellKnownTypeFilter(key) {
|
|
|
335
418
|
function lookupTypeFilters(key) {
|
|
336
419
|
return WellKnownItemFilters[key];
|
|
337
420
|
}
|
|
421
|
+
function lookupTypePredicates(key) {
|
|
422
|
+
const rawPredicates = WellKnownItemFilters[key];
|
|
423
|
+
// Remove the filterType property as it's not needed in an IPredicate
|
|
424
|
+
const predicates = rawPredicates.map((entry) => {
|
|
425
|
+
const c = cloneObject(entry);
|
|
426
|
+
delete c.filterType;
|
|
427
|
+
return c;
|
|
428
|
+
});
|
|
429
|
+
return predicates;
|
|
430
|
+
}
|
|
338
431
|
//# sourceMappingURL=portalSearchItems.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portalSearchItems.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchItems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EACL,WAAW,EACX,iCAAiC,EACjC,yBAAyB,EACzB,QAAQ,GACT,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,
|
|
1
|
+
{"version":3,"file":"portalSearchItems.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchItems.ts"],"names":[],"mappings":"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"}
|