@esri/hub-common 9.43.3 → 9.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/dist/es2017/ArcGISContext.js +1 -1
  2. package/dist/es2017/ArcGISContext.js.map +1 -1
  3. package/dist/es2017/search/Collection.js +71 -0
  4. package/dist/es2017/search/Collection.js.map +1 -0
  5. package/dist/es2017/search/_internal/ifilter-utils.js +221 -0
  6. package/dist/es2017/search/_internal/ifilter-utils.js.map +1 -0
  7. package/dist/es2017/search/_internal/portalSearchGroups.js +47 -2
  8. package/dist/es2017/search/_internal/portalSearchGroups.js.map +1 -1
  9. package/dist/es2017/search/_internal/portalSearchItems.js +100 -7
  10. package/dist/es2017/search/_internal/portalSearchItems.js.map +1 -1
  11. package/dist/es2017/search/_internal/portalSearchUsers.js +46 -1
  12. package/dist/es2017/search/_internal/portalSearchUsers.js.map +1 -1
  13. package/dist/es2017/search/_internal/portalSearchUtils.js +22 -0
  14. package/dist/es2017/search/_internal/portalSearchUtils.js.map +1 -0
  15. package/dist/es2017/search/filter-utils.js +1 -0
  16. package/dist/es2017/search/filter-utils.js.map +1 -1
  17. package/dist/es2017/search/hubSearch.js +47 -3
  18. package/dist/es2017/search/hubSearch.js.map +1 -1
  19. package/dist/es2017/search/types/IHubAggregation.js +1 -0
  20. package/dist/es2017/search/types/IHubAggregation.js.map +1 -0
  21. package/dist/es2017/search/types/IHubCatalog.js +1 -0
  22. package/dist/es2017/search/types/IHubCatalog.js.map +1 -0
  23. package/dist/es2017/search/types/index.js +2 -0
  24. package/dist/es2017/search/types/index.js.map +1 -1
  25. package/dist/esm/ArcGISContext.js +1 -1
  26. package/dist/esm/ArcGISContext.js.map +1 -1
  27. package/dist/esm/search/Collection.js +106 -0
  28. package/dist/esm/search/Collection.js.map +1 -0
  29. package/dist/esm/search/_internal/ifilter-utils.js +222 -0
  30. package/dist/esm/search/_internal/ifilter-utils.js.map +1 -0
  31. package/dist/esm/search/_internal/portalSearchGroups.js +50 -2
  32. package/dist/esm/search/_internal/portalSearchGroups.js.map +1 -1
  33. package/dist/esm/search/_internal/portalSearchItems.js +101 -7
  34. package/dist/esm/search/_internal/portalSearchItems.js.map +1 -1
  35. package/dist/esm/search/_internal/portalSearchUsers.js +49 -1
  36. package/dist/esm/search/_internal/portalSearchUsers.js.map +1 -1
  37. package/dist/esm/search/_internal/portalSearchUtils.js +22 -0
  38. package/dist/esm/search/_internal/portalSearchUtils.js.map +1 -0
  39. package/dist/esm/search/filter-utils.js +1 -0
  40. package/dist/esm/search/filter-utils.js.map +1 -1
  41. package/dist/esm/search/hubSearch.js +50 -3
  42. package/dist/esm/search/hubSearch.js.map +1 -1
  43. package/dist/esm/search/types/IHubAggregation.js +1 -0
  44. package/dist/esm/search/types/IHubAggregation.js.map +1 -0
  45. package/dist/esm/search/types/IHubCatalog.js +1 -0
  46. package/dist/esm/search/types/IHubCatalog.js.map +1 -0
  47. package/dist/esm/search/types/index.js +2 -0
  48. package/dist/esm/search/types/index.js.map +1 -1
  49. package/dist/node/ArcGISContext.js +1 -1
  50. package/dist/node/ArcGISContext.js.map +1 -1
  51. package/dist/node/search/Collection.js +75 -0
  52. package/dist/node/search/Collection.js.map +1 -0
  53. package/dist/node/search/_internal/ifilter-utils.js +226 -0
  54. package/dist/node/search/_internal/ifilter-utils.js.map +1 -0
  55. package/dist/node/search/_internal/portalSearchGroups.js +49 -3
  56. package/dist/node/search/_internal/portalSearchGroups.js.map +1 -1
  57. package/dist/node/search/_internal/portalSearchItems.js +103 -7
  58. package/dist/node/search/_internal/portalSearchItems.js.map +1 -1
  59. package/dist/node/search/_internal/portalSearchUsers.js +48 -2
  60. package/dist/node/search/_internal/portalSearchUsers.js.map +1 -1
  61. package/dist/node/search/_internal/portalSearchUtils.js +26 -0
  62. package/dist/node/search/_internal/portalSearchUtils.js.map +1 -0
  63. package/dist/node/search/filter-utils.js +1 -0
  64. package/dist/node/search/filter-utils.js.map +1 -1
  65. package/dist/node/search/hubSearch.js +48 -3
  66. package/dist/node/search/hubSearch.js.map +1 -1
  67. package/dist/node/search/types/IHubAggregation.js +3 -0
  68. package/dist/node/search/types/IHubAggregation.js.map +1 -0
  69. package/dist/node/search/types/IHubCatalog.js +3 -0
  70. package/dist/node/search/types/IHubCatalog.js.map +1 -0
  71. package/dist/node/search/types/index.js +2 -0
  72. package/dist/node/search/types/index.js.map +1 -1
  73. package/dist/types/core/types/IHubTimeline.d.ts +0 -5
  74. package/dist/types/search/Collection.d.ts +18 -0
  75. package/dist/types/search/_internal/ifilter-utils.d.ts +4 -0
  76. package/dist/types/search/_internal/portalSearchGroups.d.ts +12 -3
  77. package/dist/types/search/_internal/portalSearchItems.d.ts +28 -4
  78. package/dist/types/search/_internal/portalSearchUsers.d.ts +11 -2
  79. package/dist/types/search/_internal/portalSearchUtils.d.ts +9 -0
  80. package/dist/types/search/hubSearch.d.ts +11 -1
  81. package/dist/types/search/types/IHubAggregation.d.ts +11 -0
  82. package/dist/types/search/types/IHubCatalog.d.ts +71 -0
  83. package/dist/types/search/types/IHubSearchResponse.d.ts +2 -0
  84. package/dist/types/search/types/index.d.ts +2 -0
  85. package/dist/umd/common.umd.js +519 -45
  86. package/dist/umd/common.umd.js.map +1 -1
  87. package/package.json +1 -1
