@esri/hub-common 9.46.1 → 9.49.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 (130) 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/org/fetchOrgLimits.js +32 -0
  6. package/dist/es2017/org/fetchOrgLimits.js.map +1 -0
  7. package/dist/es2017/org/index.js +1 -0
  8. package/dist/es2017/org/index.js.map +1 -1
  9. package/dist/es2017/search/Catalog.js +346 -0
  10. package/dist/es2017/search/Catalog.js.map +1 -0
  11. package/dist/es2017/search/Collection.js +38 -19
  12. package/dist/es2017/search/Collection.js.map +1 -1
  13. package/dist/es2017/search/_internal/{ipredicate-utils.js → expandPredicate.js} +1 -1
  14. package/dist/es2017/search/_internal/expandPredicate.js.map +1 -0
  15. package/dist/es2017/search/_internal/portalSearchGroups.js +1 -1
  16. package/dist/es2017/search/_internal/portalSearchGroups.js.map +1 -1
  17. package/dist/es2017/search/_internal/portalSearchItems.js +1 -1
  18. package/dist/es2017/search/_internal/portalSearchItems.js.map +1 -1
  19. package/dist/es2017/search/_internal/portalSearchUsers.js +1 -1
  20. package/dist/es2017/search/_internal/portalSearchUsers.js.map +1 -1
  21. package/dist/es2017/search/fetchCatalog.js +46 -0
  22. package/dist/es2017/search/fetchCatalog.js.map +1 -0
  23. package/dist/es2017/search/hubSearch.js +1 -1
  24. package/dist/es2017/search/hubSearch.js.map +1 -1
  25. package/dist/es2017/search/index.js +3 -1
  26. package/dist/es2017/search/index.js.map +1 -1
  27. package/dist/es2017/search/serializeQueryForPortal.js +1 -1
  28. package/dist/es2017/search/serializeQueryForPortal.js.map +1 -1
  29. package/dist/es2017/search/upgradeCatalogSchema.js +66 -0
  30. package/dist/es2017/search/upgradeCatalogSchema.js.map +1 -0
  31. package/dist/es2017/types/IMessage.js +1 -0
  32. package/dist/es2017/types/IMessage.js.map +1 -0
  33. package/dist/es2017/types/index.js +2 -0
  34. package/dist/es2017/types/index.js.map +1 -0
  35. package/dist/esm/core/traits/WithCatalog.js +1 -0
  36. package/dist/esm/core/traits/WithCatalog.js.map +1 -0
  37. package/dist/esm/index.js +1 -0
  38. package/dist/esm/index.js.map +1 -1
  39. package/dist/esm/org/fetchOrgLimits.js +32 -0
  40. package/dist/esm/org/fetchOrgLimits.js.map +1 -0
  41. package/dist/esm/org/index.js +1 -0
  42. package/dist/esm/org/index.js.map +1 -1
  43. package/dist/esm/search/Catalog.js +404 -0
  44. package/dist/esm/search/Catalog.js.map +1 -0
  45. package/dist/esm/search/Collection.js +40 -24
  46. package/dist/esm/search/Collection.js.map +1 -1
  47. package/dist/esm/search/_internal/{ipredicate-utils.js → expandPredicate.js} +1 -1
  48. package/dist/esm/search/_internal/expandPredicate.js.map +1 -0
  49. package/dist/esm/search/_internal/portalSearchGroups.js +1 -1
  50. package/dist/esm/search/_internal/portalSearchGroups.js.map +1 -1
  51. package/dist/esm/search/_internal/portalSearchItems.js +1 -1
  52. package/dist/esm/search/_internal/portalSearchItems.js.map +1 -1
  53. package/dist/esm/search/_internal/portalSearchUsers.js +1 -1
  54. package/dist/esm/search/_internal/portalSearchUsers.js.map +1 -1
  55. package/dist/esm/search/fetchCatalog.js +59 -0
  56. package/dist/esm/search/fetchCatalog.js.map +1 -0
  57. package/dist/esm/search/hubSearch.js +1 -1
  58. package/dist/esm/search/hubSearch.js.map +1 -1
  59. package/dist/esm/search/index.js +3 -1
  60. package/dist/esm/search/index.js.map +1 -1
  61. package/dist/esm/search/serializeQueryForPortal.js +1 -1
  62. package/dist/esm/search/serializeQueryForPortal.js.map +1 -1
  63. package/dist/esm/search/upgradeCatalogSchema.js +66 -0
  64. package/dist/esm/search/upgradeCatalogSchema.js.map +1 -0
  65. package/dist/esm/types/IMessage.js +1 -0
  66. package/dist/esm/types/IMessage.js.map +1 -0
  67. package/dist/esm/types/index.js +2 -0
  68. package/dist/esm/types/index.js.map +1 -0
  69. package/dist/node/core/traits/WithCatalog.js +3 -0
  70. package/dist/node/core/traits/WithCatalog.js.map +1 -0
  71. package/dist/node/index.js +1 -0
  72. package/dist/node/index.js.map +1 -1
  73. package/dist/node/org/fetchOrgLimits.js +37 -0
  74. package/dist/node/org/fetchOrgLimits.js.map +1 -0
  75. package/dist/node/org/index.js +1 -0
  76. package/dist/node/org/index.js.map +1 -1
  77. package/dist/node/search/Catalog.js +350 -0
  78. package/dist/node/search/Catalog.js.map +1 -0
  79. package/dist/node/search/Collection.js +37 -18
  80. package/dist/node/search/Collection.js.map +1 -1
  81. package/dist/node/search/_internal/{ipredicate-utils.js → expandPredicate.js} +1 -1
  82. package/dist/node/search/_internal/expandPredicate.js.map +1 -0
  83. package/dist/node/search/_internal/portalSearchGroups.js +2 -2
  84. package/dist/node/search/_internal/portalSearchGroups.js.map +1 -1
  85. package/dist/node/search/_internal/portalSearchItems.js +2 -2
  86. package/dist/node/search/_internal/portalSearchItems.js.map +1 -1
  87. package/dist/node/search/_internal/portalSearchUsers.js +2 -2
  88. package/dist/node/search/_internal/portalSearchUsers.js.map +1 -1
  89. package/dist/node/search/fetchCatalog.js +50 -0
  90. package/dist/node/search/fetchCatalog.js.map +1 -0
  91. package/dist/node/search/hubSearch.js +1 -1
  92. package/dist/node/search/hubSearch.js.map +1 -1
  93. package/dist/node/search/index.js +3 -1
  94. package/dist/node/search/index.js.map +1 -1
  95. package/dist/node/search/serializeQueryForPortal.js +2 -2
  96. package/dist/node/search/serializeQueryForPortal.js.map +1 -1
  97. package/dist/node/search/upgradeCatalogSchema.js +71 -0
  98. package/dist/node/search/upgradeCatalogSchema.js.map +1 -0
  99. package/dist/node/types/IMessage.js +3 -0
  100. package/dist/node/types/IMessage.js.map +1 -0
  101. package/dist/node/types/index.js +5 -0
  102. package/dist/node/types/index.js.map +1 -0
  103. package/dist/types/core/traits/WithCatalog.d.ts +7 -0
  104. package/dist/types/core/types/IHubTimeline.d.ts +15 -0
  105. package/dist/types/index.d.ts +1 -0
  106. package/dist/types/org/fetchOrgLimits.d.ts +35 -0
  107. package/dist/types/org/index.d.ts +1 -0
  108. package/dist/types/search/Catalog.d.ts +143 -0
  109. package/dist/types/search/Collection.d.ts +23 -2
  110. package/dist/types/search/_internal/{ipredicate-utils.d.ts → expandPredicate.d.ts} +0 -0
  111. package/dist/types/search/fetchCatalog.d.ts +10 -0
  112. package/dist/types/search/index.d.ts +3 -1
  113. package/dist/types/search/types/IHubSearchOptions.d.ts +5 -1
  114. package/dist/types/search/types/IHubSearchResponse.d.ts +5 -0
  115. package/dist/types/search/upgradeCatalogSchema.d.ts +12 -0
  116. package/dist/types/types/IMessage.d.ts +32 -0
  117. package/dist/types/types/index.d.ts +1 -0
  118. package/dist/umd/common.umd.js +666 -27
  119. package/dist/umd/common.umd.js.map +1 -1
  120. package/package.json +1 -1
  121. package/dist/es2017/search/_internal/ipredicate-utils.js.map +0 -1
  122. package/dist/es2017/search/convertCatalog.js +0 -33
  123. package/dist/es2017/search/convertCatalog.js.map +0 -1
  124. package/dist/esm/search/_internal/ipredicate-utils.js.map +0 -1
  125. package/dist/esm/search/convertCatalog.js +0 -33
  126. package/dist/esm/search/convertCatalog.js.map +0 -1
  127. package/dist/node/search/_internal/ipredicate-utils.js.map +0 -1
  128. package/dist/node/search/convertCatalog.js +0 -37
  129. package/dist/node/search/convertCatalog.js.map +0 -1
  130. package/dist/types/search/convertCatalog.d.ts +0 -6
