@esri/hub-common 9.39.0 → 9.41.1
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/_internal.js +83 -0
- package/dist/es2017/content/_internal.js.map +1 -1
- package/dist/es2017/content/compose.js +7 -11
- package/dist/es2017/content/compose.js.map +1 -1
- package/dist/es2017/core/types/IHubContent.js +7 -0
- package/dist/es2017/core/types/IHubContent.js.map +1 -1
- package/dist/es2017/index.js +2 -0
- package/dist/es2017/index.js.map +1 -1
- package/dist/es2017/items/_enrichments.js +21 -0
- package/dist/es2017/items/_enrichments.js.map +1 -1
- package/dist/es2017/org/fetch-org.js +21 -0
- package/dist/es2017/org/fetch-org.js.map +1 -0
- package/dist/es2017/org/index.js +2 -0
- package/dist/es2017/org/index.js.map +1 -0
- 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/filter-utils.js +59 -26
- package/dist/es2017/search/filter-utils.js.map +1 -1
- 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/content/_internal.js +85 -0
- package/dist/esm/content/_internal.js.map +1 -1
- package/dist/esm/content/compose.js +5 -11
- package/dist/esm/content/compose.js.map +1 -1
- package/dist/esm/core/types/IHubContent.js +7 -0
- package/dist/esm/core/types/IHubContent.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/items/_enrichments.js +21 -0
- package/dist/esm/items/_enrichments.js.map +1 -1
- package/dist/esm/org/fetch-org.js +22 -0
- package/dist/esm/org/fetch-org.js.map +1 -0
- package/dist/esm/org/index.js +2 -0
- package/dist/esm/org/index.js.map +1 -0
- 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/filter-utils.js +60 -27
- package/dist/esm/search/filter-utils.js.map +1 -1
- 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/content/_internal.js +84 -1
- package/dist/node/content/_internal.js.map +1 -1
- package/dist/node/content/compose.js +6 -10
- package/dist/node/content/compose.js.map +1 -1
- package/dist/node/core/types/IHubContent.js +8 -0
- package/dist/node/core/types/IHubContent.js.map +1 -1
- package/dist/node/index.js +2 -0
- package/dist/node/index.js.map +1 -1
- package/dist/node/items/_enrichments.js +21 -0
- package/dist/node/items/_enrichments.js.map +1 -1
- package/dist/node/org/fetch-org.js +24 -0
- package/dist/node/org/fetch-org.js.map +1 -0
- package/dist/node/org/index.js +5 -0
- package/dist/node/org/index.js.map +1 -0
- 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/filter-utils.js +59 -26
- package/dist/node/search/filter-utils.js.map +1 -1
- 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/content/_internal.d.ts +54 -5
- package/dist/types/core/types/IHubContent.d.ts +21 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/org/fetch-org.d.ts +9 -0
- package/dist/types/org/index.d.ts +1 -0
- package/dist/types/search/_internal/portalSearchUsers.d.ts +8 -0
- package/dist/types/search/types/types.d.ts +18 -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 +477 -69
- package/dist/umd/common.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -13,7 +13,13 @@ import { relativeDateToDateRange, valueToMatchOptions } from "./utils";
|
|
|
13
13
|
export function expandFilter(filter) {
|
|
14
14
|
const result = {};
|
|
15
15
|
const dateProps = ["created", "modified", "lastlogin"];
|
|
16
|
-
const copyProps = [
|
|
16
|
+
const copyProps = [
|
|
17
|
+
"filterType",
|
|
18
|
+
"term",
|
|
19
|
+
"searchUserAccess",
|
|
20
|
+
"isopendata",
|
|
21
|
+
"searchUserName",
|
|
22
|
+
];
|
|
17
23
|
const nonMatchOptionsFields = [...dateProps, ...copyProps];
|
|
18
24
|
// Do the conversion
|
|
19
25
|
Object.entries(filter).forEach(([key, value]) => {
|
|
@@ -45,27 +51,26 @@ export function expandFilter(filter) {
|
|
|
45
51
|
* @returns
|
|
46
52
|
*/
|
|
47
53
|
export function serializeFilterGroupsForPortal(filterGroups) {
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
filter: "",
|
|
51
|
-
};
|
|
52
|
-
result.q = filterGroups.map(serializeGroup).join(" AND ");
|
|
54
|
+
const groupSearchOptions = filterGroups.map(serializeGroup);
|
|
55
|
+
const result = mergeSearchOptions(groupSearchOptions, "AND");
|
|
53
56
|
return result;
|
|
54
57
|
}
|
|
55
58
|
/**
|
|
56
59
|
* Serialize the filters in a FitlerGroup into a Portal Query
|
|
57
|
-
* @param
|
|
60
|
+
* @param filterGroup
|
|
58
61
|
* @returns
|
|
59
62
|
*/
|
|
60
|
-
function serializeGroup(
|
|
61
|
-
const operation =
|
|
62
|
-
const filters =
|
|
63
|
-
|
|
64
|
-
//
|
|
63
|
+
function serializeGroup(filterGroup) {
|
|
64
|
+
const operation = filterGroup.operation || "AND";
|
|
65
|
+
const filters = filterGroup.filters.map(expandFilter);
|
|
66
|
+
const filterSearchOptions = filters.map(serializeFilter);
|
|
67
|
+
// combine these searchOptions
|
|
68
|
+
const groupSearchOptions = mergeSearchOptions(filterSearchOptions, operation);
|
|
69
|
+
//
|
|
65
70
|
if (filters.length > 1) {
|
|
66
|
-
q = `(${q})`;
|
|
71
|
+
groupSearchOptions.q = `(${groupSearchOptions.q})`;
|
|
67
72
|
}
|
|
68
|
-
return
|
|
73
|
+
return groupSearchOptions;
|
|
69
74
|
}
|
|
70
75
|
/**
|
|
71
76
|
* Serialize a Filter into a Portal Query
|
|
@@ -75,37 +80,65 @@ function serializeGroup(group) {
|
|
|
75
80
|
function serializeFilter(filter) {
|
|
76
81
|
const dateProps = ["created", "modified"];
|
|
77
82
|
const boolProps = ["isopendata"];
|
|
83
|
+
const passThroughProps = ["searchUserAccess", "searchUserName"];
|
|
78
84
|
const specialProps = [
|
|
79
85
|
"filterType",
|
|
80
|
-
"searchUserAccess",
|
|
81
86
|
"term",
|
|
82
87
|
...dateProps,
|
|
83
88
|
...boolProps,
|
|
89
|
+
...passThroughProps,
|
|
84
90
|
];
|
|
91
|
+
let qCount = 0;
|
|
85
92
|
// TODO: Look at using reduce vs .map and remove the `.filter`
|
|
86
|
-
const
|
|
93
|
+
const opts = Object.entries(filter)
|
|
87
94
|
.map(([key, value]) => {
|
|
95
|
+
const so = { q: "" };
|
|
88
96
|
if (!specialProps.includes(key)) {
|
|
89
|
-
|
|
97
|
+
qCount++;
|
|
98
|
+
so.q = serializeMatchOptions(key, value);
|
|
90
99
|
}
|
|
91
100
|
if (dateProps.includes(key)) {
|
|
92
|
-
|
|
101
|
+
qCount++;
|
|
102
|
+
so.q = serializeDateRange(key, value);
|
|
93
103
|
}
|
|
94
104
|
if (boolProps.includes(key)) {
|
|
95
|
-
|
|
105
|
+
qCount++;
|
|
106
|
+
so.q = `${key}:${value}`;
|
|
107
|
+
}
|
|
108
|
+
if (passThroughProps.includes(key)) {
|
|
109
|
+
so[key] = value;
|
|
96
110
|
}
|
|
97
111
|
if (key === "term") {
|
|
98
|
-
|
|
112
|
+
qCount++;
|
|
113
|
+
so.q = value;
|
|
99
114
|
}
|
|
115
|
+
return so;
|
|
100
116
|
})
|
|
101
117
|
.filter((e) => e !== undefined);
|
|
102
|
-
//
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
else {
|
|
107
|
-
return stringFilters[0];
|
|
118
|
+
// merge up all the searchOptions
|
|
119
|
+
const searchOptions = mergeSearchOptions(opts, "AND");
|
|
120
|
+
if (qCount > 1) {
|
|
121
|
+
searchOptions.q = `(${searchOptions.q})`;
|
|
108
122
|
}
|
|
123
|
+
return searchOptions;
|
|
124
|
+
}
|
|
125
|
+
function mergeSearchOptions(options, operation) {
|
|
126
|
+
const result = options.reduce((acc, entry) => {
|
|
127
|
+
// walk the props
|
|
128
|
+
Object.entries(entry).forEach(([key, value]) => {
|
|
129
|
+
// if prop exists
|
|
130
|
+
if (acc[key]) {
|
|
131
|
+
// combine via operation
|
|
132
|
+
acc[key] = `${acc[key]} ${operation} ${value}`;
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
// just copy the value
|
|
136
|
+
acc[key] = value;
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
return acc;
|
|
140
|
+
}, { q: "" });
|
|
141
|
+
return result;
|
|
109
142
|
}
|
|
110
143
|
/**
|
|
111
144
|
* Serialize MatchOptions into portal syntax
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-utils.js","sourceRoot":"","sources":["../../../src/search/filter-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filter-utils.js","sourceRoot":"","sources":["../../../src/search/filter-utils.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":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/users/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
@@ -10,6 +10,7 @@ import { __assign } from "tslib";
|
|
|
10
10
|
* move them to index.ts only when they are needed by a consumer.
|
|
11
11
|
*/
|
|
12
12
|
import { parseServiceUrl } from "@esri/arcgis-rest-feature-layer";
|
|
13
|
+
import { PublisherSource } from "../core";
|
|
13
14
|
import { bBoxToExtent, extentToBBox, extentToPolygon, getExtentCenter, isBBox, } from "../extent";
|
|
14
15
|
import { getFamily } from "./get-family";
|
|
15
16
|
import { getProp } from "../objects";
|
|
@@ -389,4 +390,88 @@ export var determineExtent = function (item, extentEnrichment, layer) {
|
|
|
389
390
|
: undefined;
|
|
390
391
|
return itemExtent || extentEnrichmentCoordinates || layerExtent;
|
|
391
392
|
};
|
|
393
|
+
/**
|
|
394
|
+
* @private
|
|
395
|
+
*
|
|
396
|
+
* Extracts the first contact from a given formal item metadata path.
|
|
397
|
+
* This is particularly helpful if the contact path is either an object or an array.
|
|
398
|
+
*
|
|
399
|
+
* Note: the raw contact object must have the following properties:
|
|
400
|
+
* - `rpIndName`: name of the individual
|
|
401
|
+
* - `rpOrgName`: name of the individual's organization
|
|
402
|
+
*
|
|
403
|
+
* @param metadata formal item metadata
|
|
404
|
+
* @param path path to the contact object/array
|
|
405
|
+
* @returns
|
|
406
|
+
*/
|
|
407
|
+
export var extractFirstContact = function (metadata, path) {
|
|
408
|
+
var rawContacts = getProp(metadata, path) || {};
|
|
409
|
+
var _a = Array.isArray(rawContacts)
|
|
410
|
+
? rawContacts[0]
|
|
411
|
+
: rawContacts, rpIndName = _a.rpIndName, rpOrgName = _a.rpOrgName;
|
|
412
|
+
return { individualName: rpIndName, organizationName: rpOrgName };
|
|
413
|
+
};
|
|
414
|
+
/**
|
|
415
|
+
* Determines the correct orgId for an item.
|
|
416
|
+
* Note: it's undocumented, but the portal API will return orgId for items... sometimes.
|
|
417
|
+
*
|
|
418
|
+
* @param item
|
|
419
|
+
* @param ownerUser item owner's hydrated user object
|
|
420
|
+
*/
|
|
421
|
+
export var getItemOrgId = function (item, ownerUser) {
|
|
422
|
+
return item.orgId || (ownerUser === null || ownerUser === void 0 ? void 0 : ownerUser.orgId);
|
|
423
|
+
};
|
|
424
|
+
/**
|
|
425
|
+
* Calculates the Publisher display info for the given item.
|
|
426
|
+
* Utilizes this fallback pattern:
|
|
427
|
+
* 1) Formal Item Metadata > Resource > Citation > Contact
|
|
428
|
+
* 2) Formal Item Metadata > Resource > Contact
|
|
429
|
+
* 3) Item’s Owner and Org Name
|
|
430
|
+
* 4) Undefined (Item Owner / Org are private and we can't access additional info)
|
|
431
|
+
*
|
|
432
|
+
* @param item
|
|
433
|
+
* @param metadata
|
|
434
|
+
* @param org portal info of the item's organization
|
|
435
|
+
* @param ownerUser the item owner's hydrated user
|
|
436
|
+
* @returns
|
|
437
|
+
*/
|
|
438
|
+
export var getPublisherInfo = function (item, metadata, org, ownerUser) {
|
|
439
|
+
var result = {
|
|
440
|
+
nameSource: PublisherSource.None,
|
|
441
|
+
organizationSource: PublisherSource.None,
|
|
442
|
+
};
|
|
443
|
+
var citationContact = extractFirstContact(metadata, "metadata.dataIdInfo.idCitation.citRespParty");
|
|
444
|
+
var resourceContact = extractFirstContact(metadata, "metadata.mdContact");
|
|
445
|
+
// Determine publisher name properties
|
|
446
|
+
var ownerFullName = getProp(ownerUser, "fullName");
|
|
447
|
+
if (citationContact.individualName) {
|
|
448
|
+
result.name = citationContact.individualName;
|
|
449
|
+
result.nameSource = PublisherSource.CitationContact;
|
|
450
|
+
}
|
|
451
|
+
else if (resourceContact.individualName) {
|
|
452
|
+
result.name = resourceContact.individualName;
|
|
453
|
+
result.nameSource = PublisherSource.ResourceContact;
|
|
454
|
+
}
|
|
455
|
+
else if (ownerFullName) {
|
|
456
|
+
result.name = ownerFullName;
|
|
457
|
+
result.username = ownerUser.username;
|
|
458
|
+
result.nameSource = PublisherSource.ItemOwner;
|
|
459
|
+
}
|
|
460
|
+
// Determine publisher org properties
|
|
461
|
+
var orgName = getProp(org, "name");
|
|
462
|
+
if (citationContact.organizationName) {
|
|
463
|
+
result.organization = citationContact.organizationName;
|
|
464
|
+
result.organizationSource = PublisherSource.CitationContact;
|
|
465
|
+
}
|
|
466
|
+
else if (resourceContact.organizationName) {
|
|
467
|
+
result.organization = resourceContact.organizationName;
|
|
468
|
+
result.organizationSource = PublisherSource.ResourceContact;
|
|
469
|
+
}
|
|
470
|
+
else if (orgName) {
|
|
471
|
+
result.organization = orgName;
|
|
472
|
+
result.orgId = getItemOrgId(item, ownerUser);
|
|
473
|
+
result.organizationSource = PublisherSource.ItemOwner;
|
|
474
|
+
}
|
|
475
|
+
return result;
|
|
476
|
+
};
|
|
392
477
|
//# sourceMappingURL=_internal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_internal.js","sourceRoot":"","sources":["../../../src/content/_internal.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"_internal.js","sourceRoot":"","sources":["../../../src/content/_internal.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAOlE,OAAO,EAAe,eAAe,EAAE,MAAM,SAAS,CAAC;AAMvD,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,MAAM,GACP,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC;;;;;;GAMG;AACH,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAChC,OAAoB,EACpB,QAA6B;IAE7B,qCAAqC;IACrC,IAAM,UAAU,yBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,KAAE,QAAQ,UAAA,GAAE,CAAC;IACpE,IAAM,IAAI,yBAAQ,OAAO,CAAC,IAAI,KAAE,UAAU,YAAA,GAAE,CAAC;IAC7C,IAAM,OAAO,yBAAQ,OAAO,KAAE,IAAI,MAAA,GAAE,CAAC;IACrC,6BAAY,OAAO,KAAE,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAG;AAC5D,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAAC,IAAW;;IAC5C,IAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IACzB,IAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,yDAAyD;IACzD,IAAM,UAAU,GACd,OAAA,IAAI,CAAC,UAAU,0CAAE,QAAQ;QACzB,mDAAmD;QACnD,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAM,QAAQ,GAAkB;QAC9B,QAAQ,EAAE,IAAI;QACd,UAAU,YAAA;KACX,CAAC;IACF,IAAI,UAAU,KAAK,MAAM,IAAI,iBAAiB,EAAE;QAC9C,IAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,IAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACvC,QAAQ,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACvC,QAAQ,CAAC,QAAQ,yBACZ,eAAe,CAAC,MAAM,CAAC,KAC1B,IAAI,EAAE,SAAS,GAChB,CAAC;QACF,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC;KAChE;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAC,cAAmC;IAC1D,OAAO,cAAc,IAAI,cAAc,CAAC,QAAQ,CAAC;AACnD,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,IAAM,mBAAmB,GAAG,UACjC,IAAW,EACX,cAAmC;IAEnC,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AACzE,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,IAAM,YAAY,GAAG,UAC1B,IAAW,EACX,cAAmC;IAEnC,OAAA,CAAC,QAAQ,CAAC,cAAc,CAAC;QACzB,IAAI,CAAC,MAAM,KAAK,QAAQ;QACxB,IAAI,CAAC,IAAI,KAAK,KAAK;QACnB,IAAI,CAAC,IAAI,IAAI,OAAO;AAHpB,CAGoB,CAAC;AAEvB;;;;;;;GAOG;AACH,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAC/B,IAAY,EACZ,UAAkB,EAClB,YAAuB;IAEvB,sCAAsC;IACtC,IAAI,UAAU,GAAG,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAChE,IAAI,CAAC,UAAU,EAAE;QACf,IAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAM,2BAA2B,GAAG;YAClC,KAAK;YACL,SAAS;YACT,UAAU;YACV,KAAK;YACL,UAAU;YACV,SAAS;SACV,CAAC;QACF,wCAAwC;QACxC,IAAI,IAAI,GAAG,UAAU,CAAC;QACtB,IAAI,MAAM,KAAK,UAAU,EAAE;YACzB,gBAAgB;YAChB,IAAI,GAAG,mBAAmB,CAAC;SAC5B;aAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;YAC3B,oCAAoC;YACpC,iEAAiE;YACjE,4CAA4C;YAC5C,IAAI,GAAG,QAAQ,CAAC;SACjB;aAAM,IAAI,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;YAC3D,gDAAgD;YAChD,IAAI,GAAG,MAAI,MAAM,MAAG,CAAC;SACtB;QACD,UAAU,GAAM,IAAI,SAAI,UAAY,CAAC;KACtC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,IAAM,UAAU,GAAG,UAAC,IAAY;IACrC,OAAA,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AAAxC,CAAwC,CAAC;AAE3C,IAAM,cAAc,GAAG,UACrB,IAAY,EACZ,UAAkB,EAClB,YAAuB;IAEvB,IAAI,MAAM,CAAC;IACX,IAAI,IAAI,KAAK,UAAU,EAAE;QACvB,sCAAsC;QACtC,gDAAgD;QAChD,+DAA+D;QAC/D,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,CAAC,UAAU,KAAI,CAAC,EAAE;YACzC,qDAAqD;YACrD,MAAM,GAAG,cAAY,UAAY,CAAC;SACnC;QACD,kEAAkE;QAClE,yEAAyE;QACzE,wCAAwC;QACxC,MAAM,GAAG,gBAAc,UAAU,WAAQ,CAAC;KAC3C;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAgBF;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,UAAgC;IAC9D,8FAA8F;IAC9F,IAAM,aAAa,GAAmB;QACpC,eAAe,EACb,4DAA4D;QAC9D,UAAU,EAAE,gDAAgD;QAC5D,OAAO,EAAE,6CAA6C;QACtD,UAAU,EAAE,gDAAgD;QAC5D,uBAAuB,EAAE,gDAAgD;QACzE,mBAAmB,EAAE,mBAAmB;KACzC,CAAC;IACF,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAa,EACb,UAAgC;IAEhC,IAAM,IAAI,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IACzC,OAAO,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,gCAAe,CAAA;IACf,4BAAW,CAAA;IACX,8BAAa,CAAA;AACf,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,SAAS,GAAG,KAAG,SAAW,CAAC;IAC3B,IAAI,IAAI,CAAC;IACT,IAAI,SAAS,CAAC;IACd,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QAC7B,OAAO;QACP,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC;KAChC;SAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QAC5C,UAAU;QACV,IAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7C,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC;KACjC;SAAM,IAAI,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QACpD,aAAa;QACb,IAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC;KAC/B;SAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE;QAC/C,4CAA4C;QAC5C,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;YACjC,CAAC,CAAC,aAAa,CAAC,IAAI;YACpB,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC;KACvB;IACD,OAAO,IAAI,IAAI,SAAS,IAAI,EAAE,IAAI,MAAA,EAAE,SAAS,WAAA,EAAE,CAAC;AAClD,CAAC;AAED,0DAA0D;AAC1D,4DAA4D;AAC5D,4DAA4D;AAC5D,+DAA+D;AAC/D,iEAAiE;AACjE,sCAAsC;AACtC;;;;;GAKG;AACH,MAAM,CAAC,IAAM,uBAAuB,GAAG,UAAC,IAAW;IACjD,IAAM,gBAAgB,GAAG,IAAI,CAAC,gBAA2B,CAAC;IAC1D,IAAI,CAAC,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;QAC7D,8DAA8D;QAC9D,OAAO,gBAAgB,CAAC;KACzB;IACD,kEAAkE;IAClE,yEAAyE;IACzE,IAAM,sBAAsB,GAAG,gBAAgB,GAAG,EAAE,CAAC;IACrD,IAAM,IAAI,GAAG,QAAQ,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC,IAAI,CAAC;QAChB,CAAC,CAAC,mEAAmE;YACnE,qEAAqE;YACrE,IAAI;QACN,CAAC,CAAC,EAAE;YACF,EAAE,IAAI,MAAA,EAAE,CAAC;AACf,CAAC,CAAC;AAWF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,IAAM,sBAAsB,GAAG,UACpC,IAAW,EACX,QAAc,EACd,cAAmC;IAEnC,IAAM,YAAY,GAA6B,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC7E,OAAO,CACL,YAAY;QACZ,YAAY,CAAC,GAAG,CACd,UAAC,QAAgC,IAA6B,OAAA,CAAC;YAC7D,IAAI,EAAE,QAAQ,CAAC,MAAM;YACrB,GAAG,EAAE,wBAAwB,CAAC,QAAQ,EAAE,IAAI,EAAE,cAAc,CAAC;YAC7D,YAAY,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;SACjD,CAAC,EAJ4D,CAI5D,CACH,CACF,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,IAAM,mBAAmB,GAAG,UACjC,QAAc;IAEd,IAAM,YAAY,GAA6B,EAAE,CAAC;IAElD,qEAAqE;IACrE,+EAA+E;IAC/E,yEAAyE;IACzE,qDAAqD;IACrD,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAC/D,UAAC,QAAa;QACZ,WAAW,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAC,WAAgB;YAC/D,WAAW,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,CAC9C,UAAC,SAAiC;gBAChC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IAEF,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,IAAM,WAAW,GAAG,UAAC,aAAkB;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAChC,QAAgC,EAChC,IAAW;IAEX,IAAM,UAAU,GAAG,IAAI,CAAC,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,OAAO,CACL,UAAU,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CACxE,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,IAAM,wBAAwB,GAAG,UACtC,QAAgC,EAChC,IAAW,EACX,cAAmC;IAEnC,IAAI,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;IAC9B,IAAM,KAAK,GAAG,OAAO,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;IAC9D,IAAI,KAAK,IAAI,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;QAC/C,IAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzC,IAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;KAC5B;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,IAAM,eAAe,GAAG,UAC7B,IAAW,EACX,gBAAsB,EACtB,KAAwB;IAExB,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,IAAM,2BAA2B,GAAG,MAAM,CAAC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,CAAC;QACvE,CAAC,CAAC,gBAAgB,CAAC,WAAW;QAC9B,CAAC,CAAC,SAAS,CAAC;IACd,IAAM,WAAW,GACf,OAAO,CAAC,KAAK,EAAE,8BAA8B,CAAC,KAAK,IAAI;QACrD,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;QAC5B,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,UAAU,IAAI,2BAA2B,IAAI,WAAW,CAAC;AAClE,CAAC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,QAAa,EAAE,IAAY;IAC7D,IAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAA,KAA2B,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QACzD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAChB,CAAC,CAAC,WAAW,EAFP,SAAS,eAAA,EAAE,SAAS,eAEb,CAAC;IAChB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC;AACpE,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,IAAW,EAAE,SAAiB;IACzD,OAAA,IAAI,CAAC,KAAK,KAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAA;AAA9B,CAA8B,CAAC;AAEjC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAC9B,IAAW,EACX,QAAc,EACd,GAAsB,EACtB,SAAiB;IAEjB,IAAM,MAAM,GAAQ;QAClB,UAAU,EAAE,eAAe,CAAC,IAAI;QAChC,kBAAkB,EAAE,eAAe,CAAC,IAAI;KACzC,CAAC;IACF,IAAM,eAAe,GAAG,mBAAmB,CACzC,QAAQ,EACR,6CAA6C,CAC9C,CAAC;IACF,IAAM,eAAe,GAAG,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAE5E,sCAAsC;IACtC,IAAM,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAErD,IAAI,eAAe,CAAC,cAAc,EAAE;QAClC,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC,cAAc,CAAC;QAC7C,MAAM,CAAC,UAAU,GAAG,eAAe,CAAC,eAAe,CAAC;KACrD;SAAM,IAAI,eAAe,CAAC,cAAc,EAAE;QACzC,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC,cAAc,CAAC;QAC7C,MAAM,CAAC,UAAU,GAAG,eAAe,CAAC,eAAe,CAAC;KACrD;SAAM,IAAI,aAAa,EAAE;QACxB,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC;QAC5B,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACrC,MAAM,CAAC,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC;KAC/C;IAED,qCAAqC;IACrC,IAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAErC,IAAI,eAAe,CAAC,gBAAgB,EAAE;QACpC,MAAM,CAAC,YAAY,GAAG,eAAe,CAAC,gBAAgB,CAAC;QACvD,MAAM,CAAC,kBAAkB,GAAG,eAAe,CAAC,eAAe,CAAC;KAC7D;SAAM,IAAI,eAAe,CAAC,gBAAgB,EAAE;QAC3C,MAAM,CAAC,YAAY,GAAG,eAAe,CAAC,gBAAgB,CAAC;QACvD,MAAM,CAAC,kBAAkB,GAAG,eAAe,CAAC,eAAe,CAAC;KAC7D;SAAM,IAAI,OAAO,EAAE;QAClB,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC7C,MAAM,CAAC,kBAAkB,GAAG,eAAe,CAAC,SAAS,CAAC;KACvD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -10,7 +10,7 @@ import { getItemApiUrl } from "../urls/get-item-api-url";
|
|
|
10
10
|
import { getItemDataUrl } from "../urls/get-item-data-url";
|
|
11
11
|
import { camelize, isNil } from "../util";
|
|
12
12
|
import { includes } from "../utils";
|
|
13
|
-
import { DatePrecision, canUseHubApiForItem, getContentBoundary, getHubRelativeUrl, getItemSpatialReference, getValueFromMetadata, getMetadataPath, isProxiedCSV, parseISODateString, getAdditionalResources, determineExtent, } from "./_internal";
|
|
13
|
+
import { DatePrecision, canUseHubApiForItem, getContentBoundary, getHubRelativeUrl, getItemSpatialReference, getValueFromMetadata, getMetadataPath, isProxiedCSV, parseISODateString, getAdditionalResources, determineExtent, getPublisherInfo, getItemOrgId, } from "./_internal";
|
|
14
14
|
import { getFamily } from "./get-family";
|
|
15
15
|
// helper fns - move this to _internal if needed elsewhere
|
|
16
16
|
var getOnlyQueryLayer = function (layers) {
|
|
@@ -593,13 +593,8 @@ export var composeContent = function (item, options) {
|
|
|
593
593
|
get metadataUpdateFrequency() {
|
|
594
594
|
return getUpdateFrequencyFromMetadata(metadata, "metadataUpdateFrequency");
|
|
595
595
|
},
|
|
596
|
-
// TODO: add the publisher logic outlined here:
|
|
597
|
-
// https://devtopia.esri.com/dc/hub/issues/2932#issuecomment-3276309
|
|
598
596
|
get publisher() {
|
|
599
|
-
return
|
|
600
|
-
name: item.owner,
|
|
601
|
-
username: item.owner,
|
|
602
|
-
};
|
|
597
|
+
return getPublisherInfo(item, metadata, org, ownerUser);
|
|
603
598
|
},
|
|
604
599
|
// TODO: is metrics in use?
|
|
605
600
|
get metrics() {
|
|
@@ -619,11 +614,10 @@ export var composeContent = function (item, options) {
|
|
|
619
614
|
Array.isArray(data.layers) &&
|
|
620
615
|
data.layers.find(function (_layer) { return _layer.id === layer.id; });
|
|
621
616
|
return dataLayer ? dataLayer.layerDefinition : undefined;
|
|
617
|
+
}, get orgId() {
|
|
618
|
+
return org ? org.id : getItemOrgId(item, ownerUser);
|
|
622
619
|
},
|
|
623
|
-
get
|
|
624
|
-
// NOTE: it's undocumented, but the portal API will return orgId for items... sometimes
|
|
625
|
-
return org ? org.id : item.orgId || (ownerUser === null || ownerUser === void 0 ? void 0 : ownerUser.orgId);
|
|
626
|
-
}, get contentTypeIcon() {
|
|
620
|
+
get contentTypeIcon() {
|
|
627
621
|
/* Note: only returns calcite-icons */
|
|
628
622
|
return getContentTypeIcon(type);
|
|
629
623
|
},
|