@esri/hub-common 9.7.0 → 9.8.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.
Files changed (76) hide show
  1. package/dist/es2017/content.js +17 -6
  2. package/dist/es2017/content.js.map +1 -1
  3. package/dist/es2017/search/_searchContent.js +66 -53
  4. package/dist/es2017/search/_searchContent.js.map +1 -1
  5. package/dist/es2017/search/_searchGroups.js +71 -36
  6. package/dist/es2017/search/_searchGroups.js.map +1 -1
  7. package/dist/es2017/search/_searchUsers.js +83 -0
  8. package/dist/es2017/search/_searchUsers.js.map +1 -0
  9. package/dist/es2017/search/index.js +2 -0
  10. package/dist/es2017/search/index.js.map +1 -1
  11. package/dist/es2017/search/user-utils.js +132 -0
  12. package/dist/es2017/search/user-utils.js.map +1 -0
  13. package/dist/es2017/search/utils.js +76 -37
  14. package/dist/es2017/search/utils.js.map +1 -1
  15. package/dist/es2017/sites/upgrade-site-schema.js +3 -0
  16. package/dist/es2017/sites/upgrade-site-schema.js.map +1 -1
  17. package/dist/es2017/urls/index.js +1 -0
  18. package/dist/es2017/urls/index.js.map +1 -1
  19. package/dist/es2017/urls/upgrade-protocol.js +14 -0
  20. package/dist/es2017/urls/upgrade-protocol.js.map +1 -0
  21. package/dist/esm/content.js +17 -6
  22. package/dist/esm/content.js.map +1 -1
  23. package/dist/esm/search/_searchContent.js +71 -62
  24. package/dist/esm/search/_searchContent.js.map +1 -1
  25. package/dist/esm/search/_searchGroups.js +75 -40
  26. package/dist/esm/search/_searchGroups.js.map +1 -1
  27. package/dist/esm/search/_searchUsers.js +88 -0
  28. package/dist/esm/search/_searchUsers.js.map +1 -0
  29. package/dist/esm/search/index.js +2 -0
  30. package/dist/esm/search/index.js.map +1 -1
  31. package/dist/esm/search/user-utils.js +136 -0
  32. package/dist/esm/search/user-utils.js.map +1 -0
  33. package/dist/esm/search/utils.js +76 -37
  34. package/dist/esm/search/utils.js.map +1 -1
  35. package/dist/esm/sites/upgrade-site-schema.js +3 -0
  36. package/dist/esm/sites/upgrade-site-schema.js.map +1 -1
  37. package/dist/esm/urls/index.js +1 -0
  38. package/dist/esm/urls/index.js.map +1 -1
  39. package/dist/esm/urls/upgrade-protocol.js +14 -0
  40. package/dist/esm/urls/upgrade-protocol.js.map +1 -0
  41. package/dist/node/content.js +18 -7
  42. package/dist/node/content.js.map +1 -1
  43. package/dist/node/search/_searchContent.js +65 -52
  44. package/dist/node/search/_searchContent.js.map +1 -1
  45. package/dist/node/search/_searchGroups.js +71 -36
  46. package/dist/node/search/_searchGroups.js.map +1 -1
  47. package/dist/node/search/_searchUsers.js +87 -0
  48. package/dist/node/search/_searchUsers.js.map +1 -0
  49. package/dist/node/search/index.js +2 -0
  50. package/dist/node/search/index.js.map +1 -1
  51. package/dist/node/search/user-utils.js +138 -0
  52. package/dist/node/search/user-utils.js.map +1 -0
  53. package/dist/node/search/utils.js +81 -39
  54. package/dist/node/search/utils.js.map +1 -1
  55. package/dist/node/sites/upgrade-site-schema.js +3 -0
  56. package/dist/node/sites/upgrade-site-schema.js.map +1 -1
  57. package/dist/node/urls/index.js +1 -0
  58. package/dist/node/urls/index.js.map +1 -1
  59. package/dist/node/urls/upgrade-protocol.js +18 -0
  60. package/dist/node/urls/upgrade-protocol.js.map +1 -0
  61. package/dist/types/content.d.ts +11 -0
  62. package/dist/types/search/_searchContent.d.ts +3 -2
  63. package/dist/types/search/_searchGroups.d.ts +3 -2
  64. package/dist/types/search/_searchUsers.d.ts +28 -0
  65. package/dist/types/search/index.d.ts +2 -0
  66. package/dist/types/search/types.d.ts +20 -2
  67. package/dist/types/search/user-utils.d.ts +35 -0
  68. package/dist/types/search/utils.d.ts +39 -8
  69. package/dist/types/types.d.ts +17 -0
  70. package/dist/types/urls/index.d.ts +1 -0
  71. package/dist/types/urls/upgrade-protocol.d.ts +5 -0
  72. package/dist/umd/common.umd.js +489 -142
  73. package/dist/umd/common.umd.js.map +1 -1
  74. package/dist/umd/common.umd.min.js +1 -1
  75. package/dist/umd/common.umd.min.js.map +1 -1
  76. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"_searchGroups.js","sourceRoot":"","sources":["../../../src/search/_searchGroups.ts"],"names":[],"mappings":";;;AAEA,iEAA6E;AAC7E,wBAIW;AACX,+CAGuB;AAOvB;;;;;;;GAOG;AACI,KAAK,UAAU,aAAa,CACjC,MAAuB,EACvB,OAA0B;;IAE1B,kDAAkD;IAClD,MAAM,QAAQ,GAAG,+BAAiB,CAAC,MAAM,CAAC,CAAC;IAE3C,OAAO;IACP,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QACjB,sBAAsB;QACtB,OAAO,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;KAC3B;IACD,MAAM,IAAI,GAAG,aAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,2CAA6B,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,mCAAmC;IACnC,oCAAoC;IACpC,IAAI,OAAO,CAAC,cAAc,EAAE;QAC1B,EAAE,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC3C,MAAM,EAAE,GAAgB,OAAO,CAAC,cAA6B,CAAC;QAC9D,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;KAClB;SAAM;QACL,EAAE,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;KAC3C;IAED,IAAI,OAAO,CAAC,GAAG,EAAE;QACf,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;KACtB;IAED,IAAI,SAAS,GAAG,qCAAqC,CAAC;IACtD,UAAI,EAAE,CAAC,cAAc,0CAAE,MAAM,EAAE;QAC7B,SAAS,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC;KACtC;IAED,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE;QACrC,OAAO,eAAe,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,OAAO,iCAAiB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC7C,wBAAwB;QACxB,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACtD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AA3CD,sCA2CC;AAED,uEAAuE;AACvE,SAAS,eAAe,CACtB,SAAiB,EACjB,KAAa,EACb,KAAc;IAEd,IAAI,KAAK,CAAC,SAAS,EAAE;QACnB,KAAK,CAAC,WAAW,GAAG,GAAG,SAAS,qBAAqB,KAAK,CAAC,EAAE,SAAS,KAAK,CAAC,SAAS,EAAE,CAAC;QACxF,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,YAAY,GAAG,GAAG,KAAK,CAAC,YAAY,UAAU,KAAK,EAAE,CAAC;SAC7D;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"_searchGroups.js","sourceRoot":"","sources":["../../../src/search/_searchGroups.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._searchUsers = void 0;
