@esri/hub-common 9.37.0 → 9.38.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/content/HubContent.js +68 -0
- package/dist/es2017/content/HubContent.js.map +1 -0
- package/dist/es2017/content/index.js +1 -0
- package/dist/es2017/content/index.js.map +1 -1
- package/dist/es2017/groups/HubGroups.js +63 -0
- package/dist/es2017/groups/HubGroups.js.map +1 -0
- package/dist/es2017/groups/_internal/enrichments.js +99 -0
- package/dist/es2017/groups/_internal/enrichments.js.map +1 -0
- package/dist/es2017/groups/index.js +2 -0
- package/dist/es2017/groups/index.js.map +1 -1
- package/dist/es2017/groups/types/IGroupMembershipSummary.js +1 -0
- package/dist/es2017/groups/types/IGroupMembershipSummary.js.map +1 -0
- package/dist/es2017/groups/types/index.js +2 -0
- package/dist/es2017/groups/types/index.js.map +1 -0
- package/dist/es2017/index.js +1 -0
- package/dist/es2017/index.js.map +1 -1
- package/dist/es2017/items/_enrichments.js +9 -1
- package/dist/es2017/items/_enrichments.js.map +1 -1
- package/dist/es2017/pages/HubPages.js +61 -0
- package/dist/es2017/pages/HubPages.js.map +1 -0
- package/dist/es2017/pages/index.js +2 -0
- package/dist/es2017/pages/index.js.map +1 -0
- package/dist/es2017/projects/HubProjects.js +56 -1
- package/dist/es2017/projects/HubProjects.js.map +1 -1
- package/dist/es2017/search/_internal/hubSearchItems.js +191 -0
- package/dist/es2017/search/_internal/hubSearchItems.js.map +1 -0
- package/dist/es2017/search/_internal/index.js +3 -0
- package/dist/es2017/search/_internal/index.js.map +1 -1
- package/dist/es2017/search/_internal/parseInclude.js +27 -0
- package/dist/es2017/search/_internal/parseInclude.js.map +1 -0
- package/dist/es2017/search/_internal/portalSearchGroups.js +100 -0
- package/dist/es2017/search/_internal/portalSearchGroups.js.map +1 -0
- package/dist/es2017/search/_internal/portalSearchItems.js +109 -0
- package/dist/es2017/search/_internal/portalSearchItems.js.map +1 -0
- package/dist/es2017/search/_searchContent.js +3 -0
- package/dist/es2017/search/_searchContent.js.map +1 -1
- package/dist/es2017/search/_searchGroups.js +3 -1
- package/dist/es2017/search/_searchGroups.js.map +1 -1
- package/dist/es2017/search/_searchUsers.js +3 -1
- package/dist/es2017/search/_searchUsers.js.map +1 -1
- package/dist/es2017/search/content-utils.js +36 -4
- package/dist/es2017/search/content-utils.js.map +1 -1
- package/dist/es2017/search/filter-utils.js +18 -3
- package/dist/es2017/search/filter-utils.js.map +1 -1
- package/dist/es2017/search/group-utils.js +8 -1
- package/dist/es2017/search/group-utils.js.map +1 -1
- package/dist/es2017/search/hubSearch.js +48 -0
- package/dist/es2017/search/hubSearch.js.map +1 -0
- package/dist/es2017/search/index.js +1 -0
- package/dist/es2017/search/index.js.map +1 -1
- package/dist/es2017/search/user-utils.js +8 -1
- package/dist/es2017/search/user-utils.js.map +1 -1
- package/dist/es2017/search/utils.js +5 -0
- package/dist/es2017/search/utils.js.map +1 -1
- package/dist/es2017/sites/HubSites.js +55 -1
- package/dist/es2017/sites/HubSites.js.map +1 -1
- package/dist/es2017/urls/getGroupHomeUrl.js +12 -0
- package/dist/es2017/urls/getGroupHomeUrl.js.map +1 -0
- package/dist/es2017/urls/index.js +1 -0
- package/dist/es2017/urls/index.js.map +1 -1
- package/dist/esm/content/HubContent.js +75 -0
- package/dist/esm/content/HubContent.js.map +1 -0
- package/dist/esm/content/index.js +1 -0
- package/dist/esm/content/index.js.map +1 -1
- package/dist/esm/groups/HubGroups.js +70 -0
- package/dist/esm/groups/HubGroups.js.map +1 -0
- package/dist/esm/groups/_internal/enrichments.js +100 -0
- package/dist/esm/groups/_internal/enrichments.js.map +1 -0
- package/dist/esm/groups/index.js +2 -0
- package/dist/esm/groups/index.js.map +1 -1
- package/dist/esm/groups/types/IGroupMembershipSummary.js +1 -0
- package/dist/esm/groups/types/IGroupMembershipSummary.js.map +1 -0
- package/dist/esm/groups/types/index.js +2 -0
- package/dist/esm/groups/types/index.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/items/_enrichments.js +9 -1
- package/dist/esm/items/_enrichments.js.map +1 -1
- package/dist/esm/pages/HubPages.js +68 -0
- package/dist/esm/pages/HubPages.js.map +1 -0
- package/dist/esm/pages/index.js +2 -0
- package/dist/esm/pages/index.js.map +1 -0
- package/dist/esm/projects/HubProjects.js +63 -2
- package/dist/esm/projects/HubProjects.js.map +1 -1
- package/dist/esm/search/_internal/hubSearchItems.js +204 -0
- package/dist/esm/search/_internal/hubSearchItems.js.map +1 -0
- package/dist/esm/search/_internal/index.js +3 -0
- package/dist/esm/search/_internal/index.js.map +1 -1
- package/dist/esm/search/_internal/parseInclude.js +27 -0
- package/dist/esm/search/_internal/parseInclude.js.map +1 -0
- package/dist/esm/search/_internal/portalSearchGroups.js +114 -0
- package/dist/esm/search/_internal/portalSearchGroups.js.map +1 -0
- package/dist/esm/search/_internal/portalSearchItems.js +123 -0
- package/dist/esm/search/_internal/portalSearchItems.js.map +1 -0
- package/dist/esm/search/_searchContent.js +3 -0
- package/dist/esm/search/_searchContent.js.map +1 -1
- package/dist/esm/search/_searchGroups.js +3 -1
- package/dist/esm/search/_searchGroups.js.map +1 -1
- package/dist/esm/search/_searchUsers.js +3 -1
- package/dist/esm/search/_searchUsers.js.map +1 -1
- package/dist/esm/search/content-utils.js +38 -4
- package/dist/esm/search/content-utils.js.map +1 -1
- package/dist/esm/search/filter-utils.js +16 -3
- package/dist/esm/search/filter-utils.js.map +1 -1
- package/dist/esm/search/group-utils.js +8 -1
- package/dist/esm/search/group-utils.js.map +1 -1
- package/dist/esm/search/hubSearch.js +52 -0
- package/dist/esm/search/hubSearch.js.map +1 -0
- package/dist/esm/search/index.js +1 -0
- package/dist/esm/search/index.js.map +1 -1
- package/dist/esm/search/user-utils.js +8 -1
- package/dist/esm/search/user-utils.js.map +1 -1
- package/dist/esm/search/utils.js +5 -0
- package/dist/esm/search/utils.js.map +1 -1
- package/dist/esm/sites/HubSites.js +62 -2
- package/dist/esm/sites/HubSites.js.map +1 -1
- package/dist/esm/urls/getGroupHomeUrl.js +12 -0
- package/dist/esm/urls/getGroupHomeUrl.js.map +1 -0
- package/dist/esm/urls/index.js +1 -0
- package/dist/esm/urls/index.js.map +1 -1
- package/dist/node/content/HubContent.js +72 -0
- package/dist/node/content/HubContent.js.map +1 -0
- package/dist/node/content/index.js +1 -0
- package/dist/node/content/index.js.map +1 -1
- package/dist/node/groups/HubGroups.js +67 -0
- package/dist/node/groups/HubGroups.js.map +1 -0
- package/dist/node/groups/_internal/enrichments.js +103 -0
- package/dist/node/groups/_internal/enrichments.js.map +1 -0
- package/dist/node/groups/index.js +2 -0
- package/dist/node/groups/index.js.map +1 -1
- package/dist/node/groups/types/IGroupMembershipSummary.js +3 -0
- package/dist/node/groups/types/IGroupMembershipSummary.js.map +1 -0
- package/dist/node/groups/types/index.js +5 -0
- package/dist/node/groups/types/index.js.map +1 -0
- package/dist/node/index.js +1 -0
- package/dist/node/index.js.map +1 -1
- package/dist/node/items/_enrichments.js +9 -1
- package/dist/node/items/_enrichments.js.map +1 -1
- package/dist/node/pages/HubPages.js +65 -0
- package/dist/node/pages/HubPages.js.map +1 -0
- package/dist/node/pages/index.js +5 -0
- package/dist/node/pages/index.js.map +1 -0
- package/dist/node/projects/HubProjects.js +57 -1
- package/dist/node/projects/HubProjects.js.map +1 -1
- package/dist/node/search/_internal/hubSearchItems.js +198 -0
- package/dist/node/search/_internal/hubSearchItems.js.map +1 -0
- package/dist/node/search/_internal/index.js +3 -0
- package/dist/node/search/_internal/index.js.map +1 -1
- package/dist/node/search/_internal/parseInclude.js +31 -0
- package/dist/node/search/_internal/parseInclude.js.map +1 -0
- package/dist/node/search/_internal/portalSearchGroups.js +104 -0
- package/dist/node/search/_internal/portalSearchGroups.js.map +1 -0
- package/dist/node/search/_internal/portalSearchItems.js +113 -0
- package/dist/node/search/_internal/portalSearchItems.js.map +1 -0
- package/dist/node/search/_searchContent.js +3 -0
- package/dist/node/search/_searchContent.js.map +1 -1
- package/dist/node/search/_searchGroups.js +2 -0
- package/dist/node/search/_searchGroups.js.map +1 -1
- package/dist/node/search/_searchUsers.js +2 -0
- package/dist/node/search/_searchUsers.js.map +1 -1
- package/dist/node/search/content-utils.js +38 -5
- package/dist/node/search/content-utils.js.map +1 -1
- package/dist/node/search/filter-utils.js +18 -3
- package/dist/node/search/filter-utils.js.map +1 -1
- package/dist/node/search/group-utils.js +7 -0
- package/dist/node/search/group-utils.js.map +1 -1
- package/dist/node/search/hubSearch.js +52 -0
- package/dist/node/search/hubSearch.js.map +1 -0
- package/dist/node/search/index.js +1 -0
- package/dist/node/search/index.js.map +1 -1
- package/dist/node/search/user-utils.js +7 -0
- package/dist/node/search/user-utils.js.map +1 -1
- package/dist/node/search/utils.js +5 -0
- package/dist/node/search/utils.js.map +1 -1
- package/dist/node/sites/HubSites.js +56 -1
- package/dist/node/sites/HubSites.js.map +1 -1
- package/dist/node/urls/getGroupHomeUrl.js +16 -0
- package/dist/node/urls/getGroupHomeUrl.js.map +1 -0
- package/dist/node/urls/index.js +1 -0
- package/dist/node/urls/index.js.map +1 -1
- package/dist/types/content/HubContent.d.ts +11 -0
- package/dist/types/content/index.d.ts +1 -0
- package/dist/types/groups/HubGroups.d.ts +11 -0
- package/dist/types/groups/_internal/enrichments.d.ts +30 -0
- package/dist/types/groups/index.d.ts +2 -0
- package/dist/types/groups/types/IGroupMembershipSummary.d.ts +15 -0
- package/dist/types/groups/types/index.d.ts +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/pages/HubPages.d.ts +11 -0
- package/dist/types/pages/index.d.ts +1 -0
- package/dist/types/projects/HubProjects.d.ts +10 -1
- package/dist/types/search/_internal/hubSearchItems.d.ts +18 -0
- package/dist/types/search/_internal/index.d.ts +3 -0
- package/dist/types/search/_internal/parseInclude.d.ts +32 -0
- package/dist/types/search/_internal/portalSearchGroups.d.ts +9 -0
- package/dist/types/search/_internal/portalSearchItems.d.ts +9 -0
- package/dist/types/search/content-utils.d.ts +9 -1
- package/dist/types/search/hubSearch.d.ts +11 -0
- package/dist/types/search/index.d.ts +1 -0
- package/dist/types/search/types/ICollection.d.ts +8 -0
- package/dist/types/search/types/IHubSearchOptions.d.ts +46 -5
- package/dist/types/search/types/IHubSearchResult.d.ts +46 -2
- package/dist/types/search/types/types.d.ts +13 -15
- package/dist/types/sites/HubSites.d.ts +9 -1
- package/dist/types/urls/getGroupHomeUrl.d.ts +10 -0
- package/dist/types/urls/index.d.ts +1 -0
- package/dist/umd/common.umd.js +8002 -6976
- package/dist/umd/common.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { setProp } from "../../objects";
|
|
2
|
+
import { cloneObject } from "../../util";
|
|
3
|
+
import { expandApi } from "../utils";
|
|
4
|
+
// ## ## ####### ######## ########
|
|
5
|
+
// ### ## ## ## ## ##
|
|
6
|
+
// #### ## ## ## ## ##
|
|
7
|
+
// ## ## ## ## ## ## ######
|
|
8
|
+
// ## #### ## ## ## ##
|
|
9
|
+
// ## ### ## ## ## ##
|
|
10
|
+
// ## ## ####### ## ########
|
|
11
|
+
//
|
|
12
|
+
// Since Hub API is still in flux, there is no code coverage for this file
|
|
13
|
+
/**
|
|
14
|
+
* Execute item search against the Hub API
|
|
15
|
+
* @param filter
|
|
16
|
+
* @param options
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
/* istanbul ignore next */
|
|
20
|
+
export async function hubSearchItems(filters, options) {
|
|
21
|
+
var _a;
|
|
22
|
+
// TODO: better mapping from api to apiUrl
|
|
23
|
+
const api = expandApi(options.api || "hub");
|
|
24
|
+
const apiUrl = `${api.url}/api/items/beta/search`;
|
|
25
|
+
// Purge filterType from the filters array
|
|
26
|
+
const cleanFilters = [];
|
|
27
|
+
filters.forEach((block) => {
|
|
28
|
+
const b = {
|
|
29
|
+
operation: block.operation,
|
|
30
|
+
filters: block.filters.map((f) => {
|
|
31
|
+
const c = cloneObject(f);
|
|
32
|
+
delete c.filterType;
|
|
33
|
+
return c;
|
|
34
|
+
}),
|
|
35
|
+
};
|
|
36
|
+
cleanFilters.push(b);
|
|
37
|
+
});
|
|
38
|
+
const searchRequest = {
|
|
39
|
+
q: cleanFilters,
|
|
40
|
+
options: {
|
|
41
|
+
num: options.num || 10,
|
|
42
|
+
start: options.start || 1,
|
|
43
|
+
sortField: options.sortField,
|
|
44
|
+
sortOrder: options.sortOrder,
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
// Add optional props via setProp b/c typescript really does not like
|
|
48
|
+
// adding properties after defining an object
|
|
49
|
+
if ((_a = options.aggFields) === null || _a === void 0 ? void 0 : _a.length) {
|
|
50
|
+
const aggs = [
|
|
51
|
+
{
|
|
52
|
+
mode: "terms",
|
|
53
|
+
fields: options.aggFields,
|
|
54
|
+
num: options.aggLimit || 10,
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
setProp("aggregations", aggs, searchRequest.options);
|
|
58
|
+
}
|
|
59
|
+
if (options.authentication) {
|
|
60
|
+
const session = {
|
|
61
|
+
token: options.authentication.token,
|
|
62
|
+
portal: options.authentication.portal,
|
|
63
|
+
};
|
|
64
|
+
setProp("session", session, searchRequest.options);
|
|
65
|
+
}
|
|
66
|
+
const opts = {
|
|
67
|
+
method: "POST",
|
|
68
|
+
mode: "cors",
|
|
69
|
+
cache: "no-cache",
|
|
70
|
+
headers: {
|
|
71
|
+
"Content-Type": "application/json",
|
|
72
|
+
},
|
|
73
|
+
body: JSON.stringify(searchRequest),
|
|
74
|
+
};
|
|
75
|
+
try {
|
|
76
|
+
const raw = await fetch(apiUrl, opts);
|
|
77
|
+
const json = await raw.json();
|
|
78
|
+
let token;
|
|
79
|
+
if (options.authentication) {
|
|
80
|
+
const us = options.authentication;
|
|
81
|
+
token = us.token;
|
|
82
|
+
}
|
|
83
|
+
const tokenizeThubmnailUrl = (entry) => {
|
|
84
|
+
if (token && entry.attributes.access !== "public") {
|
|
85
|
+
entry.attributes.thumbnailUrl = `${entry.attributes.thumbnailUrl}?token=${token}`;
|
|
86
|
+
}
|
|
87
|
+
return entry;
|
|
88
|
+
};
|
|
89
|
+
json.data = json.data.map(tokenizeThubmnailUrl);
|
|
90
|
+
// convert items to IHubSerchResult
|
|
91
|
+
const conversion = (entry) => {
|
|
92
|
+
return hubContentToSearchResult(jsonApiToHubContent(entry));
|
|
93
|
+
};
|
|
94
|
+
const results = await Promise.all(json.data.map(conversion));
|
|
95
|
+
const facets = convertHubResponseToFacets(json);
|
|
96
|
+
// now transform into a IHubSearchResponse
|
|
97
|
+
const response = {
|
|
98
|
+
total: json.meta.total,
|
|
99
|
+
results,
|
|
100
|
+
facets,
|
|
101
|
+
hasNext: json.meta.hasNext,
|
|
102
|
+
next: () => {
|
|
103
|
+
// tslint:disable-next-line
|
|
104
|
+
Promise.resolve(null);
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
return Promise.resolve(response);
|
|
108
|
+
}
|
|
109
|
+
catch (ex) {
|
|
110
|
+
// TODO: Turn into a formal error
|
|
111
|
+
throw ex;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Re-structure a jsonApi data entry into a flat object cast into
|
|
116
|
+
* IHubContent
|
|
117
|
+
* @param data
|
|
118
|
+
* @returns
|
|
119
|
+
*/
|
|
120
|
+
/* istanbul ignore next */
|
|
121
|
+
export function jsonApiToHubContent(data) {
|
|
122
|
+
const content = cloneObject(data.attributes);
|
|
123
|
+
content.id = data.id;
|
|
124
|
+
return content;
|
|
125
|
+
}
|
|
126
|
+
/* istanbul ignore next */
|
|
127
|
+
export function hubContentToSearchResult(content) {
|
|
128
|
+
const result = {
|
|
129
|
+
access: content.access,
|
|
130
|
+
id: content.id,
|
|
131
|
+
type: content.type,
|
|
132
|
+
name: content.name,
|
|
133
|
+
owner: content.owner,
|
|
134
|
+
summary: content.snippet || content.description,
|
|
135
|
+
createdDate: new Date(content.createdDate),
|
|
136
|
+
createdDateSource: content.createdDateSource,
|
|
137
|
+
updatedDate: new Date(content.updatedDate),
|
|
138
|
+
updatedDateSource: content.updatedDateSource,
|
|
139
|
+
thumbnailUrl: content.thumbnailUrl,
|
|
140
|
+
metadata: [],
|
|
141
|
+
family: content.family,
|
|
142
|
+
urls: {
|
|
143
|
+
portalHome: "not-implemented",
|
|
144
|
+
relative: "not-implemented",
|
|
145
|
+
},
|
|
146
|
+
};
|
|
147
|
+
// TODO: Per-type plucking of props into the `meta` hash for use in the card components
|
|
148
|
+
return Promise.resolve(result);
|
|
149
|
+
}
|
|
150
|
+
/* istanbul ignore next */
|
|
151
|
+
export function convertHubResponseToFacets(response, operation = "OR") {
|
|
152
|
+
var _a;
|
|
153
|
+
const result = [];
|
|
154
|
+
if ((_a = response.meta) === null || _a === void 0 ? void 0 : _a.aggregations) {
|
|
155
|
+
const meta = response.meta;
|
|
156
|
+
meta.aggregations.forEach((entry) => {
|
|
157
|
+
// Dyanmic facets typically "AND" so we are refining
|
|
158
|
+
const facet = {
|
|
159
|
+
label: entry.field,
|
|
160
|
+
key: entry.field,
|
|
161
|
+
aggField: entry.field,
|
|
162
|
+
display: "multi-select",
|
|
163
|
+
operation,
|
|
164
|
+
};
|
|
165
|
+
const options = [];
|
|
166
|
+
entry.values.forEach((fv) => {
|
|
167
|
+
const filter = {
|
|
168
|
+
filterType: "item",
|
|
169
|
+
};
|
|
170
|
+
// construct the filter based on the operation
|
|
171
|
+
const matchKey = operation === "OR" ? "any" : "all";
|
|
172
|
+
const filterMatchOption = {};
|
|
173
|
+
filterMatchOption[matchKey] = [fv.value];
|
|
174
|
+
filter[entry.field] = filterMatchOption;
|
|
175
|
+
// construct the FacetOption
|
|
176
|
+
const fo = {
|
|
177
|
+
label: `${fv.value} (${fv.count})`,
|
|
178
|
+
key: fv.value,
|
|
179
|
+
count: fv.count,
|
|
180
|
+
selected: false,
|
|
181
|
+
filters: [filter],
|
|
182
|
+
};
|
|
183
|
+
options.push(fo);
|
|
184
|
+
});
|
|
185
|
+
facet.options = options;
|
|
186
|
+
result.push(facet);
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
return result;
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=hubSearchItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hubSearchItems.js","sourceRoot":"","sources":["../../../../src/search/_internal/hubSearchItems.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/search/_internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/search/_internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse an IncludeSpec from the include string
|
|
3
|
+
* Include String structure:
|
|
4
|
+
* - `enrichment{.deep.path} AS propertyName`
|
|
5
|
+
*
|
|
6
|
+
* Examples
|
|
7
|
+
* - `server.layers.0.name as layerName` -> use the `server` enrichment, extract the name of the first layer and attach that as `layerName`
|
|
8
|
+
* - `server.layers` -> use the `server` enrichment, attach the `layers` array as `layers`
|
|
9
|
+
* @param include
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export function parseInclude(include) {
|
|
13
|
+
// TODO: Validate enrichment? Not clear how we'd do that other than a manully maintained string list
|
|
14
|
+
const parts = include.split(" AS ");
|
|
15
|
+
const path = parts[0];
|
|
16
|
+
const prop = parts[1] || path.split(".").reverse()[0];
|
|
17
|
+
const enrichment = path.split(".")[0];
|
|
18
|
+
// We need the actual list of string values so we can verify
|
|
19
|
+
// what we get in, is infact a valid enrichment.
|
|
20
|
+
const spec = {
|
|
21
|
+
enrichment,
|
|
22
|
+
path,
|
|
23
|
+
prop,
|
|
24
|
+
};
|
|
25
|
+
return spec;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=parseInclude.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseInclude.js","sourceRoot":"","sources":["../../../../src/search/_internal/parseInclude.ts"],"names":[],"mappings":"AAsBA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,oGAAoG;IACpG,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAsC,CAAC;IAC3E,4DAA4D;IAC5D,gDAAgD;IAChD,MAAM,IAAI,GAAiB;QACzB,UAAU;QACV,IAAI;QACJ,IAAI;KACL,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { searchGroups } from "@esri/arcgis-rest-portal";
|
|
2
|
+
import { enrichGroupSearchResult } from "../../groups/HubGroups";
|
|
3
|
+
import { expandFilter, serializeFilterGroupsForPortal } from "../filter-utils";
|
|
4
|
+
import { expandApi, getNextFunction } from "../utils";
|
|
5
|
+
/**
|
|
6
|
+
* @private
|
|
7
|
+
* Portal Search Implementation for Items
|
|
8
|
+
* @param filterGroups
|
|
9
|
+
* @param options
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export async function portalSearchGroups(filterGroups, options) {
|
|
13
|
+
// API
|
|
14
|
+
const api = expandApi(options.api || "arcgis");
|
|
15
|
+
if (!options.requestOptions) {
|
|
16
|
+
if (options.authentication) {
|
|
17
|
+
// create minimal requestOptions
|
|
18
|
+
options.requestOptions = {
|
|
19
|
+
authentication: options.authentication,
|
|
20
|
+
portal: options.authentication.portal,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
options.requestOptions = {
|
|
25
|
+
portal: `${api.url}/sharing/rest`,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// Expand the individual filters in each of the groups
|
|
30
|
+
const expandedGroups = filterGroups.map((fg) => {
|
|
31
|
+
fg.filters = fg.filters.map(expandFilter);
|
|
32
|
+
return fg;
|
|
33
|
+
});
|
|
34
|
+
// Serialize the all the groups for portal
|
|
35
|
+
const so = serializeFilterGroupsForPortal(expandedGroups);
|
|
36
|
+
// Array of properties we want to copy from IHubSearchOptions to the ISearchOptions
|
|
37
|
+
const props = [
|
|
38
|
+
"authentication",
|
|
39
|
+
"num",
|
|
40
|
+
"sortField",
|
|
41
|
+
"sortOrder",
|
|
42
|
+
"include",
|
|
43
|
+
"start",
|
|
44
|
+
"requestOptions",
|
|
45
|
+
];
|
|
46
|
+
// copy the props over
|
|
47
|
+
props.forEach((prop) => {
|
|
48
|
+
if (options.hasOwnProperty(prop)) {
|
|
49
|
+
so[prop] = options[prop];
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
// If we don't have auth, ensure we have .portal
|
|
53
|
+
if (!so.authentication) {
|
|
54
|
+
so.portal = so.requestOptions.portal || `${api.url}/sharing/rest`;
|
|
55
|
+
}
|
|
56
|
+
return searchPortal(so);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Internal portal search, which then converts `IGroup`s to `IHubSearchResult`s
|
|
60
|
+
* handling enrichments & includes along the way
|
|
61
|
+
*
|
|
62
|
+
* @param searchOptions
|
|
63
|
+
* @returns
|
|
64
|
+
*/
|
|
65
|
+
async function searchPortal(searchOptions) {
|
|
66
|
+
// Execute portal search
|
|
67
|
+
const resp = await searchGroups(searchOptions);
|
|
68
|
+
// create mappable fn that will close
|
|
69
|
+
// over the includes and requestOptions
|
|
70
|
+
const fn = (item) => {
|
|
71
|
+
return groupToSearchResult(item, searchOptions.include, searchOptions.requestOptions);
|
|
72
|
+
};
|
|
73
|
+
// map over results
|
|
74
|
+
const results = await Promise.all(resp.results.map(fn));
|
|
75
|
+
// Group Search does not support aggregations
|
|
76
|
+
// Construct the return
|
|
77
|
+
return {
|
|
78
|
+
total: resp.total,
|
|
79
|
+
results,
|
|
80
|
+
facets: [],
|
|
81
|
+
hasNext: resp.nextStart > -1,
|
|
82
|
+
next: getNextFunction(searchOptions, resp.nextStart, resp.total, searchPortal),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Convert an Item to a IHubSearchResult
|
|
87
|
+
* Fetches the includes and attaches them to the item
|
|
88
|
+
* @param item
|
|
89
|
+
* @param includes
|
|
90
|
+
* @param requestOptions
|
|
91
|
+
* @returns
|
|
92
|
+
*/
|
|
93
|
+
async function groupToSearchResult(group, includes = [], requestOptions) {
|
|
94
|
+
// Delegate to HubGroups module
|
|
95
|
+
// This layer of indirection is not necessary but
|
|
96
|
+
// aligns with how the items search works and
|
|
97
|
+
// allows for future specialization
|
|
98
|
+
return enrichGroupSearchResult(group, includes, requestOptions);
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=portalSearchGroups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portalSearchGroups.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchGroups.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { searchItems } from "@esri/arcgis-rest-portal";
|
|
2
|
+
import { convertPortalItemResponseToFacets, enrichContentSearchResult, HubError, } from "../..";
|
|
3
|
+
import { enrichPageSearchResult } from "../../pages/HubPages";
|
|
4
|
+
import { enrichProjectSearchResult } from "../../projects";
|
|
5
|
+
import { enrichSiteSearchResult } from "../../sites";
|
|
6
|
+
import { expandFilter, serializeFilterGroupsForPortal } from "../filter-utils";
|
|
7
|
+
import { getNextFunction } from "../utils";
|
|
8
|
+
/**
|
|
9
|
+
* @private
|
|
10
|
+
* Portal Search Implementation for Items
|
|
11
|
+
* @param filterGroups
|
|
12
|
+
* @param options
|
|
13
|
+
* @returns
|
|
14
|
+
*/
|
|
15
|
+
export async function portalSearchItems(filterGroups, options) {
|
|
16
|
+
var _a;
|
|
17
|
+
if (!options.requestOptions) {
|
|
18
|
+
throw new HubError("hubSearch", "requestOptions: IHubRequestOptions is required.");
|
|
19
|
+
}
|
|
20
|
+
// Expand the individual filters in each of the groups
|
|
21
|
+
const expandedGroups = filterGroups.map((fg) => {
|
|
22
|
+
fg.filters = fg.filters.map(expandFilter);
|
|
23
|
+
return fg;
|
|
24
|
+
});
|
|
25
|
+
// Serialize the all the groups for portal
|
|
26
|
+
const so = serializeFilterGroupsForPortal(expandedGroups);
|
|
27
|
+
// Array of properties we want to copy from IHubSearchOptions to the ISearchOptions
|
|
28
|
+
const props = [
|
|
29
|
+
"num",
|
|
30
|
+
"sortField",
|
|
31
|
+
"sortOrder",
|
|
32
|
+
"include",
|
|
33
|
+
"start",
|
|
34
|
+
"requestOptions",
|
|
35
|
+
];
|
|
36
|
+
// copy the props over
|
|
37
|
+
props.forEach((prop) => {
|
|
38
|
+
if (options.hasOwnProperty(prop)) {
|
|
39
|
+
so[prop] = options[prop];
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
if (options.requestOptions.authentication) {
|
|
43
|
+
so.authentication = options.requestOptions.authentication;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
so.portal = options.requestOptions.portal;
|
|
47
|
+
}
|
|
48
|
+
// Aggregations
|
|
49
|
+
if ((_a = options.aggFields) === null || _a === void 0 ? void 0 : _a.length) {
|
|
50
|
+
so.countFields = options.aggFields.join(",");
|
|
51
|
+
so.countSize = options.aggLimit || 10;
|
|
52
|
+
}
|
|
53
|
+
return searchPortal(so);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Internal portal search, which then converts `IItem`s to `IHubSearchResult`s
|
|
57
|
+
* handling enrichments & includes along the way
|
|
58
|
+
*
|
|
59
|
+
* @param searchOptions
|
|
60
|
+
* @returns
|
|
61
|
+
*/
|
|
62
|
+
async function searchPortal(searchOptions) {
|
|
63
|
+
// Execute portal search
|
|
64
|
+
const resp = await searchItems(searchOptions);
|
|
65
|
+
// create mappable fn that will handle the includes
|
|
66
|
+
const fn = (item) => {
|
|
67
|
+
return itemToSearchResult(item, searchOptions.includes, searchOptions.requestOptions);
|
|
68
|
+
};
|
|
69
|
+
// map over results
|
|
70
|
+
const results = await Promise.all(resp.results.map(fn));
|
|
71
|
+
// convert aggregations into facets
|
|
72
|
+
const facets = convertPortalItemResponseToFacets(resp);
|
|
73
|
+
// Construct the return
|
|
74
|
+
return {
|
|
75
|
+
total: resp.total,
|
|
76
|
+
results,
|
|
77
|
+
facets,
|
|
78
|
+
hasNext: resp.nextStart > -1,
|
|
79
|
+
next: getNextFunction(searchOptions, resp.nextStart, resp.total, searchPortal),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Convert an `IItem` to a `IHubSearchResult`
|
|
84
|
+
* Fetches the enrichments, and attaches them as directed in the `include` list
|
|
85
|
+
* @param item
|
|
86
|
+
* @param includes
|
|
87
|
+
* @param requestOptions
|
|
88
|
+
* @returns
|
|
89
|
+
*/
|
|
90
|
+
async function itemToSearchResult(item, includes = [], requestOptions) {
|
|
91
|
+
// based on the type, we delegate to type-specific functions
|
|
92
|
+
// this allows each type to apply "default" enrichments
|
|
93
|
+
let fn = enrichContentSearchResult;
|
|
94
|
+
switch (item.type) {
|
|
95
|
+
case "Hub Site Application":
|
|
96
|
+
case "Site Application":
|
|
97
|
+
fn = enrichSiteSearchResult;
|
|
98
|
+
break;
|
|
99
|
+
case "Hub Page":
|
|
100
|
+
case "Site Page":
|
|
101
|
+
fn = enrichPageSearchResult;
|
|
102
|
+
break;
|
|
103
|
+
case "Hub Project":
|
|
104
|
+
fn = enrichProjectSearchResult;
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
return fn(item, includes, requestOptions);
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=portalSearchItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portalSearchItems.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchItems.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,8 @@ import { expandContentFilter, serializeContentFilterForPortal, convertPortalResp
|
|
|
2
2
|
import { searchItems } from "@esri/arcgis-rest-portal";
|
|
3
3
|
import { expandApi, getNextFunction } from "./utils";
|
|
4
4
|
import { getItemThumbnailUrl, itemToContent, setContentSiteUrls, } from "..";
|
|
5
|
+
import { Logger } from "../utils";
|
|
6
|
+
// TODO: Remove with _searchContent
|
|
5
7
|
/**
|
|
6
8
|
* Search for content via the Portal or Hub API
|
|
7
9
|
* @param filter
|
|
@@ -9,6 +11,7 @@ import { getItemThumbnailUrl, itemToContent, setContentSiteUrls, } from "..";
|
|
|
9
11
|
*/
|
|
10
12
|
export async function _searchContent(filter, options) {
|
|
11
13
|
var _a, _b;
|
|
14
|
+
Logger.warn(`DEPRECATION: _searchContent will be removed; switch to hubSearch(...)`);
|
|
12
15
|
// expand filter so we can serialize to either api
|
|
13
16
|
const expanded = expandContentFilter(filter);
|
|
14
17
|
// API
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_searchContent.js","sourceRoot":"","sources":["../../../src/search/_searchContent.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAkB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EACL,mBAAmB,EAGnB,aAAa,EACb,kBAAkB,GACnB,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"_searchContent.js","sourceRoot":"","sources":["../../../src/search/_searchContent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { searchGroups as portalGroupSearch } from "@esri/arcgis-rest-portal";
|
|
2
2
|
import { expandApi, getNextFunction } from ".";
|
|
3
3
|
import { expandGroupFilter, serializeGroupFilterForPortal, } from "./group-utils";
|
|
4
|
-
import { getGroupThumbnailUrl } from "..";
|
|
4
|
+
import { getGroupThumbnailUrl, Logger } from "..";
|
|
5
|
+
// TODO: Remove with _searchContent
|
|
5
6
|
/**
|
|
6
7
|
* Search Groups using Filter<"group">
|
|
7
8
|
*
|
|
@@ -11,6 +12,7 @@ import { getGroupThumbnailUrl } from "..";
|
|
|
11
12
|
* @returns
|
|
12
13
|
*/
|
|
13
14
|
export async function _searchGroups(filter, options) {
|
|
15
|
+
Logger.warn(`DEPRECATION: _searchGroups will be removed; switch to hubSearch(...)`);
|
|
14
16
|
// expand filter so we can serialize to either api
|
|
15
17
|
const expanded = expandGroupFilter(filter);
|
|
16
18
|
// API
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_searchGroups.js","sourceRoot":"","sources":["../../../src/search/_searchGroups.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC;AAC/C,OAAO,EACL,iBAAiB,EACjB,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,oBAAoB,EAAmB,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"_searchGroups.js","sourceRoot":"","sources":["../../../src/search/_searchGroups.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { expandApi, expandUserFilter, getNextFunction, getUserThumbnailUrl, serializeUserFilterForPortal, } from "..";
|
|
1
|
+
import { expandApi, expandUserFilter, getNextFunction, getUserThumbnailUrl, Logger, serializeUserFilterForPortal, } from "..";
|
|
2
2
|
import { searchUsers as portalUserSearch, } from "@esri/arcgis-rest-portal";
|
|
3
|
+
// TODO: Remove with _searchContent
|
|
3
4
|
/**
|
|
4
5
|
* Search for Users via the Portal API.
|
|
5
6
|
*
|
|
@@ -12,6 +13,7 @@ import { searchUsers as portalUserSearch, } from "@esri/arcgis-rest-portal";
|
|
|
12
13
|
* @returns
|
|
13
14
|
*/
|
|
14
15
|
export async function _searchUsers(filter, options) {
|
|
16
|
+
Logger.warn(`DEPRECATION: _searchUsers will be removed; switch to hubSearch(...)`);
|
|
15
17
|
// JS Clients may not pass in authentication
|
|
16
18
|
if (!options.authentication) {
|
|
17
19
|
throw new Error("Authentication required to search for users.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_searchUsers.js","sourceRoot":"","sources":["../../../src/search/_searchUsers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_searchUsers.js","sourceRoot":"","sources":["../../../src/search/_searchUsers.ts"],"names":[],"mappings":"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"}
|