@@ -0,0 +1,59 @@
1
+ import { __awaiter, __generator } from "tslib";
2
+ import { getItemData } from "@esri/arcgis-rest-portal";
3
+ import HubError from "../HubError";
4
+ import { lookupDomain } from "../sites/domains/lookup-domain";
5
+ import { stripProtocol } from "../urls/strip-protocol";
6
+ import { isGuid } from "../utils/is-guid";
7
+ import { upgradeCatalogSchema } from "./upgradeCatalogSchema";
8
+ /**
9
+ * Fetch a IHubCatalog from a backing item.
10
+ * This will apply schema upgrades to the structure
11
+ * @param identifier
12
+ * @param requestOptions
13
+ * @returns
14
+ */
15
+ export function fetchCatalog(identifier, requestOptions) {
16
+ return __awaiter(this, void 0, void 0, function () {
17
+ var getPrms, url, fetched;
18
+ return __generator(this, function (_a) {
19
+ switch (_a.label) {
20
+ case 0:
21
+ // identifier can be a guid or a url
22
+ if (identifier.indexOf("http") === 0) {
23
+ url = identifier;
24
+ // get down the the hostname
25
+ url = stripProtocol(url);
26
+ // if url does not include a hash (i.e. it's not portal)
27
+ // then we want to split on the first slash to get the hostname
28
+ // lookupDomain will handle the enterprise base urls
29
+ if (!url.includes("#")) {
30
+ url = url.split("/")[0];
31
+ }
32
+ getPrms = lookupDomain(url, requestOptions)
33
+ // get the item's data, and read the catalog out of it
34
+ .then(function (_a) {
35
+ var siteId = _a.siteId;
36
+ return getItemData(siteId, requestOptions);
37
+ })
38
+ .then(function (data) {
39
+ return upgradeCatalogSchema(data.catalog || {});
40
+ });
41
+ }
42
+ else if (isGuid(identifier)) {
43
+ // get the item's data, and read the catalog out of it
44
+ getPrms = getItemData(identifier, requestOptions).then(function (data) {
45
+ return upgradeCatalogSchema(data.catalog || {});
46
+ });
47
+ }
48
+ else {
49
+ throw new HubError("Catalog.create", "Identifier must be a url, guid");
50
+ }
51
+ return [4 /*yield*/, getPrms];
52
+ case 1:
53
+ fetched = _a.sent();
54
+ return [2 /*return*/, fetched];
55
+ }
56
+ });
57
+ });
58
+ }
59
+ //# sourceMappingURL=fetchCatalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchCatalog.js","sourceRoot":"","sources":["../../../src/search/fetchCatalog.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,UAAgB,YAAY,CAChC,UAAkB,EAClB,cAAkC;;;;;;oBAGlC,oCAAoC;oBACpC,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;wBAChC,GAAG,GAAG,UAAU,CAAC;wBAErB,4BAA4B;wBAC5B,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;wBACzB,wDAAwD;wBACxD,+DAA+D;wBAC/D,oDAAoD;wBACpD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;4BACtB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;yBACzB;wBAED,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC;4BACzC,sDAAsD;6BACrD,IAAI,CAAC,UAAC,EAAU;gCAAR,MAAM,YAAA;4BAAO,OAAA,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC;wBAAnC,CAAmC,CAAC;6BACzD,IAAI,CAAC,UAAC,IAAI;4BACT,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;wBAClD,CAAC,CAAC,CAAC;qBACN;yBAAM,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE;wBAC7B,sDAAsD;wBACtD,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;4BAC1D,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;wBAClD,CAAC,CAAC,CAAC;qBACJ;yBAAM;wBACL,MAAM,IAAI,QAAQ,CAAC,gBAAgB,EAAE,gCAAgC,CAAC,CAAC;qBACxE;oBAEe,qBAAM,OAAO,EAAA;;oBAAvB,OAAO,GAAG,SAAa;oBAE7B,sBAAO,OAAO,EAAC;;;;CAChB"}
@@ -65,7 +65,7 @@ export function hubSearch(query, options) {
65
65
  };