4
+ const __1 = require("..");
5
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
6
+ /**
7
+ * Search for Users via the Portal API.
8
+ *
9
+ * **Note** Authentication is required
10
+ *
11
+ * Note: in the future, there may be options to search via
12
+ * a Hub specific API
13
+ * @param filter
14
+ * @param options
15
+ * @returns
16
+ */
17
+ async function _searchUsers(filter, options) {
18
+ // JS Clients may not pass in authentication
19
+ if (!options.authentication) {
20
+ throw new Error("Authentication required to search for users.");
21
+ }
22
+ // expand filter so we can serialize to either api
23
+ const expanded = __1.expandUserFilter(filter);
24
+ // API
25
+ const api = __1.expandApi(options.api || "arcgis");
26
+ if (api.type === "arcgis") {
27
+ const searchOptions = __1.serializeUserFilterForPortal(expanded);
28
+ // carry the auth forward
29
+ searchOptions.authentication = options.authentication;
30
+ // TODO: Dry this up - typscript makes this... inconvenient
31
+ if (options.num) {
32
+ searchOptions.num = options.num;
33
+ }
34
+ if (options.sortField) {
35
+ searchOptions.sortField = options.sortField;
36
+ }
37
+ if (options.sortOrder) {
38
+ searchOptions.sortOrder = options.sortOrder;
39
+ }
40
+ if (options.site) {
41
+ searchOptions.site = __1.cloneObject(options.site);
42
+ }
43
+ return searchPortalUsers(searchOptions);
44
+ }
45
+ else {
46
+ throw new Error("_searchUsers is not implemented for non-arcgis apis");
47
+ }
48
+ }
49
+ exports._searchUsers = _searchUsers;
50
+ /**
51
+ * Internal function that executes the user search along with
52
+ * some simple enrichments
53
+ * @param searchOptions
54
+ * @returns
55
+ */
56
+ function searchPortalUsers(searchOptions) {
57
+ const portalUrl = searchOptions.authentication.portal;
58
+ const token = searchOptions.authentication.token;
59
+ // Partially applied functions for mapping over the results
60
+ const userLinkify = (user) => {
61
+ user.profileUrl = `${searchOptions.site.item.url}/people/${user.username}/profile`;
62
+ return user;
63
+ };
64
+ const thumbnailify = (user) => {
65
+ if (user.thumbnail) {
66
+ user.thumbnailUrl = __1.getUserThumbnailUrl(portalUrl, user, token);
67
+ }
68
+ return user;
69
+ };
70
+ return arcgis_rest_portal_1.searchUsers(searchOptions).then((response) => {
71
+ var _a, _b;
72
+ const hasNext = response.nextStart > -1;
73
+ // upgrade thumbnail url
74
+ let results = response.results.map(thumbnailify);
75
+ // generate the site team url if site url is provided
76
+ if ((_b = (_a = searchOptions.site) === null || _a === void 0 ? void 0 : _a.item) === null || _b === void 0 ? void 0 : _b.url) {
77
+ results = response.results.map(userLinkify);
78
+ }
79
+ return {
80
+ hasNext,
81
+ total: response.total,
82
+ results,
83
+ next: __1.getNextFunction(searchOptions, response.nextStart, response.total, searchPortalUsers),
84
+ };
85
+ });
86
+ }
87
+ //# sourceMappingURL=_searchUsers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_searchUsers.js","sourceRoot":"","sources":["../../../src/search/_searchUsers.ts"],"names":[],"mappings":";;;AACA,0BAUY;AACZ,iEAGkC;AAkBlC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,YAAY,CAChC,MAAsB,EACtB,OAAuC;IAEvC,4CAA4C;IAC5C,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;KACjE;IACD,kDAAkD;IAClD,MAAM,QAAQ,GAAG,oBAAgB,CAAC,MAAM,CAAC,CAAC;IAE1C,MAAM;IACN,MAAM,GAAG,GAAG,aAAS,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;IAE/C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;QACzB,MAAM,aAAa,GAAG,gCAA4B,CAChD,QAAQ,CACa,CAAC;QACxB,yBAAyB;QACzB,aAAa,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAEtD,2DAA2D;QAC3D,IAAI,OAAO,CAAC,GAAG,EAAE;YACf,aAAa,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;SACjC;QAED,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,aAAa,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;SAC7C;QAED,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,aAAa,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;SAC7C;QAED,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,aAAa,CAAC,IAAI,GAAG,eAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAChD;QAED,OAAO,iBAAiB,CAAC,aAAa,CAAC,CAAC;KACzC;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;KACxE;AACH,CAAC;AA1CD,oCA0CC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CACxB,aAAiC;IAEjC,MAAM,SAAS,GAAG,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC;IACtD,MAAM,KAAK,GAAI,aAAa,CAAC,cAA8B,CAAC,KAAK,CAAC;IAElE,2DAA2D;IAC3D,MAAM,WAAW,GAAG,CAAC,IAAc,EAAE,EAAE;QACrC,IAAI,CAAC,UAAU,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,IAAI,CAAC,QAAQ,UAAU,CAAC;QACnF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,IAAc,EAAE,EAAE;QACtC,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,YAAY,GAAG,uBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;SACjE;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,OAAO,gCAAgB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;;QACvD,MAAM,OAAO,GAAY,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAEjD,wBAAwB;QACxB,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACjD,qDAAqD;QACrD,gBAAI,aAAa,CAAC,IAAI,0CAAE,IAAI,0CAAE,GAAG,EAAE;YACjC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;SAC7C;QAED,OAAO;YACL,OAAO;YACP,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,OAAO;YACP,IAAI,EAAE,mBAAe,CACnB,aAAa,EACb,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,KAAK,EACd,iBAAiB,CAClB;SACwB,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -4,8 +4,10 @@ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./hub-api-search"), exports);
5
5
  tslib_1.__exportStar(require("./content-utils"), exports);
