@esri/hub-common 9.48.0 → 10.0.0-next.2

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 (248) hide show
  1. package/dist/es2017/core/traits/WithCatalog.js +1 -0
  2. package/dist/es2017/core/traits/WithCatalog.js.map +1 -0
  3. package/dist/es2017/index.js +1 -0
  4. package/dist/es2017/index.js.map +1 -1
  5. package/dist/es2017/projects/HubProjects.js.map +1 -1
  6. package/dist/es2017/search/Catalog.js +346 -0
  7. package/dist/es2017/search/Catalog.js.map +1 -0
  8. package/dist/es2017/search/Collection.js +38 -19
  9. package/dist/es2017/search/Collection.js.map +1 -1
  10. package/dist/es2017/search/_internal/{ipredicate-utils.js → expandPredicate.js} +1 -1
  11. package/dist/es2017/search/_internal/expandPredicate.js.map +1 -0
  12. package/dist/es2017/search/_internal/hubSearchItems.js +3 -137
  13. package/dist/es2017/search/_internal/hubSearchItems.js.map +1 -1
  14. package/dist/es2017/search/_internal/index.js +0 -1
  15. package/dist/es2017/search/_internal/index.js.map +1 -1
  16. package/dist/es2017/search/_internal/portalSearchGroups.js +1 -2
  17. package/dist/es2017/search/_internal/portalSearchGroups.js.map +1 -1
  18. package/dist/es2017/search/_internal/portalSearchItems.js +5 -30
  19. package/dist/es2017/search/_internal/portalSearchItems.js.map +1 -1
  20. package/dist/es2017/search/_internal/portalSearchUsers.js +1 -2
  21. package/dist/es2017/search/_internal/portalSearchUsers.js.map +1 -1
  22. package/dist/es2017/search/fetchCatalog.js +46 -0
  23. package/dist/es2017/search/fetchCatalog.js.map +1 -0
  24. package/dist/es2017/search/hubSearch.js +1 -1
  25. package/dist/es2017/search/hubSearch.js.map +1 -1
  26. package/dist/es2017/search/index.js +3 -9
  27. package/dist/es2017/search/index.js.map +1 -1
  28. package/dist/es2017/search/serializeQueryForPortal.js +1 -1
  29. package/dist/es2017/search/serializeQueryForPortal.js.map +1 -1
  30. package/dist/es2017/search/types/index.js +0 -5
  31. package/dist/es2017/search/types/index.js.map +1 -1
  32. package/dist/es2017/search/upgradeCatalogSchema.js +66 -0
  33. package/dist/es2017/search/upgradeCatalogSchema.js.map +1 -0
  34. package/dist/es2017/search/utils.js +1 -207
  35. package/dist/es2017/search/utils.js.map +1 -1
  36. package/dist/es2017/types/IMessage.js +1 -0
  37. package/dist/es2017/types/IMessage.js.map +1 -0
  38. package/dist/es2017/types/index.js +2 -0
  39. package/dist/es2017/types/index.js.map +1 -0
  40. package/dist/es2017/types.js.map +1 -1
  41. package/dist/esm/core/traits/WithCatalog.js +1 -0
  42. package/dist/esm/core/traits/WithCatalog.js.map +1 -0
  43. package/dist/esm/index.js +1 -0
  44. package/dist/esm/index.js.map +1 -1
  45. package/dist/esm/projects/HubProjects.js.map +1 -1
  46. package/dist/esm/search/Catalog.js +404 -0
  47. package/dist/esm/search/Catalog.js.map +1 -0
  48. package/dist/esm/search/Collection.js +40 -24
  49. package/dist/esm/search/Collection.js.map +1 -1
  50. package/dist/esm/search/_internal/{ipredicate-utils.js → expandPredicate.js} +1 -1
  51. package/dist/esm/search/_internal/expandPredicate.js.map +1 -0
  52. package/dist/esm/search/_internal/hubSearchItems.js +4 -146
  53. package/dist/esm/search/_internal/hubSearchItems.js.map +1 -1
  54. package/dist/esm/search/_internal/index.js +0 -1
  55. package/dist/esm/search/_internal/index.js.map +1 -1
  56. package/dist/esm/search/_internal/portalSearchGroups.js +1 -2
  57. package/dist/esm/search/_internal/portalSearchGroups.js.map +1 -1
  58. package/dist/esm/search/_internal/portalSearchItems.js +6 -30
  59. package/dist/esm/search/_internal/portalSearchItems.js.map +1 -1
  60. package/dist/esm/search/_internal/portalSearchUsers.js +1 -2
  61. package/dist/esm/search/_internal/portalSearchUsers.js.map +1 -1
  62. package/dist/esm/search/fetchCatalog.js +59 -0
  63. package/dist/esm/search/fetchCatalog.js.map +1 -0
  64. package/dist/esm/search/hubSearch.js +1 -1
  65. package/dist/esm/search/hubSearch.js.map +1 -1
  66. package/dist/esm/search/index.js +3 -9
  67. package/dist/esm/search/index.js.map +1 -1
  68. package/dist/esm/search/serializeQueryForPortal.js +1 -1
  69. package/dist/esm/search/serializeQueryForPortal.js.map +1 -1
  70. package/dist/esm/search/types/index.js +0 -5
  71. package/dist/esm/search/types/index.js.map +1 -1
  72. package/dist/esm/search/upgradeCatalogSchema.js +66 -0
  73. package/dist/esm/search/upgradeCatalogSchema.js.map +1 -0
  74. package/dist/esm/search/utils.js +1 -204
  75. package/dist/esm/search/utils.js.map +1 -1
  76. package/dist/esm/types/IMessage.js +1 -0
  77. package/dist/esm/types/IMessage.js.map +1 -0
  78. package/dist/esm/types/index.js +2 -0
  79. package/dist/esm/types/index.js.map +1 -0
  80. package/dist/esm/types.js.map +1 -1
  81. package/dist/node/{search/types/ICollection.js → core/traits/WithCatalog.js} +1 -1
  82. package/dist/node/core/traits/WithCatalog.js.map +1 -0
  83. package/dist/node/index.js +1 -0
  84. package/dist/node/index.js.map +1 -1
  85. package/dist/node/projects/HubProjects.js.map +1 -1
  86. package/dist/node/search/Catalog.js +350 -0
  87. package/dist/node/search/Catalog.js.map +1 -0
  88. package/dist/node/search/Collection.js +37 -18
  89. package/dist/node/search/Collection.js.map +1 -1
  90. package/dist/node/search/_internal/{ipredicate-utils.js → expandPredicate.js} +1 -1
  91. package/dist/node/search/_internal/expandPredicate.js.map +1 -0
  92. package/dist/node/search/_internal/hubSearchItems.js +4 -139
  93. package/dist/node/search/_internal/hubSearchItems.js.map +1 -1
  94. package/dist/node/search/_internal/index.js +0 -1
  95. package/dist/node/search/_internal/index.js.map +1 -1
  96. package/dist/node/search/_internal/portalSearchGroups.js +2 -3
  97. package/dist/node/search/_internal/portalSearchGroups.js.map +1 -1
  98. package/dist/node/search/_internal/portalSearchItems.js +6 -31
  99. package/dist/node/search/_internal/portalSearchItems.js.map +1 -1
  100. package/dist/node/search/_internal/portalSearchUsers.js +2 -3
  101. package/dist/node/search/_internal/portalSearchUsers.js.map +1 -1
  102. package/dist/node/search/fetchCatalog.js +50 -0
  103. package/dist/node/search/fetchCatalog.js.map +1 -0
  104. package/dist/node/search/hubSearch.js +1 -1
  105. package/dist/node/search/hubSearch.js.map +1 -1
  106. package/dist/node/search/index.js +3 -9
  107. package/dist/node/search/index.js.map +1 -1
  108. package/dist/node/search/serializeQueryForPortal.js +2 -2
  109. package/dist/node/search/serializeQueryForPortal.js.map +1 -1
  110. package/dist/node/search/types/index.js +0 -5
  111. package/dist/node/search/types/index.js.map +1 -1
  112. package/dist/node/search/upgradeCatalogSchema.js +71 -0
  113. package/dist/node/search/upgradeCatalogSchema.js.map +1 -0
  114. package/dist/node/search/utils.js +1 -213
  115. package/dist/node/search/utils.js.map +1 -1
  116. package/dist/node/{search/types/ICatalog.js → types/IMessage.js} +1 -1
  117. package/dist/node/types/IMessage.js.map +1 -0
  118. package/dist/node/types/index.js +5 -0
  119. package/dist/node/types/index.js.map +1 -0
  120. package/dist/node/types.js.map +1 -1
  121. package/dist/types/core/traits/WithCatalog.d.ts +7 -0
  122. package/dist/types/index.d.ts +1 -0
  123. package/dist/types/search/Catalog.d.ts +143 -0
  124. package/dist/types/search/Collection.d.ts +23 -2
  125. package/dist/types/search/_internal/{ipredicate-utils.d.ts → expandPredicate.d.ts} +0 -0
  126. package/dist/types/search/_internal/hubSearchItems.d.ts +3 -4
  127. package/dist/types/search/_internal/index.d.ts +0 -1
  128. package/dist/types/search/_internal/portalSearchItems.d.ts +15 -15
  129. package/dist/types/search/fetchCatalog.d.ts +10 -0
  130. package/dist/types/search/index.d.ts +3 -9
  131. package/dist/types/search/types/IHubSearchOptions.d.ts +5 -1
  132. package/dist/types/search/types/IHubSearchResponse.d.ts +3 -3
  133. package/dist/types/search/types/index.d.ts +0 -5
  134. package/dist/types/search/types/types.d.ts +0 -206
  135. package/dist/types/search/upgradeCatalogSchema.d.ts +12 -0
  136. package/dist/types/search/utils.d.ts +2 -58
  137. package/dist/types/types/IMessage.d.ts +32 -0
  138. package/dist/types/types/index.d.ts +1 -0
  139. package/dist/types/types.d.ts +0 -2
  140. package/dist/umd/common.umd.js +1374 -2450
  141. package/dist/umd/common.umd.js.map +1 -1
  142. package/package.json +1 -1
  143. package/dist/es2017/search/_internal/ipredicate-utils.js.map +0 -1
  144. package/dist/es2017/search/_internal/state.js +0 -155
  145. package/dist/es2017/search/_internal/state.js.map +0 -1
  146. package/dist/es2017/search/_searchContent.js +0 -116
  147. package/dist/es2017/search/_searchContent.js.map +0 -1
  148. package/dist/es2017/search/_searchGroups.js +0 -88
  149. package/dist/es2017/search/_searchGroups.js.map +0 -1
  150. package/dist/es2017/search/_searchUsers.js +0 -89
  151. package/dist/es2017/search/_searchUsers.js.map +0 -1
  152. package/dist/es2017/search/collectionState.js +0 -60
  153. package/dist/es2017/search/collectionState.js.map +0 -1
  154. package/dist/es2017/search/content-utils.js +0 -455
  155. package/dist/es2017/search/content-utils.js.map +0 -1
  156. package/dist/es2017/search/convertCatalog.js +0 -33
  157. package/dist/es2017/search/convertCatalog.js.map +0 -1
  158. package/dist/es2017/search/filter-utils.js +0 -31
  159. package/dist/es2017/search/filter-utils.js.map +0 -1
  160. package/dist/es2017/search/group-utils.js +0 -142
  161. package/dist/es2017/search/group-utils.js.map +0 -1
  162. package/dist/es2017/search/types/ICatalog.js +0 -1
  163. package/dist/es2017/search/types/ICatalog.js.map +0 -1
  164. package/dist/es2017/search/types/ICollection.js +0 -1
  165. package/dist/es2017/search/types/ICollection.js.map +0 -1
  166. package/dist/es2017/search/types/IFacet.js +0 -1
  167. package/dist/es2017/search/types/IFacet.js.map +0 -1
  168. package/dist/es2017/search/types/IFacetOption.js +0 -1
  169. package/dist/es2017/search/types/IFacetOption.js.map +0 -1
  170. package/dist/es2017/search/types/IHubApiSearchRequest.js +0 -1
  171. package/dist/es2017/search/types/IHubApiSearchRequest.js.map +0 -1
  172. package/dist/es2017/search/user-utils.js +0 -139
  173. package/dist/es2017/search/user-utils.js.map +0 -1
  174. package/dist/esm/search/_internal/ipredicate-utils.js.map +0 -1
  175. package/dist/esm/search/_internal/state.js +0 -155
  176. package/dist/esm/search/_internal/state.js.map +0 -1
  177. package/dist/esm/search/_searchContent.js +0 -118
  178. package/dist/esm/search/_searchContent.js.map +0 -1
  179. package/dist/esm/search/_searchGroups.js +0 -91
  180. package/dist/esm/search/_searchGroups.js.map +0 -1
  181. package/dist/esm/search/_searchUsers.js +0 -92
  182. package/dist/esm/search/_searchUsers.js.map +0 -1
  183. package/dist/esm/search/collectionState.js +0 -61
  184. package/dist/esm/search/collectionState.js.map +0 -1
  185. package/dist/esm/search/content-utils.js +0 -462
  186. package/dist/esm/search/content-utils.js.map +0 -1
  187. package/dist/esm/search/convertCatalog.js +0 -33
  188. package/dist/esm/search/convertCatalog.js.map +0 -1
  189. package/dist/esm/search/filter-utils.js +0 -31
  190. package/dist/esm/search/filter-utils.js.map +0 -1
  191. package/dist/esm/search/group-utils.js +0 -146
  192. package/dist/esm/search/group-utils.js.map +0 -1
  193. package/dist/esm/search/types/ICatalog.js +0 -1
  194. package/dist/esm/search/types/ICatalog.js.map +0 -1
  195. package/dist/esm/search/types/ICollection.js +0 -1
  196. package/dist/esm/search/types/ICollection.js.map +0 -1
  197. package/dist/esm/search/types/IFacet.js +0 -1
  198. package/dist/esm/search/types/IFacet.js.map +0 -1
  199. package/dist/esm/search/types/IFacetOption.js +0 -1
  200. package/dist/esm/search/types/IFacetOption.js.map +0 -1
  201. package/dist/esm/search/types/IHubApiSearchRequest.js +0 -1
  202. package/dist/esm/search/types/IHubApiSearchRequest.js.map +0 -1
  203. package/dist/esm/search/user-utils.js +0 -143
  204. package/dist/esm/search/user-utils.js.map +0 -1
  205. package/dist/node/search/_internal/ipredicate-utils.js.map +0 -1
  206. package/dist/node/search/_internal/state.js +0 -166
  207. package/dist/node/search/_internal/state.js.map +0 -1
  208. package/dist/node/search/_searchContent.js +0 -120
  209. package/dist/node/search/_searchContent.js.map +0 -1
  210. package/dist/node/search/_searchGroups.js +0 -92
  211. package/dist/node/search/_searchGroups.js.map +0 -1
  212. package/dist/node/search/_searchUsers.js +0 -93
  213. package/dist/node/search/_searchUsers.js.map +0 -1
  214. package/dist/node/search/collectionState.js +0 -65
  215. package/dist/node/search/collectionState.js.map +0 -1
  216. package/dist/node/search/content-utils.js +0 -466
  217. package/dist/node/search/content-utils.js.map +0 -1
  218. package/dist/node/search/convertCatalog.js +0 -37
  219. package/dist/node/search/convertCatalog.js.map +0 -1
  220. package/dist/node/search/filter-utils.js +0 -36
  221. package/dist/node/search/filter-utils.js.map +0 -1
  222. package/dist/node/search/group-utils.js +0 -148
  223. package/dist/node/search/group-utils.js.map +0 -1
  224. package/dist/node/search/types/ICatalog.js.map +0 -1
  225. package/dist/node/search/types/ICollection.js.map +0 -1
  226. package/dist/node/search/types/IFacet.js +0 -3
  227. package/dist/node/search/types/IFacet.js.map +0 -1
  228. package/dist/node/search/types/IFacetOption.js +0 -3
  229. package/dist/node/search/types/IFacetOption.js.map +0 -1
  230. package/dist/node/search/types/IHubApiSearchRequest.js +0 -3
  231. package/dist/node/search/types/IHubApiSearchRequest.js.map +0 -1
  232. package/dist/node/search/user-utils.js +0 -145
  233. package/dist/node/search/user-utils.js.map +0 -1
  234. package/dist/types/search/_internal/state.d.ts +0 -70
  235. package/dist/types/search/_searchContent.d.ts +0 -9
  236. package/dist/types/search/_searchGroups.d.ts +0 -17
  237. package/dist/types/search/_searchUsers.d.ts +0 -31
  238. package/dist/types/search/collectionState.d.ts +0 -19
  239. package/dist/types/search/content-utils.d.ts +0 -83
  240. package/dist/types/search/convertCatalog.d.ts +0 -6
  241. package/dist/types/search/filter-utils.d.ts +0 -13
  242. package/dist/types/search/group-utils.d.ts +0 -36
  243. package/dist/types/search/types/ICatalog.d.ts +0 -87
  244. package/dist/types/search/types/ICollection.d.ts +0 -28
  245. package/dist/types/search/types/IFacet.d.ts +0 -62
  246. package/dist/types/search/types/IFacetOption.d.ts +0 -30
  247. package/dist/types/search/types/IHubApiSearchRequest.d.ts +0 -16
  248. package/dist/types/search/user-utils.d.ts +0 -35