66
66
  fn = getProp(fnHash, apiType + "." + filterType);
67
67
  if (!fn) {
68
- throw new HubError("hubSearch", "Search via \"" + filterType + "\" filter against \"" + apiType + "\" api is not implemented");
68
+ throw new HubError("hubSearch", "Search via \"" + filterType + "\" filter against \"" + apiType + "\" api is not implemented. Please ensure \"targetEntity\" is defined on the query.");
69
69
  }
70
70
  return [2 /*return*/, fn(cloneObject(query), options)];
71
71
  });
@@ -1 +1 @@
1
- {"version":3,"file":"hubSearch.js","sourceRoot":"","sources":["../../../src/search/hubSearch.ts"],"names":[],"mappings":";AAAA,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAQtC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;GAWG;AACH,MAAM,UAAgB,cAAc,CAClC,KAAa,EACb,OAA0B;;;YAE1B,WAAW;YACX,sBAAO,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAC;;;CAClC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAgB,SAAS,CAC7B,KAAa,EACb,OAA0B;;;;YAE1B,kBAAkB;YAClB,IAAI,CAAC,KAAK,EAAE;gBACV,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;aACvD;YACD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;gBAC3C,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,yCAAyC,CAAC,CAAC;aAC5E;YAED,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;gBAC3B,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,iDAAiD,CAClD,CAAC;aACH;YAED,8BAA8B;YAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBACpB,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;aACtB;YAGK,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC;YAEhC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC,IAAI,CAAC;YAElD,MAAM,GAAG;gBACb,MAAM,EAAE;oBACN,IAAI,EAAE,iBAAiB;oBACvB,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,iBAAiB;iBACxB;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,cAAc;iBACrB;aACF,CAAC;YAEI,EAAE,GAAG,OAAO,CAAC,MAAM,EAAK,OAAO,SAAI,UAAY,CAAC,CAAC;YACvD,IAAI,CAAC,EAAE,EAAE;gBACP,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,kBAAe,UAAU,4BAAqB,OAAO,8BAA0B,CAChF,CAAC;aACH;YACD,sBAAO,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAC;;;CACxC"}
1
+ {"version":3,"file":"hubSearch.js","sourceRoot":"","sources":["../../../src/search/hubSearch.ts"],"names":[],"mappings":";AAAA,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAQtC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;GAWG;AACH,MAAM,UAAgB,cAAc,CAClC,KAAa,EACb,OAA0B;;;YAE1B,WAAW;YACX,sBAAO,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAC;;;CAClC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAgB,SAAS,CAC7B,KAAa,EACb,OAA0B;;;;YAE1B,kBAAkB;YAClB,IAAI,CAAC,KAAK,EAAE;gBACV,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;aACvD;YACD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;gBAC3C,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,yCAAyC,CAAC,CAAC;aAC5E;YAED,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;gBAC3B,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,iDAAiD,CAClD,CAAC;aACH;YAED,8BAA8B;YAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBACpB,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;aACtB;YAGK,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC;YAEhC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC,IAAI,CAAC;YAElD,MAAM,GAAG;gBACb,MAAM,EAAE;oBACN,IAAI,EAAE,iBAAiB;oBACvB,KAAK,EAAE,kBAAkB;oBACzB,IAAI,EAAE,iBAAiB;iBACxB;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,cAAc;iBACrB;aACF,CAAC;YAEI,EAAE,GAAG,OAAO,CAAC,MAAM,EAAK,OAAO,SAAI,UAAY,CAAC,CAAC;YACvD,IAAI,CAAC,EAAE,EAAE;gBACP,MAAM,IAAI,QAAQ,CAChB,WAAW,EACX,kBAAe,UAAU,4BAAqB,OAAO,uFAAiF,CACvI,CAAC;aACH;YACD,sBAAO,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAC;;;CACxC"}
@@ -8,8 +8,10 @@ export * from "./_searchGroups";
8
8
  export * from "./_searchUsers";