6
6
  tslib_1.__exportStar(require("./group-utils"), exports);
7
+ tslib_1.__exportStar(require("./user-utils"), exports);
7
8
  tslib_1.__exportStar(require("./utils"), exports);
8
9
  tslib_1.__exportStar(require("./types"), exports);
9
10
  tslib_1.__exportStar(require("./_searchContent"), exports);
10
11
  tslib_1.__exportStar(require("./_searchGroups"), exports);
12
+ tslib_1.__exportStar(require("./_searchUsers"), exports);
11
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/search/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,0DAAgC;AAChC,wDAA8B;AAC9B,kDAAwB;AACxB,kDAAwB;AACxB,2DAAiC;AACjC,0DAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/search/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,0DAAgC;AAChC,wDAA8B;AAC9B,uDAA6B;AAC7B,kDAAwB;AACxB,kDAAwB;AACxB,2DAAiC;AACjC,0DAAgC;AAChC,yDAA+B"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeUserFilterForPortal = exports.expandUserFilter = exports.mergeUserFilters = void 0;
4
+ const __1 = require("..");
5
+ /**
6
+ *
7
+ * Merge `Filter<"user">` objects
8
+ *
9
+ * Useful in components which may get partial filters from a variety of
10
+ * sub-components, which are then combined into a single filter prior
11
+ * to executing the search.
12
+ * @param filters
13
+ * @returns
14
+ */
15
+ function mergeUserFilters(filters) {
16
+ // expand all the filters so all prop types are consistent
17
+ const expanded = filters.map(expandUserFilter);
18
+ // now we can merge based on fields
19
+ const dateFields = ["created", "modified", "lastlogin"];
20
+ const specialFields = ["disabled", "term", "filterType", ...dateFields];
21
+ // acc is initialized as Filter<group> but also needs it
22
+ // in the function signature... for reasons?!
23
+ const result = expanded.reduce((acc, entry) => {
24
+ // process fields
25
+ Object.entries(entry).forEach(([key, value]) => {
26
+ // Note: getProp/setProp are used to get around
27
+ // typescript issues with string indexing
28
+ if (acc.hasOwnProperty(key)) {
29
+ const existingValue = __1.getProp(acc, key);
30
+ // if the key is not to a special field
31
+ if (!specialFields.includes(key)) {
32
+ // treat as an IMatchOptions
33
+ __1.setProp(key, __1.mergeMatchOptions(existingValue, value), acc);
34
+ }
35
+ else if (dateFields.includes(key)) {
36
+ // treat as IDateRange
37
+ __1.setProp(key, __1.mergeDateRange(existingValue, value), acc);
38
+ }
39
+ else if (key === "term") {
40
+ // append terms
41
+ acc[key] = `${acc[key]} ${value}`;
42
+ }
43
+ }
44
+ else {
45
+ // Acc does not have an entry for this yet
46
+ // so just clone it
47
+ __1.setProp(key, __1.cloneObject(value), acc);
48
+ }
49
+ });
50
+ return acc;
51
+ }, {
52
+ filterType: "user",
53
+ });
54
+ return result;
55
+ }
56
+ exports.mergeUserFilters = mergeUserFilters;
57
+ /**
58
+ * Prior to serialization into the query syntax for the backing APIs, we first expand [Filters](../Filter)
59
+ *
60
+ * Filter's can express their intent in a very terse form, but to ensure consistent structures
61
+ * we expand them into their more verbose form.
62
+ *
63
+ * i.e. `firstname: "John"` expands into `firstname: { any: ["John"]}`
64
+ *
65
+ * - Fields defined as `string | string[] | MatchOptions` will be converted to a `MatchOptions`
66
+ * - RelativeDate fields are converted to DateRange<number>
67
+ * @param filter
68
+ * @returns
69
+ */
70
+ function expandUserFilter(filter) {
71
+ const result = {};
72
+ const dateProps = ["created", "modified", "lastlogin"];
73
+ const specialProps = ["disabled", "term", ...dateProps];
74
+ Object.entries(filter).forEach(([key, value]) => {
75
+ // handle Matchish fields
76
+ if (!specialProps.includes(key)) {
77
+ // setProp side-steps typescript complaining
78
+ __1.setProp(key, __1.valueToMatchOptions(value), result);
79
+ }
80
+ // Handle date fields
81
+ if (dateProps.includes(key)) {
82
+ const dateFieldValue = __1.cloneObject(__1.getProp(filter, key));
83
+ if (__1.getProp(filter, `${key}.type`) === "relative-date") {
84
+ __1.setProp(key, __1.relativeDateToDateRange(dateFieldValue), result);
85
+ }
86
+ else {
87
+ __1.setProp(key, dateFieldValue, result);
88
+ }
89
+ }
90
+ });
91
+ // disabled is boolean, so we check if the prop exists
92
+ // vs checking if the value is truthy
93
+ if (filter.hasOwnProperty("disabled")) {
94
+ result.disabled = filter.disabled;
95
+ }
96
+ if (filter.term) {
97
+ result.term = filter.term;
98
+ }
99
+ return result;
100
+ }
101
+ exports.expandUserFilter = expandUserFilter;
102
+ /**
103
+ * @private
104
+ * Serialize an `IUserFilterDefinition` into an `ISearchOptions` for use
105
+ * with `searchUsers`
106
+ * @param filter
107
+ * @returns
108
+ */
109
+ function serializeUserFilterForPortal(filter) {
110
+ let result = {
111
+ q: "",
112
+ filter: "",
113
+ };
114
+ const dateProps = ["created", "modified", "lastlogin"];
115
+ const specialProps = ["term", "filterType", ...dateProps];
116
+ Object.entries(filter).forEach(([key, value]) => {
117
+ // MatchOptions fields
118
+ if (!specialProps.includes(key)) {
119
+ result = __1.mergeSearchOptions(result, __1.serializeMatchOptions(key, value), "AND");
120
+ }
121
+ // Dates only go into q
122
+ if (dateProps.includes(key)) {
123
+ result = __1.mergeSearchOptions(result, __1.serializeDateRange(key, value), "AND");
124
+ }
125
+ });
126
+ // disabled is also a top-level property
127
+ if (filter.hasOwnProperty("disabled")) {
128
+ result.disabled = filter.disabled;
129
+ }
130
+ // add the term
131
+ if (filter.term) {
132
+ // Note: this is slightly different from other types
133
+ result.q = `(${filter.term}) ${result.q}`.trim();
134
+ }
135
+ return result;
136
+ }
137
+ exports.serializeUserFilterForPortal = serializeUserFilterForPortal;
138
+ //# sourceMappingURL=user-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-utils.js","sourceRoot":"","sources":["../../../src/search/user-utils.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@
2
2
  /* Copyright (c) 2018-2021 Environmental Systems Research Institute, Inc.
3
3
  * Apache-2.0 */
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.serializeStringOrArray = exports.serializeDateRange = exports.serializeMatchOptions = exports.mergeSearchOptions = exports.relativeDateToDateRange = exports.valueToMatchOptions = exports.mergeMatchOptions = exports.mergeDateRange = exports.mergeSearchResults = exports.expandApis = exports.SEARCH_APIS = void 0;
5
+ exports.getUserThumbnailUrl = exports.getGroupThumbnailUrl = exports.getNextFunction = exports.serializeStringOrArray = exports.serializeDateRange = exports.serializeMatchOptions = exports.mergeSearchOptions = exports.relativeDateToDateRange = exports.valueToMatchOptions = exports.mergeMatchOptions = exports.mergeDateRange = exports.expandApi = exports.expandApis = exports.SEARCH_APIS = void 0;
6
+ const arcgis_rest_auth_1 = require("@esri/arcgis-rest-auth");
6
7
  const util_1 = require("../util");