@@ -0,0 +1,404 @@
1
+ import { __awaiter, __generator, __spreadArrays } from "tslib";
2
+ import { ArcGISContextManager } from "../ArcGISContextManager";
3
+ import HubError from "../HubError";
4
+ import { cloneObject } from "../util";
5
+ import { mapBy } from "../utils";
6
+ import { Collection } from "./Collection";
7
+ import { fetchCatalog } from "./fetchCatalog";
8
+ import { hubSearch } from "./hubSearch";
9
+ import { upgradeCatalogSchema } from "./upgradeCatalogSchema";
10
+ /**
11
+ * Catalog Class
12
+ *
13
+ * Abstracts working with Catalogs and fetching collections with
14
+ * the correct scope applied.
15
+ *
16
+ * For more information, check out the [Catalog & Collection Guide](/hub.js/guides/concepts/catalog-collection/)
17
+ */
18
+ var Catalog = /** @class */ (function () {
19
+ // internal - use static factory methods
20
+ function Catalog(catalog, context) {
21
+ this._catalog = catalog;
22
+ this._context = context;
23
+ }
24
+ /**
25
+ * Create a Collection instance from a Catalog json object, a site url or itemId
26
+ * '''js
27
+ * const catalog = await Catalog.create('https://site-org.hub.arcgis.com', context);
28
+ * '''
29
+ *
30
+ * @param identifier
31
+ * @param context
32
+ * @returns
33
+ */
34
+ Catalog.init = function (identifier, context) {
35
+ return __awaiter(this, void 0, void 0, function () {
36
+ var mgr, fetched;
37
+ return __generator(this, function (_a) {
38
+ switch (_a.label) {
39
+ case 0:
40
+ if (!!context) return [3 /*break*/, 2];
41
+ return [4 /*yield*/, ArcGISContextManager.create()];
42
+ case 1:
43
+ mgr = _a.sent();
44
+ context = mgr.context;
45
+ _a.label = 2;
46
+ case 2: return [4 /*yield*/, fetchCatalog(identifier, context.hubRequestOptions)];
47
+ case 3:
48
+ fetched = _a.sent();
49
+ // return an instance
50
+ return [2 /*return*/, new Catalog(fetched, context)];
51
+ }
52
+ });
53
+ });
54
+ };
55
+ /**
56
+ * Create a Catalog instance from a Catalog Json object
57
+ * @param json
58
+ * @param context
59
+ * @returns
60
+ */
61
+ Catalog.fromJson = function (json, context) {
62
+ // ensure it's in the latest structure
63
+ var catalog = upgradeCatalogSchema(json);
64
+ return new Catalog(catalog, context);
65
+ };
66
+ /**
67
+ * Return the JSON object backing the instance
68
+ * @returns
69
+ */
70
+ Catalog.prototype.toJson = function () {
71
+ return cloneObject(this._catalog);
72
+ };
73
+ Object.defineProperty(Catalog.prototype, "schemaVersion", {
74
+ /**
75
+ * Return the schema version
76
+ */
77
+ get: function () {
78
+ return this._catalog.schemaVersion;
79
+ },
80
+ enumerable: false,
81
+ configurable: true
82
+ });
83
+ Object.defineProperty(Catalog.prototype, "title", {
84
+ /**
85
+ * Title getter
86
+ */
87
+ get: function () {
88
+ return this._catalog.title;
89
+ },
90
+ /**
91
+ * Title setter
92
+ */
93
+ set: function (v) {
94
+ this._catalog.title = v;
95
+ },
96
+ enumerable: false,
97
+ configurable: true
98
+ });
99
+ Object.defineProperty(Catalog.prototype, "scopes", {
100
+ /**
101
+ * Return the existing scopes hash
102
+ */
103
+ get: function () {
104
+ return this._catalog.scopes;
105
+ },
106
+ enumerable: false,
107
+ configurable: true
108
+ });
109
+ Object.defineProperty(Catalog.prototype, "availableScopes", {
110
+ /**
111
+ * Return an array of the entity types available in this Catalog
112
+ */
113
+ get: function () {
114
+ return Object.keys(this.scopes);
115
+ },
116
+ enumerable: false,
117
+ configurable: true
118
+ });
119
+ /**
120
+ * Get the scope's query for a particular entity type
121
+ * @param type
122
+ * @returns
123
+ */
124
+ Catalog.prototype.getScope = function (type) {
125
+ return this._catalog.scopes[type];
126
+ };
127
+ /**
128
+ * Set the scope for a specific entity type
129
+ * @param type
130
+ * @param query
131
+ */
132
+ Catalog.prototype.setScope = function (type, query) {
133
+ this._catalog.scopes[type] = query;
134
+ };
135
+ Object.defineProperty(Catalog.prototype, "collections", {
136
+ /**
137
+ * Get the collections array. Returns simple objects not Collection instances
138
+ */
139
+ get: function () {
140
+ return this._catalog.collections || [];
141
+ },
142
+ enumerable: false,
143
+ configurable: true
144
+ });
145
+ Object.defineProperty(Catalog.prototype, "collectionNames", {
146
+ /**
147
+ * Get the names of the collections
148
+ */
149
+ get: function () {
150
+ return mapBy("key", this.collections);
151
+ },
152
+ enumerable: false,
153
+ configurable: true
154
+ });
155
+ /**
156
+ * Get a Collection instance by name
157
+ * @param name
158
+ * @returns
159
+ */
160
+ Catalog.prototype.getCollection = function (name) {
161
+ var json = this.collections.find(function (entry) { return entry.key === name; });
162
+ if (json) {
163
+ // clone it then merge in the associated scope filter
164
+ var clone = cloneObject(json);
165
+ var catalogScope = this.getScope(clone.scope.targetEntity);
166
+ if (catalogScope === null || catalogScope === void 0 ? void 0 : catalogScope.filters) {
167
+ clone.scope.filters = __spreadArrays(clone.scope.filters, catalogScope.filters);
168
+ }
169
+ return Collection.fromJson(clone, this._context);
170
+ }
171
+ else {
172
+ throw new HubError("getCollection", "Collection \"" + name + "\" is not present in the Catalog");
173
+ }
174
+ };
175
+ /**
176
+ * Search for Items
177
+ * Will throw if the Catalog does not have a scope defined for items
178
+ * @param query
179
+ * @param options
180
+ * @returns
181
+ */
182
+ Catalog.prototype.searchItems = function (query, options) {
183
+ if (options === void 0) { options = {}; }
184
+ if (!this.getScope("item")) {
185
+ var result = this.getEmptyResult();
186
+ result.messages = [
187
+ {
188
+ code: "missingScope",
189
+ message: "Catalog does not have a scope for items",
190
+ data: {
191
+ scope: "item",
192
+ },
193
+ },
194
+ ];
195
+ return Promise.resolve(result);
196
+ }
197
+ else {
198
+ // ensure it's an item search
199
+ options.targetEntity = "item";
200
+ return this.search(query, options);
201
+ }
202
+ };
203
+ /**
204
+ * Search for Groups
205
+ * Will throw if the Catalog does not have a scope defined for groups
206
+ * @param query
207
+ * @param options
208
+ * @returns
209
+ */
210
+ Catalog.prototype.searchGroups = function (query, options) {
211
+ if (options === void 0) { options = {}; }
212
+ if (!this.getScope("group")) {
213
+ var result = this.getEmptyResult();
214
+ result.messages = [
215
+ {
216
+ code: "missingScope",
217
+ message: "Catalog does not have a scope for groups",
218
+ data: {
219
+ scope: "group",
220
+ },
221
+ },
222
+ ];
223
+ return Promise.resolve(result);
224
+ }
225
+ else {
226
+ // ensure it's an group search
227
+ options.targetEntity = "group";
228
+ return this.search(query, options);
229
+ }
230
+ };
231
+ /**
232
+ * Search for Users
233
+ * Will throw if the Catalog does not have a scope defined for users
234
+ * @param query
235
+ * @param options
236
+ * @returns
237
+ */
238
+ Catalog.prototype.searchUsers = function (query, options) {
239
+ if (options === void 0) { options = {}; }
240
+ if (!this.getScope("user")) {
241
+ var result = this.getEmptyResult();
242
+ result.messages = [
243
+ {
244
+ code: "missingScope",
245
+ message: "Catalog does not have a scope for user",
246
+ data: {
247
+ scope: "user",
248
+ },
249
+ },
250
+ ];
251
+ return Promise.resolve(result);
252
+ }
253
+ else {
254
+ // ensure it's an group search
255
+ options.targetEntity = "user";
256
+ return this.search(query, options);
257
+ }
258
+ };
259
+ /**
260
+ * Execute a search against all the collections in the Catalog
261
+ * @param query
262
+ * @param options
263
+ * @returns
264
+ */
265
+ Catalog.prototype.searchCollections = function (query, options) {
266
+ if (options === void 0) { options = {}; }
267
+ return __awaiter(this, void 0, void 0, function () {
268
+ var qry, promiseKeys, promises, responses, hash, i;
269
+ var _this = this;
270
+ return __generator(this, function (_a) {
271
+ switch (_a.label) {
272
+ case 0:
273
+ qry = {
274
+ targetEntity: "item",
275
+ filters: [
276
+ {
277
+ predicates: [
278
+ {
279
+ term: query,
280
+ },
281
+ ],
282
+ },
283
+ ],
284
+ };
285
+ promiseKeys = [];
286
+ promises = this.collectionNames.map(function (name) {
287
+ var col = _this.getCollection(name);
288
+ promiseKeys.push(name);
289
+ qry.targetEntity = col.targetEntity;
290
+ return col.search(qry, options);
291
+ });
292
+ return [4 /*yield*/, Promise.all(promises)];
293
+ case 1:
294
+ responses = _a.sent();
295
+ hash = {};
296
+ for (i = 0; i < promiseKeys.length; i++) {
297
+ hash[promiseKeys[i]] = responses[i];
298
+ }
299
+ return [2 /*return*/, hash];
300
+ }
301
+ });
302
+ });
303
+ };
304
+ /**
305
+ * Execute a search against all the scopes in the Catalog
306
+ * @param query
307
+ * @param options
308
+ * @returns
309
+ */
310
+ Catalog.prototype.searchScopes = function (query, options) {
311
+ if (options === void 0) { options = {}; }
312
+ return __awaiter(this, void 0, void 0, function () {
313
+ var qry, promiseKeys, promises, responses, hash, i;
314
+ var _this = this;
315
+ return __generator(this, function (_a) {
316
+ switch (_a.label) {
317
+ case 0:
318
+ qry = {
319
+ targetEntity: "item",
320
+ filters: [
321
+ {
322
+ predicates: [
323
+ {
324
+ term: query,
325
+ },
326
+ ],
327
+ },
328
+ ],
329
+ };
330
+ promiseKeys = [];
331
+ promises = this.availableScopes.map(function (name) {
332
+ promiseKeys.push(name);
333
+ // make clones
334
+ var qryClone = cloneObject(qry);
335
+ var optsClone = cloneObject(options);
336
+ // set the target entity
337
+ qryClone.targetEntity = name;
338
+ optsClone.targetEntity = name;
339
+ // return the search promise
340
+ return _this.search(qryClone, optsClone);
341
+ });
342
+ return [4 /*yield*/, Promise.all(promises)];
343
+ case 1:
344
+ responses = _a.sent();
345
+ hash = {};
346
+ for (i = 0; i < promiseKeys.length; i++) {
347
+ hash[promiseKeys[i]] = responses[i];
348
+ }
349
+ return [2 /*return*/, hash];
350
+ }
351
+ });
352
+ });
353
+ };
354
+ /**
355
+ * Execute a search against the Catalog as a whole
356
+ * @param query
357
+ * @param targetEntity
358
+ * @returns
359
+ */
360
+ Catalog.prototype.search = function (query, options) {
361
+ var targetEntity = options.targetEntity;
362
+ var qry;
363
+ if (typeof query === "string") {
364
+ qry = {
365
+ targetEntity: targetEntity,
366
+ filters: [
367
+ {
368
+ predicates: [
369
+ {
370
+ term: query,
371
+ },
372
+ ],
373
+ },
374
+ ],
375
+ };
376
+ }
377
+ else {
378
+ qry = cloneObject(query);
379
+ }
380
+ // Now merge in catalog scope level filters
381
+ qry.filters = __spreadArrays(qry.filters, this.getScope(targetEntity).filters);
382
+ var opts = cloneObject(options);
383
+ // An Catalog instance always uses the context so we remove/replace any passed in auth
384
+ delete opts.authentication;
385
+ opts.requestOptions = this._context.hubRequestOptions;
386
+ return hubSearch(qry, opts);
387
+ };
388
+ /**
389
+ * Construct an empty result. Returned when a search is performed against an entity type that
390
+ * does not have a scope defined.
391
+ * @returns
392
+ */
393
+ Catalog.prototype.getEmptyResult = function () {
394
+ return {
395
+ results: [],
396
+ total: 0,
397
+ hasNext: false,
398
+ next: null,
399
+ };
400
+ };
401
+ return Catalog;
402
+ }());
403
+ export { Catalog };
404
+ //# sourceMappingURL=Catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Catalog.js","sourceRoot":"","sources":["../../../src/search/Catalog.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,33 @@
1
1
  import { __awaiter, __generator, __spreadArrays } from "tslib";