9
9
  export * from "./types";
10
10
  export * from "./collectionState";
11
- export * from "./convertCatalog";
11
+ export * from "./upgradeCatalogSchema";
12
12
  export * from "./filter-utils";
13
13
  export * from "./serializeQueryForPortal";
14
14
  export * from "./hubSearch";
15
+ export * from "./Catalog";
16
+ export * from "./Collection";
15
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/search/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/search/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { __spreadArrays } from "tslib";
2
- import { expandPredicate } from "./_internal/ipredicate-utils";
2
+ import { expandPredicate } from "./_internal/expandPredicate";
3
3
  /**
4
4
  * Serialize IQuery into ISearchOptions for ArcGIS Portal
5
5
  * @param query
@@ -1 +1 @@
1
- {"version":3,"file":"serializeQueryForPortal.js","sourceRoot":"","sources":["../../../src/search/serializeQueryForPortal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializeQueryForPortal.js","sourceRoot":"","sources":["../../../src/search/serializeQueryForPortal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import { getProp } from "../objects";
2
+ import { cloneObject } from "../util";
3
+ var CATALOG_SCHEMA_VERSION = 1.0;
4
+ /**
5
+ * Apply schema upgrades to Catalog objects
6
+ * @param catalog
7
+ * @returns
8
+ */
9
+ export function upgradeCatalogSchema(catalog) {
10
+ var clone = cloneObject(catalog);
11
+ if (getProp(clone, "schemaVersion") === CATALOG_SCHEMA_VERSION) {
12
+ return clone;
13
+ }
14
+ else {
15
+ // apply migrations in order
16
+ clone = applyCatalogSchema(clone);
17
+ return clone;
18
+ }
19
+ }
20
+ /**
21
+ * Apply the Catalog schema to the original, unversioned
22
+ * site catalog objects
23
+ * @param original
24
+ * @returns
25
+ */
26
+ function applyCatalogSchema(original) {
27
+ if (getProp(original, "schemaVersion") > 1.0) {
28
+ return original;
29
+ }
30
+ else {
31
+ var catalog = {
32
+ schemaVersion: 1,
33
+ title: "Default Catalog",
34
+ scopes: {
35
+ item: {
36
+ targetEntity: "item",
37
+ filters: [],
38
+ },
39
+ },
40
+ collections: [],
41
+ };
42
+ var rawGroups = getProp(original, "groups");
43
+ var groups = [];
44
+ if (Array.isArray(rawGroups) && rawGroups.length) {
45
+ groups = rawGroups;
46
+ }
47
+ else if (typeof rawGroups === "string") {
48
+ groups = [rawGroups];
49
+ }
50
+ if (groups.length) {
51
+ catalog.scopes.item.filters.push({
52
+ predicates: [{ group: groups }],
53
+ });
54
+ }
55
+ return catalog;
56
+ }
57
+ }
58
+ /**
59
+ * DEPRECATED: Use upgradeCatalogSchema(...)
60
+ * @param original
61
+ */
62
+ /* istanbul ignore next */
63
+ export function convertCatalog(original) {
64
+ return upgradeCatalogSchema(original);
65
+ }
66
+ //# sourceMappingURL=upgradeCatalogSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgradeCatalogSchema.js","sourceRoot":"","sources":["../../../src/search/upgradeCatalogSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,IAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAY;IAC/C,IAAI,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,sBAAsB,EAAE;QAC9D,OAAO,KAAK,CAAC;KACd;SAAM;QACL,4BAA4B;QAC5B,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAElC,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,QAAa;IACvC,IAAI,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC,GAAG,GAAG,EAAE;QAC5C,OAAO,QAAuB,CAAC;KAChC;SAAM;QACL,IAAM,OAAO,GAAgB;YAC3B,aAAa,EAAE,CAAC;YAChB,KAAK,EAAE,iBAAiB;YACxB,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,YAAY,EAAE,MAAM;oBACpB,OAAO,EAAE,EAAE;iBACZ;aACF;YACD,WAAW,EAAE,EAAE;SAChB,CAAC;QAEF,IAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE;YAChD,MAAM,GAAG,SAAS,CAAC;SACpB;aAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YACxC,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC;SACtB;QAED,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC/B,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;aAChC,CAAC,CAAC;SACJ;QAED,OAAO,OAAO,CAAC;KAChB;AACH,CAAC;AAED;;;GAGG;AACH,0BAA0B;AAC1B,MAAM,UAAU,cAAc,CAAC,QAAa;IAC1C,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=IMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMessage.js","sourceRoot":"","sources":["../../../src/types/IMessage.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from "./IMessage";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=WithCatalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WithCatalog.js","sourceRoot":"","sources":["../../../../src/core/traits/WithCatalog.ts"],"names":[],"mappings":""}
@@ -33,6 +33,7 @@ tslib_1.__exportStar(require("./Hub"), exports);
33
33
  tslib_1.__exportStar(require("./pages"), exports);