7
8
  /**
8
9
  * Well known APIs
@@ -42,55 +43,30 @@ exports.SEARCH_APIS = {
42
43
  };
43
44
  /**
44
45
  * @private
45
- * Convert api "names" into full ApiDefinitions
46
+ * Convert array of api "names" into full ApiDefinitions
46
47
  * @param apis
47
48
  * @returns
48
49
  */
49
50
  function expandApis(apis) {
50
- return apis.map((api) => {
51
- if (typeof api === "string" && api in exports.SEARCH_APIS) {
52
- return exports.SEARCH_APIS[api];
53
- }
54
- else {
55
- // it's an object, so we trust that it's well formed
56
- return api;
57
- }
58
- });
51
+ return apis.map(expandApi);
59
52
  }
60
53
  exports.expandApis = expandApis;
61
54
  /**
62
55
  * @private
63
- * Merge multiple search responses
64
- *
65
- * Naieve implementation that just merges arrays
66
- * @param responses
56
+ * Convert an api "name" into a full ApiDefinition
57
+ * @param api
67
58
  * @returns
68
59
  */
69
- function mergeSearchResults(responses) {
70
- // Merge content
71
- const results = responses.reduce((acc, response) => {
72
- if (response.results) {
73
- acc = acc.concat(response.results);
74
- }
75
- return acc;
76
- }, []);
77
- // Merge Facets
78
- const facets = responses.reduce((acc, response) => {
79
- if (response.facets) {
80
- acc = acc.concat(response.facets);
81
- }
82
- return acc;
83
- }, []);
84
- // Total
85
- const total = responses.reduce((acc, entry) => {
86
- if (entry.total) {
87
- acc = acc + entry.total;
88
- }
89
- return acc;
90
- }, 0);
91
- return { total, results, facets };
60
+ function expandApi(api) {
61
+ if (typeof api === "string" && api in exports.SEARCH_APIS) {
62
+ return exports.SEARCH_APIS[api];
63
+ }
64
+ else {
65
+ // it's an object, so we trust that it's well formed
66
+ return api;
67
+ }
92
68
  }
93
- exports.mergeSearchResults = mergeSearchResults;
69
+ exports.expandApi = expandApi;
94
70
  /**
95
71
  * @private
96
72
  * Merge two date ranges by taking the longest span
@@ -361,4 +337,70 @@ function serializeStringOrArray(join, key, value) {
361
337
  return q;
362
338
  }
363
339
  exports.serializeStringOrArray = serializeStringOrArray;
340
+ /**
341
+ * Create a `.next()` function for a type
342
+ * @param request
343
+ * @param nextStart
344
+ * @param total
345
+ * @param fn
346
+ * @returns
347
+ */
348
+ function getNextFunction(request, nextStart, total, fn) {
349
+ const clonedRequest = util_1.cloneObject(request);
350
+ // clone will not handle authentication so we do it manually
351
+ if (request.authentication) {
352
+ clonedRequest.authentication = arcgis_rest_auth_1.UserSession.deserialize(request.authentication.serialize());
353
+ }
354
+ // figure out the start
355
+ clonedRequest.start = nextStart > -1 ? nextStart : total + 1;
356
+ return (authentication) => {
357
+ if (authentication) {
358
+ clonedRequest.authentication = authentication;
359
+ }
360
+ return fn(clonedRequest);
361
+ };
362
+ }
363
+ exports.getNextFunction = getNextFunction;
364
+ /**
365
+ * Construct a the full url to a group thumbnail
366
+ *
367
+ * - If the group has a thumbnail, construct the full url
368
+ * - If the group is not public, append on the token
369
+ * @param portalUrl
370
+ * @param group
371
+ * @param token
372
+ * @returns
373
+ */
374
+ function getGroupThumbnailUrl(portalUrl, group, token) {
375
+ let thumbnailUrl = null;
376
+ if (group.thumbnail) {
377
+ thumbnailUrl = `${portalUrl}/community/groups/${group.id}/info/${group.thumbnail}`;
378
+ if (token && group.access !== "public") {
379
+ thumbnailUrl = `${thumbnailUrl}?token=${token}`;
380
+ }
381
+ }
382
+ return thumbnailUrl;
383
+ }
384
+ exports.getGroupThumbnailUrl = getGroupThumbnailUrl;
385
+ /**
386
+ * Construct a the full url to a user thumbnail
387
+ *
388
+ * - If the user has a thumbnail, construct the full url
389
+ * - If the user is not public, append on the token
390
+ * @param portalUrl
391
+ * @param user
392
+ * @param token
393
+ * @returns
394
+ */
395
+ function getUserThumbnailUrl(portalUrl, user, token) {
396
+ let thumbnailUrl = null;
397
+ if (user.thumbnail) {
398
+ thumbnailUrl = `${portalUrl}/community/users/${user.username}/info/${user.thumbnail}`;
399
+ if (token && user.access !== "public") {
400
+ thumbnailUrl = `${thumbnailUrl}?token=${token}`;
401
+ }
402
+ }
403
+ return thumbnailUrl;
404
+ }
405
+ exports.getUserThumbnailUrl = getUserThumbnailUrl;
364
406
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/search/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/search/utils.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,9 @@ function upgradeSiteSchema(model) {
25
25
  model = _purge_non_guids_from_catalog_1._purgeNonGuidsFromCatalog(model);
26
26
  model = _ensure_telemetry_1._ensureTelemetry(model);
27
27
  model = _migrate_feed_config_1._migrateFeedConfig(model);
28
+ // WARNING - If you are writing a site schema migration,
29
+ // you probably need to apply it to site drafts as well!
30
+ // See https://github.com/Esri/hub.js/issues/498 for more details.
28
31
  return model;
29
32
  }
30
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-site-schema.js","sourceRoot":"","sources":["../../../src/sites/upgrade-site-schema.ts"],"names":[],"mappings":";;;AACA,wCAAqC;AACrC,+DAA4D;AAC5D,6DAAwD;AACxD,6EAAwE;AACxE,uDAAmD;AACnD,mFAA4E;AAC5E,2DAAuD;AACvD,iEAA4D;AAE5D;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,IAAI,iBAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,yCAAmB,EAAE;QAC3E,OAAO,KAAK,CAAC;KACd;SAAM;QACL,sCAAsC;QACtC,KAAK,GAAG,qCAAgB,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,GAAG,qDAAwB,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,gCAAc,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,GAAG,yDAAyB,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,GAAG,oCAAgB,CAAS,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,yCAAkB,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAbD,8CAaC"}
1
+ {"version":3,"file":"upgrade-site-schema.js","sourceRoot":"","sources":["../../../src/sites/upgrade-site-schema.ts"],"names":[],"mappings":";;;AACA,wCAAqC;AACrC,+DAA4D;AAC5D,6DAAwD;AACxD,6EAAwE;AACxE,uDAAmD;AACnD,mFAA4E;AAC5E,2DAAuD;AACvD,iEAA4D;AAE5D;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,IAAI,iBAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,yCAAmB,EAAE;QAC3E,OAAO,KAAK,CAAC;KACd;SAAM;QACL,sCAAsC;QACtC,KAAK,GAAG,qCAAgB,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,GAAG,qDAAwB,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,gCAAc,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,GAAG,yDAAyB,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,GAAG,oCAAgB,CAAS,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,yCAAkB,CAAC,KAAK,CAAC,CAAC;QAClC,wDAAwD;QACxD,wDAAwD;QACxD,kEAAkE;QAClE,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAhBD,8CAgBC"}
@@ -8,6 +8,7 @@ tslib_1.__exportStar(require("./get-hub-locale-asset-url"), exports);
8
8
  tslib_1.__exportStar(require("./get-portal-api-url"), exports);
9
9
  tslib_1.__exportStar(require("./get-portal-url"), exports);
10
10
  tslib_1.__exportStar(require("./hub-cdn-urlmap"), exports);
11
+ tslib_1.__exportStar(require("./upgrade-protocol"), exports);
11
12
  tslib_1.__exportStar(require("./strip-protocol"), exports);
12
13
  tslib_1.__exportStar(require("./_get-http-and-https-uris"), exports);
13
14
  tslib_1.__exportStar(require("./_get-location"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/urls/index.ts"],"names":[],"mappings":";;;;AAAA,kCAAqC;AACrC,sDAA4B;AAC5B,qEAA2C;AAC3C,+DAAqC;AACrC,2DAAiC;AACjC,2DAAiC;AACjC,2DAAiC;AACjC,qEAA2C;AAC3C,0DAAgC;AAChC,wEAA8C;AAC9C,oEAA0C;AAC1C,8DAAoC;AACpC,6DAAmC;AACnC,8DAAoC;AAEpC,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AAEjE;;;;GAIG;AACU,QAAA,uBAAuB,GAAG,CAAC,GAAW,EAAE,EAAE;IACrD,OAAO,+BAA+B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF;;;;;GAKG;AACU,QAAA,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,iBAAU,CAAC,YAAY,CAAC,UAAU,CAAC;AAC/D,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/urls/index.ts"],"names":[],"mappings":";;;;AAAA,kCAAqC;AACrC,sDAA4B;AAC5B,qEAA2C;AAC3C,+DAAqC;AACrC,2DAAiC;AACjC,2DAAiC;AACjC,6DAAmC;AACnC,2DAAiC;AACjC,qEAA2C;AAC3C,0DAAgC;AAChC,wEAA8C;AAC9C,oEAA0C;AAC1C,8DAAoC;AACpC,6DAAmC;AACnC,8DAAoC;AAEpC,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AAEjE;;;;GAIG;AACU,QAAA,uBAAuB,GAAG,CAAC,GAAW,EAAE,EAAE;IACrD,OAAO,+BAA+B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF;;;;;GAKG;AACU,QAAA,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,iBAAU,CAAC,YAAY,CAAC,UAAU,CAAC;AAC/D,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.upgradeProtocol = void 0;
4
+ /**
5
+ * Add protocol or upgrade http to https
6
+ * @param {string} url
7
+ */
8
+ function upgradeProtocol(url) {
9
+ if (url.indexOf("http") === -1) {
10
+ return `https://${url}`;
11
+ }
12
+ else if (url.indexOf("http://") !== -1) {
13
+ return url.replace(/^http:/i, "https:");
14
+ }
15
+ return url;
16
+ }
17
+ exports.upgradeProtocol = upgradeProtocol;
18
+ //# sourceMappingURL=upgrade-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-protocol.js","sourceRoot":"","sources":["../../../src/urls/upgrade-protocol.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,SAAgB,eAAe,CAAC,GAAW;IACzC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;QAC9B,OAAO,WAAW,GAAG,EAAE,CAAC;KACzB;SAAM,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;QACxC,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;KACzC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAPD,0CAOC"}
@@ -217,6 +217,17 @@ export declare const setContentType: (content: IHubContent, type: string) => IHu
217
217
  * @returns new content
218
218
  */
219
219
  export declare const setContentHubId: (content: IHubContent, hubId: string) => IHubContent;
220
+ /**
221
+ * Calculates the relative and absolute urls for a given content on a specific site
222
+ *
223
+ * @param content
224
+ * @param siteModel
225
+ * @returns relative and absolute urls
226
+ */
227
+ export declare const getContentSiteUrls: (content: IHubContent, siteModel: IModel) => {
228
+ relative: string;
229
+ absolute: string;
230
+ };
220
231
  /**
221
232
  * append the absolute URL to the content on the site
222
233
  * also updates the relative URL in case the
@@ -1,7 +1,8 @@
1
- import { Filter, IHubSearchOptions, IContentSearchResult } from "./types";
1
+ import { Filter, IHubSearchOptions } from "./types";
2
+ import { IHubContent, ISearchResponse } from "..";
2
3
  /**
3
4
  * Search for content via the Portal or Hub API
4
5
  * @param filter
5
6
  * @param options
6
7
  */
7
- export declare function _searchContent(filter: Filter<"content">, options: IHubSearchOptions): Promise<IContentSearchResult>;
8
+ export declare function _searchContent(filter: Filter<"content">, options: IHubSearchOptions): Promise<ISearchResponse<IHubContent>>;
@@ -1,5 +1,6 @@
1
- import { IGroup, ISearchResult } from "@esri/arcgis-rest-portal";
1
+ import { IGroup } from "@esri/arcgis-rest-portal";
2
2
  import { Filter, IFacet, IHubSearchOptions } from "./types";
3
+ import { ISearchResponse } from "..";
3
4
  export interface IGroupSearchResult {
4
5
  groups: IGroup[];
5
6
  facets: IFacet[];
@@ -12,4 +13,4 @@ export interface IGroupSearchResult {
12
13
  * @param options
13
14
  * @returns
14
15
  */
15
- export declare function _searchGroups(filter: Filter<"group">, options: IHubSearchOptions): Promise<ISearchResult<IGroup>>;
16
+ export declare function _searchGroups(filter: Filter<"group">, options: IHubSearchOptions): Promise<ISearchResponse<IGroup>>;
@@ -0,0 +1,28 @@
1
+ import { IUser, UserSession } from "@esri/arcgis-rest-auth";
2
+ import { Filter, IHubSearchOptions, ISearchResponse } from "..";
3
+ /**
4
+ * Extends IHubSearchOptions to make auth mandatory
5
+ */
6
+ export interface IAuthenticatedHubSearchOptions extends IHubSearchOptions {
7
+ authentication: UserSession;
8
+ }
9
+ /**
10
+ * Extends `IUser` with url optional props for the user's
11
+ * profile and thumbnail
12
+ */
13
+ export interface IHubUser extends IUser {
14
+ profileUrl?: string;
15
+ thumbnailUrl?: string;
16
+ }
17
+ /**
18
+ * Search for Users via the Portal API.
19
+ *
20
+ * **Note** Authentication is required
21
+ *
22
+ * Note: in the future, there may be options to search via
23
+ * a Hub specific API
24
+ * @param filter
25
+ * @param options
26
+ * @returns
27
+ */
28
+ export declare function _searchUsers(filter: Filter<"user">, options: IAuthenticatedHubSearchOptions): Promise<ISearchResponse<IHubUser>>;
@@ -1,7 +1,9 @@
1
1
  export * from "./hub-api-search";
2
2
  export * from "./content-utils";
3
3
  export * from "./group-utils";
4
+ export * from "./user-utils";
4
5
  export * from "./utils";
5
6
  export * from "./types";
6
7
  export * from "./_searchContent";
7
8
  export * from "./_searchGroups";
9
+ export * from "./_searchUsers";