@esri/hub-common 9.40.0 → 9.41.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/index.js +1 -0
- package/dist/es2017/index.js.map +1 -1
- package/dist/es2017/search/_internal/portalSearchGroups.js.map +1 -1
- package/dist/es2017/search/_internal/portalSearchUsers.js +89 -0
- package/dist/es2017/search/_internal/portalSearchUsers.js.map +1 -0
- package/dist/es2017/search/hubSearch.js +4 -1
- package/dist/es2017/search/hubSearch.js.map +1 -1
- package/dist/es2017/urls/getUserHomeUrl.js +12 -0
- package/dist/es2017/urls/getUserHomeUrl.js.map +1 -0
- package/dist/es2017/urls/index.js +1 -0
- package/dist/es2017/urls/index.js.map +1 -1
- package/dist/es2017/users/HubUsers.js +64 -0
- package/dist/es2017/users/HubUsers.js.map +1 -0
- package/dist/es2017/users/_internal/enrichments.js +85 -0
- package/dist/es2017/users/_internal/enrichments.js.map +1 -0
- package/dist/es2017/users/index.js +2 -0
- package/dist/es2017/users/index.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/search/_internal/portalSearchGroups.js.map +1 -1
- package/dist/esm/search/_internal/portalSearchUsers.js +104 -0
- package/dist/esm/search/_internal/portalSearchUsers.js.map +1 -0
- package/dist/esm/search/hubSearch.js +4 -1
- package/dist/esm/search/hubSearch.js.map +1 -1
- package/dist/esm/urls/getUserHomeUrl.js +12 -0
- package/dist/esm/urls/getUserHomeUrl.js.map +1 -0
- package/dist/esm/urls/index.js +1 -0
- package/dist/esm/urls/index.js.map +1 -1
- package/dist/esm/users/HubUsers.js +66 -0
- package/dist/esm/users/HubUsers.js.map +1 -0
- package/dist/esm/users/_internal/enrichments.js +86 -0
- package/dist/esm/users/_internal/enrichments.js.map +1 -0
- package/dist/esm/users/index.js +2 -0
- package/dist/esm/users/index.js.map +1 -0
- package/dist/node/index.js +1 -0
- package/dist/node/index.js.map +1 -1
- package/dist/node/search/_internal/portalSearchGroups.js.map +1 -1
- package/dist/node/search/_internal/portalSearchUsers.js +93 -0
- package/dist/node/search/_internal/portalSearchUsers.js.map +1 -0
- package/dist/node/search/hubSearch.js +4 -1
- package/dist/node/search/hubSearch.js.map +1 -1
- package/dist/node/urls/getUserHomeUrl.js +16 -0
- package/dist/node/urls/getUserHomeUrl.js.map +1 -0
- package/dist/node/urls/index.js +1 -0
- package/dist/node/urls/index.js.map +1 -1
- package/dist/node/users/HubUsers.js +68 -0
- package/dist/node/users/HubUsers.js.map +1 -0
- package/dist/node/users/_internal/enrichments.js +89 -0
- package/dist/node/users/_internal/enrichments.js.map +1 -0
- package/dist/node/users/index.js +5 -0
- package/dist/node/users/index.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/search/_internal/portalSearchUsers.d.ts +8 -0
- package/dist/types/search/types/types.d.ts +17 -1
- package/dist/types/urls/getUserHomeUrl.d.ts +10 -0
- package/dist/types/urls/index.d.ts +1 -0
- package/dist/types/users/HubUsers.d.ts +11 -0
- package/dist/types/users/_internal/enrichments.d.ts +28 -0
- package/dist/types/users/index.d.ts +1 -0
- package/dist/umd/common.umd.js +274 -23
- package/dist/umd/common.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/es2017/index.js
CHANGED
|
@@ -28,6 +28,7 @@ export * from "./utils";
|
|
|
28
28
|
export * from "./Hub";
|
|
29
29
|
export * from "./pages";
|
|
30
30
|
export * from "./org";
|
|
31
|
+
export * from "./users";
|
|
31
32
|
import OperationStack from "./OperationStack";
|
|
32
33
|
import OperationError from "./OperationError";
|
|
33
34
|
import HubError from "./HubError";
|
package/dist/es2017/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAEhB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAEhB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AAExB,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC"}
|
|
@@ -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;AAO/E,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,YAA0C,EAC1C,OAA0B;IAE1B,MAAM;IACN,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;IAE/C,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;QAC3B,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,gCAAgC;YAChC,OAAO,CAAC,cAAc,GAAG;gBACvB,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM;aACtC,CAAC;SACH;aAAM;YACL,OAAO,CAAC,cAAc,GAAG;gBACvB,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,eAAe;aAClC,CAAC;SACH;KACF;
|
|
1
|
+
{"version":3,"file":"portalSearchGroups.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchGroups.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { searchUsers, } from "@esri/arcgis-rest-portal";
|
|
2
|
+
import { enrichUserSearchResult } from "../..";
|
|
3
|
+
import HubError from "../../HubError";
|
|
4
|
+
import { expandFilter, serializeFilterGroupsForPortal } from "../filter-utils";
|
|
5
|
+
import { getNextFunction } from "../utils";
|
|
6
|
+
/**
|
|
7
|
+
* @private
|
|
8
|
+
* Portal Search implementation for Users
|
|
9
|
+
* @param filterGroups
|
|
10
|
+
* @param options
|
|
11
|
+
*/
|
|
12
|
+
export async function portalSearchUsers(filterGroups, options) {
|
|
13
|
+
// requestOptions is always required and user must be authd
|
|
14
|
+
if (!options.requestOptions) {
|
|
15
|
+
throw new HubError("portalSearchUsers", "requestOptions: IHubRequestOptions is required.");
|
|
16
|
+
}
|
|
17
|
+
if (!options.requestOptions.authentication) {
|
|
18
|
+
throw new HubError("portalSearchUsers", "requestOptions must pass authentication.");
|
|
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
|
+
// Ensure authentication gets sent
|
|
43
|
+
so.authentication = options.requestOptions.authentication;
|
|
44
|
+
// Execute search
|
|
45
|
+
return searchPortal(so);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Internal portal search, which then converts `IGroup`s to `IHubSearchResult`s
|
|
49
|
+
* handling enrichments & includes along the way
|
|
50
|
+
*
|
|
51
|
+
* @param searchOptions
|
|
52
|
+
* @returns
|
|
53
|
+
*/
|
|
54
|
+
async function searchPortal(searchOptions) {
|
|
55
|
+
// Execute portal search
|
|
56
|
+
const resp = await searchUsers(searchOptions);
|
|
57
|
+
// create mappable fn that will close
|
|
58
|
+
// over the includes and requestOptions
|
|
59
|
+
const fn = (user) => {
|
|
60
|
+
return userToSearchResult(user, searchOptions.include, searchOptions.requestOptions);
|
|
61
|
+
};
|
|
62
|
+
// map over results
|
|
63
|
+
const results = await Promise.all(resp.results.map(fn));
|
|
64
|
+
// Group Search does not support aggregations
|
|
65
|
+
// Construct the return
|
|
66
|
+
return {
|
|
67
|
+
total: resp.total,
|
|
68
|
+
results,
|
|
69
|
+
facets: [],
|
|
70
|
+
hasNext: resp.nextStart > -1,
|
|
71
|
+
next: getNextFunction(searchOptions, resp.nextStart, resp.total, searchPortal),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Convert an Item to a IHubSearchResult
|
|
76
|
+
* Fetches the includes and attaches them to the item
|
|
77
|
+
* @param item
|
|
78
|
+
* @param includes
|
|
79
|
+
* @param requestOptions
|
|
80
|
+
* @returns
|
|
81
|
+
*/
|
|
82
|
+
async function userToSearchResult(user, includes = [], requestOptions) {
|
|
83
|
+
// Delegate to HubGroups module
|
|
84
|
+
// This layer of indirection is not necessary but
|
|
85
|
+
// aligns with how the items search works and
|
|
86
|
+
// allows for future specialization
|
|
87
|
+
return enrichUserSearchResult(user, includes, requestOptions);
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=portalSearchUsers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portalSearchUsers.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchUsers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import HubError from "../HubError";
|
|
2
2
|
import { getProp } from "../objects";
|
|
3
|
+
import { cloneObject } from "../util";
|
|
3
4
|
import { expandApi } from "./utils";
|
|
4
5
|
import { hubSearchItems, portalSearchItems, portalSearchGroups, } from "./_internal";
|
|
6
|
+
import { portalSearchUsers } from "./_internal/portalSearchUsers";
|
|
5
7
|
/**
|
|
6
8
|
* Main Search function for ArcGIS Hub
|
|
7
9
|
*
|
|
@@ -34,6 +36,7 @@ export async function hubSearch(filterGroups, options) {
|
|
|
34
36
|
arcgis: {
|
|
35
37
|
item: portalSearchItems,
|
|
36
38
|
group: portalSearchGroups,
|
|
39
|
+
user: portalSearchUsers,
|
|
37
40
|
},
|
|
38
41
|
"arcgis-hub": {
|
|
39
42
|
item: hubSearchItems,
|
|
@@ -43,6 +46,6 @@ export async function hubSearch(filterGroups, options) {
|
|
|
43
46
|
if (!fn) {
|
|
44
47
|
throw new HubError(`hubSearch`, `Search via "${filterType}" filter against "${apiType}" api is not implemented`);
|
|
45
48
|
}
|
|
46
|
-
return fn(filterGroups, options);
|
|
49
|
+
return fn(cloneObject(filterGroups), options);
|
|
47
50
|
}
|
|
48
51
|
//# sourceMappingURL=hubSearch.js.map
|
|
@@ -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;
|
|
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;AAStC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,YAA6C,EAC7C,OAA0B;IAE1B,kBAAkB;IAClB,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QACjD,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,iDAAiD,CAClD,CAAC;KACH;IACD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QACxB,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,oDAAoD,CACrD,CAAC;KACH;IAED,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;QAC3B,MAAM,IAAI,QAAQ,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,YAAY,CAAC,CAAC,CAAC,CAAC,UAAwB,CAAC;IAC5D,cAAc;IACd,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC,IAAI,CAAC;IAExD,MAAM,MAAM,GAAG;QACb,MAAM,EAAE;YACN,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE,iBAAiB;SACxB;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,cAAc;SACrB;KACF,CAAC;IAEF,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE,EAAE;QACP,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,eAAe,UAAU,qBAAqB,OAAO,0BAA0B,CAChF,CAAC;KACH;IACD,OAAO,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { getPortalUrl } from "./get-portal-url";
|
|
2
|
+
/**
|
|
3
|
+
* Return the URL of the user's page in the Portal Home application
|
|
4
|
+
* @param username The username
|
|
5
|
+
* @param portalUrlOrObject a portal base or API URL, a portal object, or request options containing either of those
|
|
6
|
+
* @returns URL to the user's profile, defaults to `https://www.arcgis.com/home/user.html?user={username}`
|
|
7
|
+
*/
|
|
8
|
+
export function getUserHomeUrl(username, portalUrlOrObject) {
|
|
9
|
+
const portalUrl = getPortalUrl(portalUrlOrObject);
|
|
10
|
+
return `${portalUrl}/home/user.html?user=${username}`;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=getUserHomeUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUserHomeUrl.js","sourceRoot":"","sources":["../../../src/urls/getUserHomeUrl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAgB,EAChB,iBAA2E;IAE3E,MAAM,SAAS,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAClD,OAAO,GAAG,SAAS,wBAAwB,QAAQ,EAAE,CAAC;AACxD,CAAC"}
|
|
@@ -17,6 +17,7 @@ export * from "./convert-urls-to-anchor-tags";
|
|
|
17
17
|
export * from "./getHubApiFromPortalUrl";
|
|
18
18
|
export * from "./getPortalBaseFromOrgUrl";
|
|
19
19
|
export * from "./getGroupHomeUrl";
|
|
20
|
+
export * from "./getUserHomeUrl";
|
|
20
21
|
const MAP_OR_FEATURE_SERVER_URL_REGEX = /\/(map|feature)server/i;
|
|
21
22
|
/**
|
|
22
23
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/urls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/urls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AAEjC,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AAEjE;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAW,EAAE,EAAE;IACrD,OAAO,+BAA+B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAW,EAAE,EAAE;IACnD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,YAAY,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC;AAC/D,CAAC,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { fetchUserEnrichments } from "./_internal/enrichments";
|
|
2
|
+
import { getProp } from "../objects";
|
|
3
|
+
import { getUserThumbnailUrl } from "../search";
|
|
4
|
+
import { parseInclude } from "../search/_internal/parseInclude";
|
|
5
|
+
import { getUserHomeUrl } from "../urls";
|
|
6
|
+
import { unique } from "../util";
|
|
7
|
+
import { mapBy } from "../utils";
|
|
8
|
+
/**
|
|
9
|
+
* Enrich a User object
|
|
10
|
+
* @param user
|
|
11
|
+
* @param includes
|
|
12
|
+
* @param requestOptions
|
|
13
|
+
* @returns
|
|
14
|
+
*/
|
|
15
|
+
export async function enrichUserSearchResult(user, include, requestOptions) {
|
|
16
|
+
// Create the basic structure
|
|
17
|
+
const result = {
|
|
18
|
+
access: user.access,
|
|
19
|
+
id: user.username,
|
|
20
|
+
type: "User",
|
|
21
|
+
name: user.fullName,
|
|
22
|
+
owner: user.username,
|
|
23
|
+
summary: user.description,
|
|
24
|
+
createdDate: new Date(user.created),
|
|
25
|
+
createdDateSource: "user.created",
|
|
26
|
+
updatedDate: new Date(user.modified),
|
|
27
|
+
updatedDateSource: "user.modified",
|
|
28
|
+
family: "people",
|
|
29
|
+
links: {
|
|
30
|
+
self: "not-implemented",
|
|
31
|
+
siteRelative: "not-implemented",
|
|
32
|
+
thumbnail: "not-implemented",
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
// Informal Enrichments - basically adding type-specific props
|
|
36
|
+
// derived directly from the entity
|
|
37
|
+
// default includes
|
|
38
|
+
const DEFAULTS = ["org.name AS orgName"];
|
|
39
|
+
// merge includes
|
|
40
|
+
include = [...DEFAULTS, ...include].filter(unique);
|
|
41
|
+
// Parse the includes into a valid set of enrichments
|
|
42
|
+
const specs = include.map(parseInclude);
|
|
43
|
+
// Extract out the low-level enrichments needed
|
|
44
|
+
const enrichments = mapBy("enrichment", specs).filter(unique);
|
|
45
|
+
// fetch the enrichments
|
|
46
|
+
let enriched = {};
|
|
47
|
+
// Ignoring the else, because we currently have defaults, but want the guards
|
|
48
|
+
// so if we remove that in the future, we don't call the fn
|
|
49
|
+
/* istanbul ignore else */
|
|
50
|
+
if (enrichments.length) {
|
|
51
|
+
enriched = await fetchUserEnrichments(user, enrichments, requestOptions);
|
|
52
|
+
}
|
|
53
|
+
// map the enriched props onto the result
|
|
54
|
+
specs.forEach((spec) => {
|
|
55
|
+
result[spec.prop] = getProp(enriched, spec.path);
|
|
56
|
+
});
|
|
57
|
+
const token = requestOptions.authentication.token;
|
|
58
|
+
// Handle links
|
|
59
|
+
result.links.thumbnail = getUserThumbnailUrl(requestOptions.portal, user, token);
|
|
60
|
+
result.links.self = getUserHomeUrl(result.id, requestOptions);
|
|
61
|
+
result.links.siteRelative = `/people/${result.id}`;
|
|
62
|
+
return result;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=HubUsers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HubUsers.js","sourceRoot":"","sources":["../../../src/users/HubUsers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAoB,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAW,EACX,OAAiB,EACjB,cAAkC;IAElC,6BAA6B;IAC7B,MAAM,MAAM,GAAqB;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAqB;QAClC,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI,CAAC,QAAQ;QACnB,KAAK,EAAE,IAAI,CAAC,QAAQ;QACpB,OAAO,EAAE,IAAI,CAAC,WAAW;QACzB,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,iBAAiB,EAAE,cAAc;QACjC,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACpC,iBAAiB,EAAE,eAAe;QAClC,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,iBAAiB;YAC/B,SAAS,EAAE,iBAAiB;SAC7B;KACF,CAAC;IAEF,8DAA8D;IAC9D,mCAAmC;IAEnC,mBAAmB;IACnB,MAAM,QAAQ,GAAa,CAAC,qBAAqB,CAAC,CAAC;IAEnD,iBAAiB;IACjB,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnD,qDAAqD;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACxC,+CAA+C;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,wBAAwB;IACxB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,6EAA6E;IAC7E,2DAA2D;IAC3D,0BAA0B;IAC1B,IAAI,WAAW,CAAC,MAAM,EAAE;QACtB,QAAQ,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;KAC1E;IAED,yCAAyC;IACzC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC;IAElD,eAAe;IACf,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,mBAAmB,CAC1C,cAAc,CAAC,MAAM,EACrB,IAAI,EACJ,KAAK,CACN,CAAC;IACF,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,WAAW,MAAM,CAAC,EAAE,EAAE,CAAC;IAEnD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { getPortalBaseFromOrgUrl, fetchOrg } from "../..";
|
|
2
|
+
import { getEnrichmentErrors } from "../../items/_enrichments";
|
|
3
|
+
import OperationStack from "../../OperationStack";
|
|
4
|
+
import { createOperationPipeline } from "../../utils";
|
|
5
|
+
const enrichUserOrg = (input) => {
|
|
6
|
+
const { data, stack, requestOptions } = input;
|
|
7
|
+
const opId = stack.start("enrichUserOrg");
|
|
8
|
+
const options = Object.assign(Object.assign({}, requestOptions), {
|
|
9
|
+
// In order to get the correct response, we must pass options.portal
|
|
10
|
+
// as a base portal url (e.g., www.arcgis.com, qaext.arcgis.com, etc)
|
|
11
|
+
// **not** an org portal (i.e. org.maps.arcgis.com).
|
|
12
|
+
portal: `${getPortalBaseFromOrgUrl(requestOptions.portal)}/sharing/rest` });
|
|
13
|
+
// TODO: Add Caching
|
|
14
|
+
// Had implemented a simple caching system, but it leads to unstable
|
|
15
|
+
// tests because we can't deterministically clear it
|
|
16
|
+
// if (!orgCache[data.user.orgId]) {
|
|
17
|
+
// orgCache[data.user.orgId] = fetchOrg(data.user.orgId, options);
|
|
18
|
+
// }
|
|
19
|
+
// return (orgCache[data.user.orgId] as Promise<IPortal>)
|
|
20
|
+
return fetchOrg(data.user.orgId, options)
|
|
21
|
+
.then((results) => {
|
|
22
|
+
stack.finish(opId);
|
|
23
|
+
return {
|
|
24
|
+
data: Object.assign(Object.assign({}, data), {
|
|
25
|
+
org: results,
|
|
26
|
+
}),
|
|
27
|
+
stack,
|
|
28
|
+
requestOptions,
|
|
29
|
+
};
|
|
30
|
+
})
|
|
31
|
+
.catch((error) => handleEnrichmentError(error, input, opId));
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Simple cache for user org's. This does not expire
|
|
35
|
+
* but that seems reasonable as Org props rarely change
|
|
36
|
+
*/
|
|
37
|
+
// This works find at run-time, but it's a problem in tests
|
|
38
|
+
// where we are validating calls. Will work with Randy to
|
|
39
|
+
// create something that's more robust
|
|
40
|
+
// const orgCache: Record<string, any> = {};
|
|
41
|
+
// add the error to the content.errors,
|
|
42
|
+
// log current stack operation as finished with an error
|
|
43
|
+
// and return output that can be piped into the next operation
|
|
44
|
+
const handleEnrichmentError = (error, input, opId) => {
|
|
45
|
+
const { data, stack, requestOptions } = input;
|
|
46
|
+
stack.finish(opId, { error });
|
|
47
|
+
return {
|
|
48
|
+
data: Object.assign(Object.assign({}, data), { errors: getEnrichmentErrors(error, data.errors) }),
|
|
49
|
+
stack,
|
|
50
|
+
requestOptions,
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Available enrichments for Groups
|
|
55
|
+
*/
|
|
56
|
+
const groupEnrichementOperations = {
|
|
57
|
+
org: enrichUserOrg,
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Fetch enrichments for Users
|
|
61
|
+
* @param group
|
|
62
|
+
* @param enrichments
|
|
63
|
+
* @param requestOptions
|
|
64
|
+
* @returns
|
|
65
|
+
*/
|
|
66
|
+
export function fetchUserEnrichments(user, enrichments, requestOptions) {
|
|
67
|
+
// create a pipeline of enrichment operations
|
|
68
|
+
const operations = enrichments.reduce((ops, enrichment) => {
|
|
69
|
+
const operation = groupEnrichementOperations[enrichment];
|
|
70
|
+
// only include the enrichments that we know how to fetch
|
|
71
|
+
operation && ops.push(operation);
|
|
72
|
+
return ops;
|
|
73
|
+
}, []);
|
|
74
|
+
const pipeline = createOperationPipeline(operations);
|
|
75
|
+
// execute pipeline and return the item and enrichments
|
|
76
|
+
return pipeline({
|
|
77
|
+
data: { user },
|
|
78
|
+
stack: new OperationStack(),
|
|
79
|
+
requestOptions,
|
|
80
|
+
}).then((output) => {
|
|
81
|
+
// TODO: send telemetry so we have info on what enrichments are requested and possible errors
|
|
82
|
+
return output.data;
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=enrichments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enrichments.js","sourceRoot":"","sources":["../../../../src/users/_internal/enrichments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAa,MAAM,aAAa,CAAC;AAgCjE,MAAM,aAAa,GAAG,CACpB,KAAqC,EACI,EAAE;IAC3C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC1C,MAAM,OAAO,mCACR,cAAc;QACjB,oEAAoE;QACpE,qEAAqE;QACrE,oDAAoD;QACpD,MAAM,EAAE,GAAG,uBAAuB,CAAC,cAAc,CAAC,MAAM,CAAC,eAAe,GACzE,CAAC;IACF,oBAAoB;IACpB,oEAAoE;IACpE,oDAAoD;IACpD,oCAAoC;IACpC,oEAAoE;IACpE,IAAI;IAEJ,yDAAyD;IACzD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;SACtC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAChB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO;YACL,IAAI,kCACC,IAAI,GACJ;gBACD,GAAG,EAAE,OAAO;aACb,CACF;YACD,KAAK;YACL,cAAc;SACf,CAAC;IACJ,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC;AAEF;;;GAGG;AACH,2DAA2D;AAC3D,yDAAyD;AACzD,sCAAsC;AACtC,4CAA4C;AAE5C,uCAAuC;AACvC,wDAAwD;AACxD,8DAA8D;AAC9D,MAAM,qBAAqB,GAAG,CAC5B,KAAqB,EACrB,KAAqC,EACrC,IAAY,EACoB,EAAE;IAClC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAC9C,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,OAAO;QACL,IAAI,kCACC,IAAI,KACP,MAAM,EAAE,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAChD;QACD,KAAK;QACL,cAAc;KACf,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,0BAA0B,GAA8B;IAC5D,GAAG,EAAE,aAAa;CACnB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAW,EACX,WAA6B,EAC7B,cAAmC;IAEnC,6CAA6C;IAC7C,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE;QACxD,MAAM,SAAS,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;QACzD,yDAAyD;QACzD,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,QAAQ,GAAG,uBAAuB,CAAsB,UAAU,CAAC,CAAC;IAC1E,uDAAuD;IACvD,OAAO,QAAQ,CAAC;QACd,IAAI,EAAE,EAAE,IAAI,EAAE;QACd,KAAK,EAAE,IAAI,cAAc,EAAE;QAC3B,cAAc;KACf,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACjB,6FAA6F;QAC7F,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/users/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -28,6 +28,7 @@ export * from "./utils";
|
|
|
28
28
|
export * from "./Hub";
|
|
29
29
|
export * from "./pages";
|
|
30
30
|
export * from "./org";
|
|
31
|
+
export * from "./users";
|
|
31
32
|
import OperationStack from "./OperationStack";
|
|
32
33
|
import OperationError from "./OperationError";
|
|
33
34
|
import HubError from "./HubError";
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAEhB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAEhB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AAExB,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC"}
|
|
@@ -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;AAO/E,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,UAAgB,kBAAkB,CACtC,YAA0C,EAC1C,OAA0B;;;;YAGpB,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;YAE/C,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;gBAC3B,IAAI,OAAO,CAAC,cAAc,EAAE;oBAC1B,gCAAgC;oBAChC,OAAO,CAAC,cAAc,GAAG;wBACvB,cAAc,EAAE,OAAO,CAAC,cAAc;wBACtC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM;qBACtC,CAAC;iBACH;qBAAM;oBACL,OAAO,CAAC,cAAc,GAAG;wBACvB,MAAM,EAAK,GAAG,CAAC,GAAG,kBAAe;qBAClC,CAAC;iBACH;aACF;
|
|
1
|
+
{"version":3,"file":"portalSearchGroups.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchGroups.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
2
|
+
import { searchUsers, } from "@esri/arcgis-rest-portal";
|
|
3
|
+
import { enrichUserSearchResult } from "../..";
|
|
4
|
+
import HubError from "../../HubError";
|
|
5
|
+
import { expandFilter, serializeFilterGroupsForPortal } from "../filter-utils";
|
|
6
|
+
import { getNextFunction } from "../utils";
|
|
7
|
+
/**
|
|
8
|
+
* @private
|
|
9
|
+
* Portal Search implementation for Users
|
|
10
|
+
* @param filterGroups
|
|
11
|
+
* @param options
|
|
12
|
+
*/
|
|
13
|
+
export function portalSearchUsers(filterGroups, options) {
|
|
14
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
15
|
+
var expandedGroups, so, props;
|
|
16
|
+
return __generator(this, function (_a) {
|
|
17
|
+
// requestOptions is always required and user must be authd
|
|
18
|
+
if (!options.requestOptions) {
|
|
19
|
+
throw new HubError("portalSearchUsers", "requestOptions: IHubRequestOptions is required.");
|
|
20
|
+
}
|
|
21
|
+
if (!options.requestOptions.authentication) {
|
|
22
|
+
throw new HubError("portalSearchUsers", "requestOptions must pass authentication.");
|
|
23
|
+
}
|
|
24
|
+
expandedGroups = filterGroups.map(function (fg) {
|
|
25
|
+
fg.filters = fg.filters.map(expandFilter);
|
|
26
|
+
return fg;
|
|
27
|
+
});
|
|
28
|
+
so = serializeFilterGroupsForPortal(expandedGroups);
|
|
29
|
+
props = [
|
|
30
|
+
"num",
|
|
31
|
+
"sortField",
|
|
32
|
+
"sortOrder",
|
|
33
|
+
"include",
|
|
34
|
+
"start",
|
|
35
|
+
"requestOptions",
|
|
36
|
+
];
|
|
37
|
+
// copy the props over
|
|
38
|
+
props.forEach(function (prop) {
|
|
39
|
+
if (options.hasOwnProperty(prop)) {
|
|
40
|
+
so[prop] = options[prop];
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
// Ensure authentication gets sent
|
|
44
|
+
so.authentication = options.requestOptions.authentication;
|
|
45
|
+
// Execute search
|
|
46
|
+
return [2 /*return*/, searchPortal(so)];
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Internal portal search, which then converts `IGroup`s to `IHubSearchResult`s
|
|
52
|
+
* handling enrichments & includes along the way
|
|
53
|
+
*
|
|
54
|
+
* @param searchOptions
|
|
55
|
+
* @returns
|
|
56
|
+
*/
|
|
57
|
+
function searchPortal(searchOptions) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
59
|
+
var resp, fn, results;
|
|
60
|
+
return __generator(this, function (_a) {
|
|
61
|
+
switch (_a.label) {
|
|
62
|
+
case 0: return [4 /*yield*/, searchUsers(searchOptions)];
|
|
63
|
+
case 1:
|
|
64
|
+
resp = _a.sent();
|
|
65
|
+
fn = function (user) {
|
|
66
|
+
return userToSearchResult(user, searchOptions.include, searchOptions.requestOptions);
|
|
67
|
+
};
|
|
68
|
+
return [4 /*yield*/, Promise.all(resp.results.map(fn))];
|
|
69
|
+
case 2:
|
|
70
|
+
results = _a.sent();
|
|
71
|
+
// Group Search does not support aggregations
|
|
72
|
+
// Construct the return
|
|
73
|
+
return [2 /*return*/, {
|
|
74
|
+
total: resp.total,
|
|
75
|
+
results: results,
|
|
76
|
+
facets: [],
|
|
77
|
+
hasNext: resp.nextStart > -1,
|
|
78
|
+
next: getNextFunction(searchOptions, resp.nextStart, resp.total, searchPortal),
|
|
79
|
+
}];
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Convert an Item to a IHubSearchResult
|
|
86
|
+
* Fetches the includes and attaches them to the item
|
|
87
|
+
* @param item
|
|
88
|
+
* @param includes
|
|
89
|
+
* @param requestOptions
|
|
90
|
+
* @returns
|
|
91
|
+
*/
|
|
92
|
+
function userToSearchResult(user, includes, requestOptions) {
|
|
93
|
+
if (includes === void 0) { includes = []; }
|
|
94
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
95
|
+
return __generator(this, function (_a) {
|
|
96
|
+
// Delegate to HubGroups module
|
|
97
|
+
// This layer of indirection is not necessary but
|
|
98
|
+
// aligns with how the items search works and
|
|
99
|
+
// allows for future specialization
|
|
100
|
+
return [2 /*return*/, enrichUserSearchResult(user, includes, requestOptions)];
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=portalSearchUsers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portalSearchUsers.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchUsers.ts"],"names":[],"mappings":";AAAA,OAAO,EAGL,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,sBAAsB,EAAU,MAAM,OAAO,CAAC;AAEvD,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAE,YAAY,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAQ/E,OAAO,EAAa,eAAe,EAAE,MAAM,UAAU,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,UAAgB,iBAAiB,CACrC,YAAyC,EACzC,OAA0B;;;;YAE1B,2DAA2D;YAC3D,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;gBAC3B,MAAM,IAAI,QAAQ,CAChB,mBAAmB,EACnB,iDAAiD,CAClD,CAAC;aACH;YAED,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE;gBAC1C,MAAM,IAAI,QAAQ,CAChB,mBAAmB,EACnB,0CAA0C,CAC3C,CAAC;aACH;YAGK,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,UAAC,EAAE;gBACzC,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC1C,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YAGG,EAAE,GAAG,8BAA8B,CAAC,cAAc,CAAC,CAAC;YAEpD,KAAK,GAAmC;gBAC5C,KAAK;gBACL,WAAW;gBACX,WAAW;gBACX,SAAS;gBACT,OAAO;gBACP,gBAAgB;aACjB,CAAC;YACF,sBAAsB;YACtB,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI;gBACjB,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;oBAChC,EAAE,CAAC,IAA4B,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;iBAClD;YACH,CAAC,CAAC,CAAC;YAEH,kCAAkC;YAClC,EAAE,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC;YAE1D,iBAAiB;YACjB,sBAAO,YAAY,CAAC,EAAwB,CAAC,EAAC;;;CAC/C;AAED;;;;;;GAMG;AACH,SAAe,YAAY,CACzB,aAAiC;;;;;wBAGpB,qBAAM,WAAW,CAAC,aAAa,CAAC,EAAA;;oBAAvC,IAAI,GAAG,SAAgC;oBAIvC,EAAE,GAAG,UAAC,IAAW;wBACrB,OAAO,kBAAkB,CACvB,IAAI,EACJ,aAAa,CAAC,OAAO,EACrB,aAAa,CAAC,cAAc,CAC7B,CAAC;oBACJ,CAAC,CAAC;oBAGc,qBAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAA;;oBAAjD,OAAO,GAAG,SAAuC;oBAEvD,6CAA6C;oBAC7C,uBAAuB;oBACvB,sBAAO;4BACL,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,OAAO,SAAA;4BACP,MAAM,EAAE,EAAE;4BACV,OAAO,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;4BAC5B,IAAI,EAAE,eAAe,CACnB,aAAa,EACb,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,KAAK,EACV,YAAY,CACb;yBACF,EAAC;;;;CACH;AAED;;;;;;;GAOG;AACH,SAAe,kBAAkB,CAC/B,IAAW,EACX,QAAuB,EACvB,cAAmC;IADnC,yBAAA,EAAA,aAAuB;;;YAGvB,+BAA+B;YAC/B,iDAAiD;YACjD,6CAA6C;YAC7C,mCAAmC;YACnC,sBAAO,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAC;;;CAC/D"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { __awaiter, __generator } from "tslib";
|
|
2
2
|
import HubError from "../HubError";
|
|
3
3
|
import { getProp } from "../objects";
|
|
4
|
+
import { cloneObject } from "../util";
|
|
4
5
|
import { expandApi } from "./utils";
|
|
5
6
|
import { hubSearchItems, portalSearchItems, portalSearchGroups, } from "./_internal";
|
|
7
|
+
import { portalSearchUsers } from "./_internal/portalSearchUsers";
|
|
6
8
|
/**
|
|
7
9
|
* Main Search function for ArcGIS Hub
|
|
8
10
|
*
|
|
@@ -36,6 +38,7 @@ export function hubSearch(filterGroups, options) {
|
|
|
36
38
|
arcgis: {
|
|
37
39
|
item: portalSearchItems,
|
|
38
40
|
group: portalSearchGroups,
|
|
41
|
+
user: portalSearchUsers,
|
|
39
42
|
},
|
|
40
43
|
"arcgis-hub": {
|
|
41
44
|
item: hubSearchItems,
|
|
@@ -45,7 +48,7 @@ export function hubSearch(filterGroups, options) {
|
|
|
45
48
|
if (!fn) {
|
|
46
49
|
throw new HubError("hubSearch", "Search via \"" + filterType + "\" filter against \"" + apiType + "\" api is not implemented");
|
|
47
50
|
}
|
|
48
|
-
return [2 /*return*/, fn(filterGroups, options)];
|
|
51
|
+
return [2 /*return*/, fn(cloneObject(filterGroups), options)];
|
|
49
52
|
});
|
|
50
53
|
});
|
|
51
54
|
}
|
|
@@ -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;
|
|
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;AAStC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,UAAgB,SAAS,CAC7B,YAA6C,EAC7C,OAA0B;;;;YAE1B,kBAAkB;YAClB,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;gBACjD,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,iDAAiD,CAClD,CAAC;aACH;YACD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;gBACxB,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,oDAAoD,CACrD,CAAC;aACH;YAED,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;gBAC3B,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,iDAAiD,CAClD,CAAC;aACH;YAED,8BAA8B;YAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBACpB,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;aACtB;YAGK,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,UAAwB,CAAC;YAEtD,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC,IAAI,CAAC;YAElD,MAAM,GAAG;gBACb,MAAM,EAAE;oBACN,IAAI,EAAE,iBAAiB;oBACvB,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,iBAAiB;iBACxB;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,cAAc;iBACrB;aACF,CAAC;YAEI,EAAE,GAAG,OAAO,CAAC,MAAM,EAAK,OAAO,SAAI,UAAY,CAAC,CAAC;YACvD,IAAI,CAAC,EAAE,EAAE;gBACP,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,kBAAe,UAAU,4BAAqB,OAAO,8BAA0B,CAChF,CAAC;aACH;YACD,sBAAO,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,EAAC;;;CAC/C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { getPortalUrl } from "./get-portal-url";
|
|
2
|
+
/**
|
|
3
|
+
* Return the URL of the user's page in the Portal Home application
|
|
4
|
+
* @param username The username
|
|
5
|
+
* @param portalUrlOrObject a portal base or API URL, a portal object, or request options containing either of those
|
|
6
|
+
* @returns URL to the user's profile, defaults to `https://www.arcgis.com/home/user.html?user={username}`
|
|
7
|
+
*/
|
|
8
|
+
export function getUserHomeUrl(username, portalUrlOrObject) {
|
|
9
|
+
var portalUrl = getPortalUrl(portalUrlOrObject);
|
|
10
|
+
return portalUrl + "/home/user.html?user=" + username;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=getUserHomeUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUserHomeUrl.js","sourceRoot":"","sources":["../../../src/urls/getUserHomeUrl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAgB,EAChB,iBAA2E;IAE3E,IAAM,SAAS,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAClD,OAAU,SAAS,6BAAwB,QAAU,CAAC;AACxD,CAAC"}
|
package/dist/esm/urls/index.js
CHANGED
|
@@ -17,6 +17,7 @@ export * from "./convert-urls-to-anchor-tags";
|
|
|
17
17
|
export * from "./getHubApiFromPortalUrl";
|
|
18
18
|
export * from "./getPortalBaseFromOrgUrl";
|
|
19
19
|
export * from "./getGroupHomeUrl";
|
|
20
|
+
export * from "./getUserHomeUrl";
|
|
20
21
|
var MAP_OR_FEATURE_SERVER_URL_REGEX = /\/(map|feature)server/i;
|
|
21
22
|
/**
|
|
22
23
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/urls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/urls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AAEjC,IAAM,+BAA+B,GAAG,wBAAwB,CAAC;AAEjE;;;;GAIG;AACH,MAAM,CAAC,IAAM,uBAAuB,GAAG,UAAC,GAAW;IACjD,OAAO,+BAA+B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,IAAM,qBAAqB,GAAG,UAAC,GAAW;IAC/C,IAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACzD,IAAM,YAAY,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,YAAY,IAAO,UAAU,CAAC,YAAY,CAAC,aAAU,CAAC;AAC/D,CAAC,CAAC"}
|