34
34
  tslib_1.__exportStar(require("./org"), exports);
35
35
  tslib_1.__exportStar(require("./users"), exports);
36
+ tslib_1.__exportStar(require("./types"), exports);
36
37
  const OperationStack_1 = require("./OperationStack");
37
38
  exports.OperationStack = OperationStack_1.default;
38
39
  const OperationError_1 = require("./OperationError");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;gBACgB;;;;AAEhB,mDAAyB;AACzB,gDAAsB;AACtB,0DAAgC;AAChC,iEAAuC;AACvC,iDAAuB;AACvB,uDAA6B;AAC7B,oDAA0B;AAC1B,iDAAuB;AACvB,sDAA4B;AAC5B,mDAAyB;AACzB,mDAAyB;AACzB,iDAAuB;AACvB,kDAAwB;AACxB,mDAAyB;AACzB,oDAA0B;AAC1B,qDAA2B;AAC3B,oDAA0B;AAC1B,sDAA4B;AAC5B,mDAAyB;AACzB,kDAAwB;AACxB,oDAA0B;AAC1B,kDAAwB;AACxB,iDAAuB;AACvB,iDAAuB;AACvB,kDAAwB;AACxB,gDAAsB;AACtB,kDAAwB;AACxB,gDAAsB;AACtB,kDAAwB;AAExB,qDAA8C;AAKrC,yBALF,wBAAc,CAKE;AAJvB,qDAA8C;AAIrB,yBAJlB,wBAAc,CAIkB;AAHvC,yCAAkC;AAGO,mBAHlC,kBAAQ,CAGkC;AACjD,6BAAkC;AAAzB,4FAAA,IAAI,OAAA;AAAE,4FAAA,IAAI,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;gBACgB;;;;AAEhB,mDAAyB;AACzB,gDAAsB;AACtB,0DAAgC;AAChC,iEAAuC;AACvC,iDAAuB;AACvB,uDAA6B;AAC7B,oDAA0B;AAC1B,iDAAuB;AACvB,sDAA4B;AAC5B,mDAAyB;AACzB,mDAAyB;AACzB,iDAAuB;AACvB,kDAAwB;AACxB,mDAAyB;AACzB,oDAA0B;AAC1B,qDAA2B;AAC3B,oDAA0B;AAC1B,sDAA4B;AAC5B,mDAAyB;AACzB,kDAAwB;AACxB,oDAA0B;AAC1B,kDAAwB;AACxB,iDAAuB;AACvB,iDAAuB;AACvB,kDAAwB;AACxB,gDAAsB;AACtB,kDAAwB;AACxB,gDAAsB;AACtB,kDAAwB;AACxB,kDAAwB;AAExB,qDAA8C;AAKrC,yBALF,wBAAc,CAKE;AAJvB,qDAA8C;AAIrB,yBAJlB,wBAAc,CAIkB;AAHvC,yCAAkC;AAGO,mBAHlC,kBAAQ,CAGkC;AACjD,6BAAkC;AAAzB,4FAAA,IAAI,OAAA;AAAE,4FAAA,IAAI,OAAA"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchMaxNumUserGroupsLimit = exports.fetchOrgLimits = void 0;