@@ -1,18 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.portalSearchUsers = void 0;
3
+ exports.portalSearchUsers = exports.portalSearchUsersFilterGroups = void 0;
4
4
  const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
5
  const __1 = require("../..");
6
+ const ifilter_utils_1 = require("./ifilter-utils");
6
7
  const HubError_1 = require("../../HubError");
7
8
  const filter_utils_1 = require("../filter-utils");
8
9
  const utils_1 = require("../utils");
9
10
  /**
10
11
  * @private
12
+ * DEPRECATED: Use `portalSearchUsers`
11
13
  * Portal Search implementation for Users
12
14
  * @param filterGroups
13
15
  * @param options
14
16
  */
15
- async function portalSearchUsers(filterGroups, options) {
17
+ async function portalSearchUsersFilterGroups(filterGroups, options) {
16
18
  // requestOptions is always required and user must be authd
17
19
  if (!options.requestOptions) {
18
20
  throw new HubError_1.default("portalSearchUsers", "requestOptions: IHubRequestOptions is required.");
@@ -47,6 +49,50 @@ async function portalSearchUsers(filterGroups, options) {
47
49
  // Execute search
48
50
  return searchPortal(so);
49
51
  }
52
+ exports.portalSearchUsersFilterGroups = portalSearchUsersFilterGroups;
53
+ /**
54
+ * @private
55
+ * Portal Search Implementation for Users
56
+ * @param filterGroups
57
+ * @param options
58
+ * @returns
59
+ */
60
+ async function portalSearchUsers(query, options) {
61
+ // requestOptions is always required and user must be authd
62
+ if (!options.requestOptions) {
63
+ throw new HubError_1.default("portalSearchUsers", "requestOptions: IHubRequestOptions is required.");
64
+ }
65
+ if (!options.requestOptions.authentication) {
66
+ throw new HubError_1.default("portalSearchUsers", "requestOptions must pass authentication.");
67
+ }
68
+ // Expand the individual predicates in each filter
69
+ query.filters = query.filters.map((filter) => {
70
+ filter.predicates = filter.predicates.map(ifilter_utils_1.expandPredicate);
71
+ return filter;
72
+ });
73
+ // Serialize the all the groups for portal
74
+ const so = ifilter_utils_1.serializeQueryForPortal(query);
75
+ // Array of properties we want to copy from IHubSearchOptions to the ISearchOptions
76
+ const props = [
77
+ "num",
78
+ "sortField",
79
+ "sortOrder",
80
+ "include",
81
+ "start",
82
+ "requestOptions",
83
+ ];
84
+ // copy the props over
85
+ props.forEach((prop) => {
86
+ if (options.hasOwnProperty(prop)) {
87
+ so[prop] = options[prop];
88
+ }
89
+ });
90
+ // Unlike Groups and Item, the Users api *requires* authentication
91
+ // so we set it directly
92
+ so.authentication = options.requestOptions.authentication;
93
+ // Execute search
94
+ return searchPortal(so);
95
+ }
50
96
  exports.portalSearchUsers = portalSearchUsers;
51
97
  /**
52
98
  * Internal portal search, which then converts `IGroup`s to `IHubSearchResult`s
@@ -1 +1 @@
1
- {"version":3,"file":"portalSearchUsers.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchUsers.ts"],"names":[],"mappings":";;;AAAA,iEAIkC;AAElC,6BAAuD;AAEvD,6CAAsC;AAGtC,kDAA+E;AAQ/E,oCAAsD;AAEtD;;;;;GAKG;AACI,KAAK,UAAU,iBAAiB,CACrC,YAAyC,EACzC,OAA0B;IAE1B,2DAA2D;IAC3D,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;QAC3B,MAAM,IAAI,kBAAQ,CAChB,mBAAmB,EACnB,iDAAiD,CAClD,CAAC;KACH;IAED,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE;QAC1C,MAAM,IAAI,kBAAQ,CAChB,mBAAmB,EACnB,0CAA0C,CAC3C,CAAC;KACH;IAED,sDAAsD;IACtD,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAC7C,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,2BAAY,CAAC,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,EAAE,GAAG,6CAA8B,CAAC,cAAc,CAAC,CAAC;IAC1D,mFAAmF;IACnF,MAAM,KAAK,GAAmC;QAC5C,KAAK;QACL,WAAW;QACX,WAAW;QACX,SAAS;QACT,OAAO;QACP,gBAAgB;KACjB,CAAC;IACF,sBAAsB;IACtB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAChC,EAAE,CAAC,IAA4B,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SAClD;IACH,CAAC,CAAC,CAAC;IAEH,kCAAkC;IAClC,EAAE,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC;IAE1D,iBAAiB;IACjB,OAAO,YAAY,CAAC,EAAwB,CAAC,CAAC;AAChD,CAAC;AAhDD,8CAgDC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,YAAY,CACzB,aAAiC;IAEjC,wBAAwB;IACxB,MAAM,IAAI,GAAG,MAAM,gCAAW,CAAC,aAAa,CAAC,CAAC;IAE9C,qCAAqC;IACrC,uCAAuC;IACvC,MAAM,EAAE,GAAG,CAAC,IAAW,EAAE,EAAE;QACzB,OAAO,kBAAkB,CACvB,IAAI,EACJ,aAAa,CAAC,OAAO,EACrB,aAAa,CAAC,cAAc,CAC7B,CAAC;IACJ,CAAC,CAAC;IAEF,mBAAmB;IACnB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAExD,6CAA6C;IAC7C,uBAAuB;IACvB,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO;QACP,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QAC5B,IAAI,EAAE,uBAAe,CACnB,aAAa,EACb,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,KAAK,EACV,YAAY,CACb;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,kBAAkB,CAC/B,IAAW,EACX,WAAqB,EAAE,EACvB,cAAmC;IAEnC,+BAA+B;IAC/B,iDAAiD;IACjD,6CAA6C;IAC7C,mCAAmC;IACnC,OAAO,0BAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"portalSearchUsers.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchUsers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertPortalAggregations = void 0;
4
+ /**
5
+ * @private
6
+ * Convert a portal aggregation structure into the HubAggregations structure
7
+ * @param searchResults
8
+ * @returns
9
+ */
10
+ function convertPortalAggregations(searchResults) {
11
+ var _a;
12
+ if ((_a = searchResults.aggregations) === null || _a === void 0 ? void 0 : _a.counts) {
13
+ return searchResults.aggregations.counts.map((entry) => {
14
+ return {
15
+ mode: "terms",
16
+ field: entry.fieldName,
17
+ values: entry.fieldValues,
18
+ };
19
+ });
20
+ }
21
+ else {
22
+ return [];
23
+ }
24
+ }
25
+ exports.convertPortalAggregations = convertPortalAggregations;
26
+ //# sourceMappingURL=portalSearchUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portalSearchUtils.js","sourceRoot":"","sources":["../../../../src/search/_internal/portalSearchUtils.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AACH,SAAgB,yBAAyB,CACvC,aAA+B;;IAE/B,UAAI,aAAa,CAAC,YAAY,0CAAE,MAAM,EAAE;QACtC,OAAO,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACrD,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK,CAAC,SAAS;gBACtB,MAAM,EAAE,KAAK,CAAC,WAAW;aAC1B,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAdD,8DAcC"}
@@ -4,6 +4,7 @@ exports.isEmptyFilterGroup = exports.isEmptyFilter = exports.serializeFilterGrou
4
4
  const objects_1 = require("../objects");
5
5
  const util_1 = require("../util");
6
6
  const utils_1 = require("./utils");
7
+ // DEPRECATED - REMOVE THIS FILE
7
8
  /**
8
9
  * Expand a Filter into it's more expressive structure so it can be
9
10
  * serialized deterministically.
@@ -1 +1 @@
1
- {"version":3,"file":"filter-utils.js","sourceRoot":"","sources":["../../../src/search/filter-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter-utils.js","sourceRoot":"","sources":["../../../src/search/filter-utils.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hubSearch = void 0;
3
+ exports.hubSearchQuery = exports.hubSearch = void 0;
4
4
  const HubError_1 = require("../HubError");
5
5
  const objects_1 = require("../objects");
6
6
  const util_1 = require("../util");
@@ -35,6 +35,51 @@ async function hubSearch(filterGroups, options) {
35
35
  const filterType = filterGroups[0].filterType;
36
36
  // get the API
37
37
  const apiType = utils_1.expandApi(options.api || "arcgis").type;
38
+ const fnHash = {
39
+ arcgis: {
40
+ item: _internal_1.portalSearchItemsFilterGroups,
41
+ group: _internal_1.portalSearchGroupsFilterGroups,
42
+ user: portalSearchUsers_1.portalSearchUsersFilterGroups,
43
+ },
44
+ "arcgis-hub": {
45
+ item: _internal_1.hubSearchItems,
46
+ },
47
+ };
48
+ const fn = objects_1.getProp(fnHash, `${apiType}.${filterType}`);
49
+ if (!fn) {
50
+ throw new HubError_1.default(`hubSearch`, `Search via "${filterType}" filter against "${apiType}" api is not implemented`);
51
+ }
52
+ return fn(util_1.cloneObject(filterGroups), options);
53
+ }
54
+ exports.hubSearch = hubSearch;
55
+ /**
56
+ * Main entrypoint for searching via Hub
57
+ *
58
+ * Default's to search ArcGIS Portal but can delegate
59
+ * to Hub API when it's available.
60
+ * @param query
61
+ * @param options
62
+ * @returns
63
+ */
64
+ async function hubSearchQuery(query, options) {
65
+ // Validate inputs
66
+ if (!query) {
67
+ throw new HubError_1.default("hubSearch", "Query is required.");
68
+ }
69
+ if (!query.filters || !query.filters.length) {
70
+ throw new HubError_1.default("hubSearch", "Query must contain at least one Filter.");
71
+ }
72
+ if (!options.requestOptions) {
73
+ throw new HubError_1.default("hubSearch", "requestOptions: IHubRequestOptions is required.");
74
+ }
75
+ // Ensure includes is an array
76
+ if (!options.include) {
77
+ options.include = [];
78
+ }
79
+ // Get the type of the first filterGroup
80
+ const filterType = query.targetEntity;
81
+ // get the API
82
+ const apiType = utils_1.expandApi(options.api || "arcgis").type;
38
83
  const fnHash = {
39
84
  arcgis: {
40
85
  item: _internal_1.portalSearchItems,
@@ -49,7 +94,7 @@ async function hubSearch(filterGroups, options) {
49
94
  if (!fn) {
50
95
  throw new HubError_1.default(`hubSearch`, `Search via "${filterType}" filter against "${apiType}" api is not implemented`);
51
96
  }
52
- return fn(util_1.cloneObject(filterGroups), options);
97
+ return fn(util_1.cloneObject(query), options);
53
98
  }
54
- exports.hubSearch = hubSearch;
99
+ exports.hubSearchQuery = hubSearchQuery;
55
100
  //# sourceMappingURL=hubSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hubSearch.js","sourceRoot":"","sources":["../../../src/search/hubSearch.ts"],"names":[],"mappings":";;;AAAA,0CAAmC;AACnC,wCAAqC;AACrC,kCAAsC;AAStC,mCAAoC;AACpC,2CAIqB;AACrB,qEAAkE;AAElE;;;;;;;;GAQG;AACI,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,kBAAQ,CAChB,WAAW,EACX,iDAAiD,CAClD,CAAC;KACH;IACD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QACxB,MAAM,IAAI,kBAAQ,CAChB,WAAW,EACX,oDAAoD,CACrD,CAAC;KACH;IAED,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;QAC3B,MAAM,IAAI,kBAAQ,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,iBAAS,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC,IAAI,CAAC;IAExD,MAAM,MAAM,GAAG;QACb,MAAM,EAAE;YACN,IAAI,EAAE,6BAAiB;YACvB,KAAK,EAAE,8BAAkB;YACzB,IAAI,EAAE,qCAAiB;SACxB;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,0BAAc;SACrB;KACF,CAAC;IAEF,MAAM,EAAE,GAAG,iBAAO,CAAC,MAAM,EAAE,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE,EAAE;QACP,MAAM,IAAI,kBAAQ,CAChB,WAAW,EACX,eAAe,UAAU,qBAAqB,OAAO,0BAA0B,CAChF,CAAC;KACH;IACD,OAAO,EAAE,CAAC,kBAAW,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAtDD,8BAsDC"}
1
+ {"version":3,"file":"hubSearch.js","sourceRoot":"","sources":["../../../src/search/hubSearch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IHubAggregation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHubAggregation.js","sourceRoot":"","sources":["../../../../src/search/types/IHubAggregation.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IHubCatalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHubCatalog.js","sourceRoot":"","sources":["../../../../src/search/types/IHubCatalog.ts"],"names":[],"mappings":""}
@@ -5,9 +5,11 @@ tslib_1.__exportStar(require("./ICatalog"), exports);
5
5
  tslib_1.__exportStar(require("./ICollection"), exports);
6
6
  tslib_1.__exportStar(require("./IFacet"), exports);
7
7
  tslib_1.__exportStar(require("./IFacetOption"), exports);
8
+ tslib_1.__exportStar(require("./IHubAggregation"), exports);
8
9
  tslib_1.__exportStar(require("./IHubApiSearchRequest"), exports);
9
10
  tslib_1.__exportStar(require("./IHubSearchOptions"), exports);
10
11
  tslib_1.__exportStar(require("./IHubSearchResult"), exports);
11
12
  tslib_1.__exportStar(require("./IHubSearchResponse"), exports);
12
13
  tslib_1.__exportStar(require("./types"), exports);
14
+ tslib_1.__exportStar(require("./IHubCatalog"), exports);
13
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/search/types/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,wDAA8B;AAC9B,mDAAyB;AACzB,yDAA+B;AAC/B,iEAAuC;AACvC,8DAAoC;AACpC,6DAAmC;AACnC,+DAAqC;AACrC,kDAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/search/types/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,wDAA8B;AAC9B,mDAAyB;AACzB,yDAA+B;AAC/B,4DAAkC;AAClC,iEAAuC;AACvC,8DAAoC;AACpC,6DAAmC;AACnC,+DAAqC;AACrC,kDAAwB;AACxB,wDAA8B"}
@@ -31,9 +31,4 @@ export interface IHubStage {
31
31
  * Stage status
32
32
  */
33
33
  status: string;
34
- /**
35
- * Icon Name
36
- */
37
- icon: string;
38
- isEditing?: boolean;
39
34
  }
@@ -0,0 +1,18 @@
1
+ import { IArcGISContext } from "..";
2
+ import { IHubCollection, IHubSearchOptions, IHubSearchResponse, IHubSearchResult, IQuery } from "./types";
3
+ /**
4
+ * Implements Collection behavior
5
+ */
6
+ export declare class Collection implements IHubCollection {
7
+ private _context;
8
+ private _collection;
9
+ private constructor();
10
+ static create(collection: IHubCollection, context?: IArcGISContext): Promise<Collection>;
11
+ get label(): string;
12
+ get key(): string;
13
+ get include(): string[];
14
+ get scope(): IQuery;
15
+ get sortField(): string;
16
+ get sortDirection(): "asc" | "desc";
17
+ search(query: string | IQuery, options?: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
18
+ }
@@ -0,0 +1,4 @@
1
+ import { ISearchOptions } from "@esri/arcgis-rest-portal";
2
+ import { IPredicate, IQuery } from "../types";
3
+ export declare function expandPredicate(predicate: IPredicate): IPredicate;
4
+ export declare function serializeQueryForPortal(query: IQuery): ISearchOptions;
@@ -1,9 +1,18 @@
1
- import { IFilterGroup, IHubSearchOptions, IHubSearchResponse, IHubSearchResult } from "../types";
1
+ import { IFilterGroup, IHubSearchOptions, IHubSearchResponse, IHubSearchResult, IQuery } from "../types";
2
2
  /**
3
3
  * @private
4
- * Portal Search Implementation for Items
4
+ * DEPRECATED: Use `portalSerchGroups`
5
+ * Portal Search Implementation for Groups
5
6
  * @param filterGroups
6
7
  * @param options
7
8
  * @returns
8
9
  */
9
- export declare function portalSearchGroups(filterGroups: Array<IFilterGroup<"group">>, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
10
+ export declare function portalSearchGroupsFilterGroups(filterGroups: Array<IFilterGroup<"group">>, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
11
+ /**
12
+ * @private
13
+ * Portal Search Implementation for Groups
14
+ * @param query
15
+ * @param options
16
+ * @returns
17
+ */
18
+ export declare function portalSearchGroups(query: IQuery, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
@@ -1,12 +1,20 @@
1
- import { Filter, IFilterGroup, IHubSearchOptions, IHubSearchResponse, IHubSearchResult } from "../types";
1
+ import { Filter, IFilterGroup, IHubSearchOptions, IHubSearchResponse, IHubSearchResult, IMatchOptions, IQuery } from "../types";
2
2
  /**
3
3
  * @private
4
- * Portal Search Implementation for Items
4
+ * DEPRECATED
5
5
  * @param filterGroups
6
6
  * @param options
7
7
  * @returns
8
8
  */
9
- export declare function portalSearchItems(filterGroups: Array<IFilterGroup<"item">>, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
9
+ export declare function portalSearchItemsFilterGroups(filterGroups: Array<IFilterGroup<"item">>, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
10
+ /**
11
+ * @private
12
+ * Portal Search Implementation for Items
13
+ * @param query
14
+ * @param options
15
+ * @returns
16
+ */
17
+ export declare function portalSearchItems(query: IQuery, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
10
18
  interface IWellKnownItemFilters {
11
19
  $application: Array<Filter<"item">>;
12
20
  $feedback: Array<Filter<"item">>;
@@ -39,5 +47,21 @@ export declare const WellKnownItemFilters: IWellKnownItemFilters;
39
47
  * Only exported to enable extensive testing
40
48
  * @param filterGroups
41
49
  */
42
- export declare function applyWellKnownItemFilters(filterGroups: Array<IFilterGroup<"item">>): Array<IFilterGroup<"item">>;
50
+ export declare function applyWellKnownItemPredicates(query: IQuery): IQuery;
51
+ /**
52
+ * DEPRECATED
53
+ * @param filterGroups
54
+ * @returns
55
+ */
56
+ export declare function applyWellKnownItemFilterGroups(filterGroups: Array<IFilterGroup<"item">>): Array<IFilterGroup<"item">>;
57
+ /**
58
+ * Is the argument a well-known type "key"
59
+ *
60
+ * Accepts `string`, `string[]` or `IMatchOptions`
61
+ * but only string values can possibly be keys
62
+ * on `WellKnownItemFilters`
63
+ * @param key
64
+ * @returns
65
+ */
66
+ export declare function isWellKnownTypeFilter(key: string | string[] | IMatchOptions): boolean;
43
67
  export {};
@@ -1,8 +1,17 @@
1
- import { IFilterGroup, IHubSearchOptions, IHubSearchResponse, IHubSearchResult } from "../types";
1
+ import { IFilterGroup, IHubSearchOptions, IHubSearchResponse, IHubSearchResult, IQuery } from "../types";
2
2
  /**
3
3
  * @private
4
+ * DEPRECATED: Use `portalSearchUsers`
4
5
  * Portal Search implementation for Users
5
6
  * @param filterGroups
6
7
  * @param options
7
8
  */
8
- export declare function portalSearchUsers(filterGroups: Array<IFilterGroup<"user">>, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
9
+ export declare function portalSearchUsersFilterGroups(filterGroups: Array<IFilterGroup<"user">>, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
10
+ /**
11
+ * @private
12
+ * Portal Search Implementation for Users
13
+ * @param filterGroups
14
+ * @param options
15
+ * @returns
16
+ */
17
+ export declare function portalSearchUsers(query: IQuery, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
@@ -0,0 +1,9 @@
1
+ import { ISearchResult } from "@esri/arcgis-rest-portal";
2
+ import { IHubAggregation } from "../types";
3
+ /**
4
+ * @private
5
+ * Convert a portal aggregation structure into the HubAggregations structure
6
+ * @param searchResults
7
+ * @returns
8
+ */
9
+ export declare function convertPortalAggregations<T>(searchResults: ISearchResult<T>): IHubAggregation[];
@@ -1,4 +1,4 @@
1
- import { IFilterGroup, FilterType, IHubSearchOptions, IHubSearchResponse, IHubSearchResult } from "./types";
1
+ import { IFilterGroup, FilterType, IHubSearchOptions, IHubSearchResponse, IHubSearchResult, IQuery } from "./types";
2
2
  /**
3
3
  * Main Search function for ArcGIS Hub
4
4
  *
@@ -9,3 +9,13 @@ import { IFilterGroup, FilterType, IHubSearchOptions, IHubSearchResponse, IHubSe
9
9
  * @returns
10
10
  */
11
11
  export declare function hubSearch(filterGroups: Array<IFilterGroup<FilterType>>, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
12
+ /**
13
+ * Main entrypoint for searching via Hub
14
+ *
15
+ * Default's to search ArcGIS Portal but can delegate
16
+ * to Hub API when it's available.
17
+ * @param query
18
+ * @param options
19
+ * @returns
20
+ */
21
+ export declare function hubSearchQuery(query: IQuery, options: IHubSearchOptions): Promise<IHubSearchResponse<IHubSearchResult>>;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Structure for Search Aggregations in ArcGIS Hub
3
+ */
4
+ export interface IHubAggregation {
5
+ mode: string;
6
+ field: string;
7
+ values: Array<{
8
+ value: any;
9
+ count: number;
10
+ }>;
11
+ }
@@ -0,0 +1,71 @@
1
+ export interface IHubCatalog {
2
+ /**
3
+ * Title for the Gallery
4
+ */
5
+ title?: string;
6
+ /**
7
+ * Filter defines the "scopes" of the Catalog, on a per entity type basis
8
+ */
9
+ scopes?: ICatalogScope;
10
+ /**
11
+ * Collections within the Catalog
12
+ */
13
+ collections?: IHubCollection[];
14
+ }
15
+ export interface ICatalogScope extends Record<EntityType, IQuery> {
16
+ }
17
+ export interface IHubCollection {
18
+ /**
19
+ * String to show in the UI. translated.
20
+ */
21
+ label: string;
22
+ /**
23
+ * Unique key, used for query params and telemetry
24
+ */
25
+ key: string;
26
+ /**
27
+ * Specify the includes to be requested when working with this collection
28
+ */
29
+ include?: string[];
30
+ /**
31
+ * Default query for the Collection
32
+ */
33
+ scope: IQuery;
34
+ /**
35
+ * Default sort field for the Collection
36
+ */
37
+ sortField?: string;
38
+ /**
39
+ * Default sort direction for the Collection
40
+ */
41
+ sortDirection?: "asc" | "desc";
42
+ }
43
+ export declare type EntityType = "item" | "group" | "user" | "groupMember" | "event";
44
+ export interface IQuery {
45
+ /**
46
+ * What entity is this query targeting. This is used internally to
47
+ * ensure we query the correct API
48
+ */
49
+ targetEntity: EntityType;
50
+ /**
51
+ * Filters that make up the query
52
+ */
53
+ filters: IFilter[];
54
+ /**
55
+ * Additional properties. Useful for groupMember queries
56
+ * where we need to send in the groupId to construct the url
57
+ */
58
+ properties?: Record<string, any>;
59
+ }
60
+ export interface IFilter {
61
+ /**
62
+ * Operation used to combine the predicates
63
+ */
64
+ operation?: "AND" | "OR";
65
+ /**
66
+ * Predicates
67
+ */
68
+ predicates: IPredicate[];
69
+ }
70
+ export interface IPredicate extends Record<string, any> {
71
+ }
@@ -1,4 +1,5 @@
1
1
  import { IFacet } from "./IFacet";
2
+ import { IHubAggregation } from "./IHubAggregation";
2
3
  /**
3
4
  * Defines a generic search response interface with parameterized result type
4
5
  * for different types of searches
@@ -13,5 +14,6 @@ export interface IHubSearchResponse<T> {
13
14
  results: T[];
14
15
  hasNext: boolean;
15
16
  next: (params?: any) => Promise<IHubSearchResponse<T>>;
17
+ aggregations?: IHubAggregation[];
16
18
  facets?: IFacet[];
17
19
  }
@@ -2,8 +2,10 @@ export * from "./ICatalog";
2
2
  export * from "./ICollection";
3
3
  export * from "./IFacet";
4
4
  export * from "./IFacetOption";
5
+ export * from "./IHubAggregation";
5
6
  export * from "./IHubApiSearchRequest";
6
7
  export * from "./IHubSearchOptions";
7
8
  export * from "./IHubSearchResult";
8
9
  export * from "./IHubSearchResponse";
9
10
  export * from "./types";
11
+ export * from "./IHubCatalog";