2
- import { hubSearchQuery } from "..";
2
+ import { cloneObject } from "..";
3
+ import { hubSearch } from "./hubSearch";
3
4
  /**
4
- * Implements Collection behavior
5
+ * Collection Class
6
+ *
7
+ * Abstracts searching a Collection
8
+ *
9
+ * For more information, check out the [Catalog & Collection Guide](/hub.js/guides/concepts/catalog-collection/)
5
10
  */
6
- /* istanbul ignore next */
7
11
  var Collection = /** @class */ (function () {
8
12
  function Collection(collection, context) {
9
13
  this._collection = collection;
10
- if (context) {
11
- this._context = context;
12
- }
14
+ this._context = context;
13
15
  }
14
- Collection.create = function (collection, context) {
15
- return __awaiter(this, void 0, void 0, function () {
16
- var col;
17
- return __generator(this, function (_a) {
18
- col = new Collection(collection, context);
19
- return [2 /*return*/, Promise.resolve(col)];
20
- });
21
- });
16
+ /**
17
+ * Create an instance of a Collection from a JSON object
18
+ * @param collection
19
+ * @param context
20
+ * @returns
21
+ */
22
+ Collection.fromJson = function (collection, context) {
23
+ return new Collection(collection, context);
24
+ };
25
+ /**
26
+ * Return the JSON object backing the instance
27
+ * @returns
28
+ */
29
+ Collection.prototype.toJson = function () {
30
+ return cloneObject(this._collection);
22
31
  };
23
32
  Object.defineProperty(Collection.prototype, "label", {
24
33
  // Getters
@@ -37,7 +46,7 @@ var Collection = /** @class */ (function () {
37
46
  });
38
47
  Object.defineProperty(Collection.prototype, "include", {
39
48
  get: function () {
40
- return this._collection.include;
49
+ return this._collection.include || [];
41
50
  },
42
51
  enumerable: false,
43
52
  configurable: true
@@ -70,16 +79,21 @@ var Collection = /** @class */ (function () {
70
79
  enumerable: false,
71
80
  configurable: true
72
81
  });
82
+ /**
83
+ * Search the collection using a string or IQuery
84
+ * @param query
85
+ * @param options
86
+ * @returns
87
+ */
73
88
  Collection.prototype.search = function (query, options) {
74
- var _a;
75
89
  if (options === void 0) { options = {}; }
76
90
  return __awaiter(this, void 0, void 0, function () {
77
- var qry;
78
- return __generator(this, function (_b) {
91
+ var qry, opts;
92
+ return __generator(this, function (_a) {
79
93
  if (typeof query === "string") {
80
94
  // construct a query from that...
81
95
  qry = {
82
- targetEntity: ((_a = this._collection.scope) === null || _a === void 0 ? void 0 : _a.targetEntity) || "item",
96
+ targetEntity: this._collection.targetEntity,
83
97
  filters: [
84
98
  {
85
99
  predicates: [
@@ -94,16 +108,18 @@ var Collection = /** @class */ (function () {
94
108
  else {
95
109
  qry = query;
96
110
  }
111
+ // TODO: What should happen when a Query is passed in that has a targetEntity that doesn't match the collection's targetEntity?
97
112
  // merge the passed in query w/ the scope
98
113
  qry.filters = __spreadArrays(qry.filters, this.scope.filters);
99
- options.requestOptions = this._context.hubRequestOptions;
114
+ opts = cloneObject(options);
115
+ opts.requestOptions = this._context.hubRequestOptions;
100
116
  // inject default sort info if not specified
101
- options.sortField = options.sortField || this.sortField;
102
- options.sortOrder = options.sortOrder || this.sortDirection;
117
+ opts.sortField = options.sortField || this.sortField;
118
+ opts.sortOrder = options.sortOrder || this.sortDirection;
103
119
  // inject default includes if not specified
104
- options.include = options.include || this.include;
120
+ opts.include = options.include || this.include;
105
121
  // execute the search and return results
106
- return [2 /*return*/, hubSearchQuery(qry, options)];
122
+ return [2 /*return*/, hubSearch(qry, opts)];
107
123
  });
108
124
  });
109
125
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../../src/search/Collection.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAkB,MAAM,IAAI,CAAC;AAWpD;;GAEG;AACH,0BAA0B;AAC1B;IAGE,oBAAoB,UAA0B,EAAE,OAAwB;QACtE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;SACzB;IACH,CAAC;IAEmB,iBAAM,GAA1B,UACE,UAA0B,EAC1B,OAAwB;;;;gBAIlB,GAAG,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAChD,sBAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAC;;;KAC7B;IAID,sBAAW,6BAAK;QAFhB,UAAU;aAEV;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAChC,CAAC;;;OAAA;IACD,sBAAW,2BAAG;aAAd;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;QAC9B,CAAC;;;OAAA;IACD,sBAAW,+BAAO;aAAlB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAClC,CAAC;;;OAAA;IACD,sBAAW,6BAAK;aAAhB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAChC,CAAC;;;OAAA;IACD,sBAAW,iCAAS;aAApB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,OAAO,CAAC;QAC/C,CAAC;;;OAAA;IACD,sBAAW,qCAAa;aAAxB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,KAAK,CAAC;QACjD,CAAC;;;OAAA;IACD,sBAAW,oCAAY;aAAvB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;QACvC,CAAC;;;OAAA;IAEY,2BAAM,GAAnB,UACE,KAAsB,EACtB,OAA+B;;QAA/B,wBAAA,EAAA,YAA+B;;;;gBAG/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBAC7B,iCAAiC;oBACjC,GAAG,GAAG;wBACJ,YAAY,EAAE,OAAA,IAAI,CAAC,WAAW,CAAC,KAAK,0CAAE,YAAY,KAAI,MAAM;wBAC5D,OAAO,EAAE;4BACP;gCACE,UAAU,EAAE;oCACV;wCACE,IAAI,EAAE,KAAK;qCACZ;iCACF;6BACF;yBACF;qBACF,CAAC;iBACH;qBAAM;oBACL,GAAG,GAAG,KAAK,CAAC;iBACb;gBAED,yCAAyC;gBACzC,GAAG,CAAC,OAAO,kBAAO,GAAG,CAAC,OAAO,EAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAEtD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACzD,4CAA4C;gBAC5C,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;gBACxD,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC;gBAC5D,2CAA2C;gBAC3C,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;gBAElD,wCAAwC;gBACxC,sBAAO,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,EAAC;;;KACrC;IACH,iBAAC;AAAD,CAAC,AAhFD,IAgFC"}
1
+ {"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../../src/search/Collection.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,IAAI,CAAC;AASjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC;;;;;;GAMG;AACH;IAGE,oBAAoB,UAA0B,EAAE,OAAuB;QACrE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACW,mBAAQ,GAAtB,UACE,UAA0B,EAC1B,OAAuB;QAEvB,OAAO,IAAI,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,2BAAM,GAAN;QACE,OAAO,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAID,sBAAW,6BAAK;QAFhB,UAAU;aAEV;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAChC,CAAC;;;OAAA;IACD,sBAAW,2BAAG;aAAd;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;QAC9B,CAAC;;;OAAA;IACD,sBAAW,+BAAO;aAAlB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;QACxC,CAAC;;;OAAA;IACD,sBAAW,6BAAK;aAAhB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAChC,CAAC;;;OAAA;IACD,sBAAW,iCAAS;aAApB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,OAAO,CAAC;QAC/C,CAAC;;;OAAA;IACD,sBAAW,qCAAa;aAAxB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,KAAK,CAAC;QACjD,CAAC;;;OAAA;IACD,sBAAW,oCAAY;aAAvB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;QACvC,CAAC;;;OAAA;IAED;;;;;OAKG;IACU,2BAAM,GAAnB,UACE,KAAsB,EACtB,OAA+B;QAA/B,wBAAA,EAAA,YAA+B;;;;gBAG/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBAC7B,iCAAiC;oBACjC,GAAG,GAAG;wBACJ,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY;wBAC3C,OAAO,EAAE;4BACP;gCACE,UAAU,EAAE;oCACV;wCACE,IAAI,EAAE,KAAK;qCACZ;iCACF;6BACF;yBACF;qBACF,CAAC;iBACH;qBAAM;oBACL,GAAG,GAAG,KAAK,CAAC;iBACb;gBAED,+HAA+H;gBAE/H,yCAAyC;gBACzC,GAAG,CAAC,OAAO,kBAAO,GAAG,CAAC,OAAO,EAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAChD,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;gBAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACtD,4CAA4C;gBAC5C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;gBACrD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC;gBACzD,2CAA2C;gBAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;gBAE/C,wCAAwC;gBACxC,sBAAO,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAC;;;KAC7B;IACH,iBAAC;AAAD,CAAC,AAjGD,IAiGC"}
@@ -43,4 +43,4 @@ export function expandPredicate(predicate) {
43
43
  });
44
44
  return result;
45
45
  }
46
- //# sourceMappingURL=ipredicate-utils.js.map
46
+ //# sourceMappingURL=expandPredicate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expandPredicate.js","sourceRoot":"","sources":["../../../../src/search/_internal/expandPredicate.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAExE;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,SAAqB;IACnD,IAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,IAAM,SAAS,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACvD,IAAM,SAAS,GAAG;QAChB,YAAY;QACZ,MAAM;QACN,kBAAkB;QAClB,YAAY;QACZ,gBAAgB;KACjB,CAAC;IACF,IAAM,qBAAqB,kBAAO,SAAS,EAAK,SAAS,CAAC,CAAC;IAC3D,oBAAoB;IACpB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAC,EAAY;YAAX,GAAG,QAAA,EAAE,KAAK,QAAA;QAC5C,6BAA6B;QAC7B,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACxC,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;SAClD;QACD,qBAAqB;QACrB,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC3B,IAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;YAC5D,IAAI,OAAO,CAAC,SAAS,EAAK,GAAG,UAAO,CAAC,KAAK,eAAe,EAAE;gBACzD,OAAO,CAAC,GAAG,EAAE,uBAAuB,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;aAC/D;iBAAM;gBACL,OAAO,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;aACtC;SACF;QACD,6CAA6C;QAC7C,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;YAC5D,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SAC7B;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC"}