4
+ const arcgis_rest_request_1 = require("@esri/arcgis-rest-request");
5
+ /**
6
+ * Generic function to fetch org limits
7
+ * @param orgId
8
+ * @param limitsType
9
+ * @param limitName
10
+ * @param options
11
+ * @returns
12
+ */
13
+ function fetchOrgLimits(orgId, limitsType, limitName, options) {
14
+ const portal = options.authentication.portal;
15
+ const url = `${portal}/portals/${orgId}/limits?limitsType=${limitsType}&limitName=${limitName}&f=json`;
16
+ return arcgis_rest_request_1.request(url, options);
17
+ }
18
+ exports.fetchOrgLimits = fetchOrgLimits;
19
+ /**
20
+ * Fetch the maximum number of groups a user can create in an org
21
+ * @param orgId
22
+ * @param options
23
+ * @returns
24
+ */
25
+ function fetchMaxNumUserGroupsLimit(orgId, options) {
26
+ return fetchOrgLimits(orgId, "Groups", "MaxNumUserGroups", options)
27
+ .then((response) => {
28
+ return response.limitValue;
29
+ })
30
+ .catch((_) => {
31
+ // it's possible that the org doesn't have this property set, and
32
+ // the api will return a 500 error. So we just return the default value
33
+ return 512;
34
+ });
35
+ }
36
+ exports.fetchMaxNumUserGroupsLimit = fetchMaxNumUserGroupsLimit;
37
+ //# sourceMappingURL=fetchOrgLimits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchOrgLimits.js","sourceRoot":"","sources":["../../../src/org/fetchOrgLimits.ts"],"names":[],"mappings":";;;AACA,mEAAoD;AA2BpD;;;;;;;GAOG;AACH,SAAgB,cAAc,CAC5B,KAAa,EACb,UAAwB,EACxB,SAAiB,EACjB,OAA4B;IAE5B,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;IAC7C,MAAM,GAAG,GAAG,GAAG,MAAM,YAAY,KAAK,sBAAsB,UAAU,cAAc,SAAS,SAAS,CAAC;IACvG,OAAO,6BAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC;AATD,wCASC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CACxC,KAAa,EACb,OAA4B;IAE5B,OAAO,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC;SAChE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,OAAO,QAAQ,CAAC,UAAU,CAAC;IAC7B,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,iEAAiE;QACjE,uEAAuE;QACvE,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACP,CAAC;AAbD,gEAaC"}
@@ -2,4 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./fetch-org"), exports);
5
+ tslib_1.__exportStar(require("./fetchOrgLimits"), exports);
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/org/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/org/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,2DAAiC"}
@@ -0,0 +1,350 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Catalog = void 0;
4
+ const ArcGISContextManager_1 = require("../ArcGISContextManager");
5
+ const HubError_1 = require("../HubError");
6
+ const util_1 = require("../util");
7
+ const utils_1 = require("../utils");
8
+ const Collection_1 = require("./Collection");
9
+ const fetchCatalog_1 = require("./fetchCatalog");
10
+ const hubSearch_1 = require("./hubSearch");
11
+ const upgradeCatalogSchema_1 = require("./upgradeCatalogSchema");
12
+ /**
13
+ * Catalog Class
14
+ *
15
+ * Abstracts working with Catalogs and fetching collections with
16
+ * the correct scope applied.
17
+ *
18
+ * For more information, check out the [Catalog & Collection Guide](/hub.js/guides/concepts/catalog-collection/)
19
+ */
20
+ class Catalog {
21
+ // internal - use static factory methods
22
+ constructor(catalog, context) {
23
+ this._catalog = catalog;
24
+ this._context = context;
25
+ }
26
+ /**
27
+ * Create a Collection instance from a Catalog json object, a site url or itemId
28
+ * '''js
29
+ * const catalog = await Catalog.create('https://site-org.hub.arcgis.com', context);
30
+ * '''
31
+ *
32
+ * @param identifier
33
+ * @param context
34
+ * @returns
35
+ */
36
+ static async init(identifier, context) {
37
+ // if context is not passed, create a default that point to AGO prod
38
+ if (!context) {
39
+ const mgr = await ArcGISContextManager_1.ArcGISContextManager.create();
40
+ context = mgr.context;
41
+ }
42
+ // fetch the catalog
43
+ const fetched = await fetchCatalog_1.fetchCatalog(identifier, context.hubRequestOptions);
44
+ // return an instance
45
+ return new Catalog(fetched, context);
46
+ }
47
+ /**
48
+ * Create a Catalog instance from a Catalog Json object
49
+ * @param json
50
+ * @param context
51
+ * @returns
52
+ */
53
+ static fromJson(json, context) {
54
+ // ensure it's in the latest structure
55
+ const catalog = upgradeCatalogSchema_1.upgradeCatalogSchema(json);
56
+ return new Catalog(catalog, context);
57
+ }
58
+ /**
59
+ * Return the JSON object backing the instance
60
+ * @returns
61
+ */
62
+ toJson() {
63
+ return util_1.cloneObject(this._catalog);
64
+ }
65
+ /**
66
+ * Return the schema version
67
+ */
68
+ get schemaVersion() {
69
+ return this._catalog.schemaVersion;
70
+ }
71
+ /**
72
+ * Title getter
73
+ */
74
+ get title() {
75
+ return this._catalog.title;
76
+ }
77
+ /**
78
+ * Title setter
79
+ */
80
+ set title(v) {
81
+ this._catalog.title = v;
82
+ }
83
+ /**
84
+ * Return the existing scopes hash
85
+ */
86
+ get scopes() {
87
+ return this._catalog.scopes;
88
+ }
89
+ /**
90
+ * Return an array of the entity types available in this Catalog
91
+ */
92
+ get availableScopes() {
93
+ return Object.keys(this.scopes);
94
+ }
95
+ /**
96
+ * Get the scope's query for a particular entity type
97
+ * @param type
98
+ * @returns
99
+ */
100
+ getScope(type) {
101
+ return this._catalog.scopes[type];
102
+ }
103
+ /**
104
+ * Set the scope for a specific entity type
105
+ * @param type
106
+ * @param query
107
+ */
108
+ setScope(type, query) {
109
+ this._catalog.scopes[type] = query;
110
+ }
111
+ /**
112
+ * Get the collections array. Returns simple objects not Collection instances
113
+ */
114
+ get collections() {
115
+ return this._catalog.collections || [];
116
+ }
117
+ /**
118
+ * Get the names of the collections
119
+ */
120
+ get collectionNames() {
121
+ return utils_1.mapBy("key", this.collections);
122
+ }
123
+ /**
124
+ * Get a Collection instance by name
125
+ * @param name
126
+ * @returns
127
+ */
128
+ getCollection(name) {
129
+ const json = this.collections.find((entry) => entry.key === name);
130
+ if (json) {
131
+ // clone it then merge in the associated scope filter
132
+ const clone = util_1.cloneObject(json);
133
+ const catalogScope = this.getScope(clone.scope.targetEntity);
134
+ if (catalogScope === null || catalogScope === void 0 ? void 0 : catalogScope.filters) {
135
+ clone.scope.filters = [...clone.scope.filters, ...catalogScope.filters];
136
+ }
137
+ return Collection_1.Collection.fromJson(clone, this._context);
138
+ }
139
+ else {
140
+ throw new HubError_1.default("getCollection", `Collection "${name}" is not present in the Catalog`);
141
+ }
142
+ }
143
+ /**
144
+ * Search for Items
145
+ * Will throw if the Catalog does not have a scope defined for items
146
+ * @param query
147
+ * @param options
148
+ * @returns
149
+ */
150
+ searchItems(query, options = {}) {
151
+ if (!this.getScope("item")) {
152
+ const result = this.getEmptyResult();
153
+ result.messages = [
154
+ {
155
+ code: "missingScope",
156
+ message: "Catalog does not have a scope for items",
157
+ data: {
158
+ scope: "item",
159
+ },
160
+ },
161
+ ];
162
+ return Promise.resolve(result);
163
+ }
164
+ else {
165
+ // ensure it's an item search
166
+ options.targetEntity = "item";
167
+ return this.search(query, options);
168
+ }
169
+ }
170
+ /**
171
+ * Search for Groups
172
+ * Will throw if the Catalog does not have a scope defined for groups
173
+ * @param query
174
+ * @param options
175
+ * @returns
176
+ */
177
+ searchGroups(query, options = {}) {
178
+ if (!this.getScope("group")) {
179
+ const result = this.getEmptyResult();
180
+ result.messages = [
181
+ {
182
+ code: "missingScope",
183
+ message: "Catalog does not have a scope for groups",
184
+ data: {
185
+ scope: "group",
186
+ },
187
+ },
188
+ ];
189
+ return Promise.resolve(result);
190
+ }
191
+ else {
192
+ // ensure it's an group search
193
+ options.targetEntity = "group";
194
+ return this.search(query, options);
195
+ }
196
+ }
197
+ /**
198
+ * Search for Users
199
+ * Will throw if the Catalog does not have a scope defined for users
200
+ * @param query
201
+ * @param options
202
+ * @returns
203
+ */
204
+ searchUsers(query, options = {}) {
205
+ if (!this.getScope("user")) {
206
+ const result = this.getEmptyResult();
207
+ result.messages = [
208
+ {
209
+ code: "missingScope",
210
+ message: "Catalog does not have a scope for user",
211
+ data: {
212
+ scope: "user",
213
+ },
214
+ },
215
+ ];
216
+ return Promise.resolve(result);
217
+ }
218
+ else {
219
+ // ensure it's an group search
220
+ options.targetEntity = "user";
221
+ return this.search(query, options);
222
+ }
223
+ }
224
+ /**
225
+ * Execute a search against all the collections in the Catalog
226
+ * @param query
227
+ * @param options
228
+ * @returns
229
+ */
230
+ async searchCollections(query, options = {}) {
231
+ // build a query
232
+ const qry = {
233
+ targetEntity: "item",
234
+ filters: [
235
+ {
236
+ predicates: [
237
+ {
238
+ term: query,
239
+ },
240
+ ],
241
+ },
242
+ ],
243
+ };
244
+ // iterate the colllections, issue searchs for each one
245
+ const promiseKeys = [];
246
+ const promises = this.collectionNames.map((name) => {
247
+ const col = this.getCollection(name);
248
+ promiseKeys.push(name);
249
+ qry.targetEntity = col.targetEntity;
250
+ return col.search(qry, options);
251
+ });
252
+ const responses = await Promise.all(promises);
253
+ // merge the responses into the hash
254
+ const hash = {};
255
+ for (let i = 0; i < promiseKeys.length; i++) {
256
+ hash[promiseKeys[i]] = responses[i];
257
+ }
258
+ return hash;
259
+ }
260
+ /**
261
+ * Execute a search against all the scopes in the Catalog
262
+ * @param query
263
+ * @param options
264
+ * @returns
265
+ */
266
+ async searchScopes(query, options = {}) {
267
+ const qry = {
268
+ targetEntity: "item",
269
+ filters: [
270
+ {
271
+ predicates: [
272
+ {
273
+ term: query,
274
+ },
275
+ ],
276
+ },
277
+ ],
278
+ };
279
+ // iterate the scopes, issue searchs for each one
280
+ const promiseKeys = [];
281
+ const promises = this.availableScopes.map((name) => {
282
+ promiseKeys.push(name);
283
+ // make clones
284
+ const qryClone = util_1.cloneObject(qry);
285
+ const optsClone = util_1.cloneObject(options);
286
+ // set the target entity
287
+ qryClone.targetEntity = name;
288
+ optsClone.targetEntity = name;
289
+ // return the search promise
290
+ return this.search(qryClone, optsClone);
291
+ });
292
+ // wait for all the searches to complete
293
+ const responses = await Promise.all(promises);
294
+ // merge the responses into the hash
295
+ const hash = {};
296
+ for (let i = 0; i < promiseKeys.length; i++) {
297
+ hash[promiseKeys[i]] = responses[i];
298
+ }
299
+ return hash;
300
+ }
301
+ /**
302
+ * Execute a search against the Catalog as a whole
303
+ * @param query
304
+ * @param targetEntity
305
+ * @returns
306
+ */
307
+ search(query, options) {
308
+ const targetEntity = options.targetEntity;
309
+ let qry;
310
+ if (typeof query === "string") {
311
+ qry = {
312
+ targetEntity,
313
+ filters: [
314
+ {
315
+ predicates: [
316
+ {
317
+ term: query,
318
+ },
319
+ ],
320
+ },
321
+ ],
322
+ };
323
+ }
324
+ else {
325
+ qry = util_1.cloneObject(query);
326
+ }
327
+ // Now merge in catalog scope level filters
328
+ qry.filters = [...qry.filters, ...this.getScope(targetEntity).filters];
329
+ const opts = util_1.cloneObject(options);
330
+ // An Catalog instance always uses the context so we remove/replace any passed in auth
331
+ delete opts.authentication;
332
+ opts.requestOptions = this._context.hubRequestOptions;
333
+ return hubSearch_1.hubSearch(qry, opts);
334
+ }
335
+ /**
336
+ * Construct an empty result. Returned when a search is performed against an entity type that
337
+ * does not have a scope defined.
338
+ * @returns
339
+ */
340
+ getEmptyResult() {
341
+ return {
342
+ results: [],
343
+ total: 0,
344
+ hasNext: false,
345
+ next: null,
346
+ };
347
+ }
348
+ }
349
+ exports.Catalog = Catalog;
350
+ //# sourceMappingURL=Catalog.js.map