@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.
- package/dist/es2017/core/traits/WithCatalog.js +1 -0
- package/dist/es2017/core/traits/WithCatalog.js.map +1 -0
- package/dist/es2017/index.js +1 -0
- package/dist/es2017/index.js.map +1 -1
- package/dist/es2017/org/fetchOrgLimits.js +32 -0
- package/dist/es2017/org/fetchOrgLimits.js.map +1 -0
- package/dist/es2017/org/index.js +1 -0
- package/dist/es2017/org/index.js.map +1 -1
- package/dist/es2017/search/Catalog.js +346 -0
- package/dist/es2017/search/Catalog.js.map +1 -0
- package/dist/es2017/search/Collection.js +38 -19
- package/dist/es2017/search/Collection.js.map +1 -1
- package/dist/es2017/search/_internal/{ipredicate-utils.js → expandPredicate.js} +1 -1
- package/dist/es2017/search/_internal/expandPredicate.js.map +1 -0
- package/dist/es2017/search/_internal/portalSearchGroups.js +1 -1
- package/dist/es2017/search/_internal/portalSearchGroups.js.map +1 -1
- package/dist/es2017/search/_internal/portalSearchItems.js +1 -1
- package/dist/es2017/search/_internal/portalSearchItems.js.map +1 -1
- package/dist/es2017/search/_internal/portalSearchUsers.js +1 -1
- package/dist/es2017/search/_internal/portalSearchUsers.js.map +1 -1
- package/dist/es2017/search/fetchCatalog.js +46 -0
- package/dist/es2017/search/fetchCatalog.js.map +1 -0
- package/dist/es2017/search/hubSearch.js +1 -1
- package/dist/es2017/search/hubSearch.js.map +1 -1
- package/dist/es2017/search/index.js +3 -1
- package/dist/es2017/search/index.js.map +1 -1
- package/dist/es2017/search/serializeQueryForPortal.js +1 -1
- package/dist/es2017/search/serializeQueryForPortal.js.map +1 -1
- package/dist/es2017/search/upgradeCatalogSchema.js +66 -0
- package/dist/es2017/search/upgradeCatalogSchema.js.map +1 -0
- package/dist/es2017/types/IMessage.js +1 -0
- package/dist/es2017/types/IMessage.js.map +1 -0
- package/dist/es2017/types/index.js +2 -0
- package/dist/es2017/types/index.js.map +1 -0
- package/dist/esm/core/traits/WithCatalog.js +1 -0
- package/dist/esm/core/traits/WithCatalog.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/org/fetchOrgLimits.js +32 -0
- package/dist/esm/org/fetchOrgLimits.js.map +1 -0
- package/dist/esm/org/index.js +1 -0
- package/dist/esm/org/index.js.map +1 -1
- package/dist/esm/search/Catalog.js +404 -0
- package/dist/esm/search/Catalog.js.map +1 -0
- package/dist/esm/search/Collection.js +40 -24
- package/dist/esm/search/Collection.js.map +1 -1
- package/dist/esm/search/_internal/{ipredicate-utils.js → expandPredicate.js} +1 -1
- package/dist/esm/search/_internal/expandPredicate.js.map +1 -0
- package/dist/esm/search/_internal/portalSearchGroups.js +1 -1
- package/dist/esm/search/_internal/portalSearchGroups.js.map +1 -1
- package/dist/esm/search/_internal/portalSearchItems.js +1 -1
- package/dist/esm/search/_internal/portalSearchItems.js.map +1 -1
- package/dist/esm/search/_internal/portalSearchUsers.js +1 -1
- package/dist/esm/search/_internal/portalSearchUsers.js.map +1 -1
- package/dist/esm/search/fetchCatalog.js +59 -0
- package/dist/esm/search/fetchCatalog.js.map +1 -0
- package/dist/esm/search/hubSearch.js +1 -1
- package/dist/esm/search/hubSearch.js.map +1 -1
- package/dist/esm/search/index.js +3 -1
- package/dist/esm/search/index.js.map +1 -1
- package/dist/esm/search/serializeQueryForPortal.js +1 -1
- package/dist/esm/search/serializeQueryForPortal.js.map +1 -1
- package/dist/esm/search/upgradeCatalogSchema.js +66 -0
- package/dist/esm/search/upgradeCatalogSchema.js.map +1 -0
- package/dist/esm/types/IMessage.js +1 -0
- package/dist/esm/types/IMessage.js.map +1 -0
- package/dist/esm/types/index.js +2 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/node/core/traits/WithCatalog.js +3 -0
- package/dist/node/core/traits/WithCatalog.js.map +1 -0
- package/dist/node/index.js +1 -0
- package/dist/node/index.js.map +1 -1
- package/dist/node/org/fetchOrgLimits.js +37 -0
- package/dist/node/org/fetchOrgLimits.js.map +1 -0
- package/dist/node/org/index.js +1 -0
- package/dist/node/org/index.js.map +1 -1
- package/dist/node/search/Catalog.js +350 -0
- package/dist/node/search/Catalog.js.map +1 -0
- package/dist/node/search/Collection.js +37 -18
- package/dist/node/search/Collection.js.map +1 -1
- package/dist/node/search/_internal/{ipredicate-utils.js → expandPredicate.js} +1 -1
- package/dist/node/search/_internal/expandPredicate.js.map +1 -0
- package/dist/node/search/_internal/portalSearchGroups.js +2 -2
- package/dist/node/search/_internal/portalSearchGroups.js.map +1 -1
- package/dist/node/search/_internal/portalSearchItems.js +2 -2
- package/dist/node/search/_internal/portalSearchItems.js.map +1 -1
- package/dist/node/search/_internal/portalSearchUsers.js +2 -2
- package/dist/node/search/_internal/portalSearchUsers.js.map +1 -1
- package/dist/node/search/fetchCatalog.js +50 -0
- package/dist/node/search/fetchCatalog.js.map +1 -0
- package/dist/node/search/hubSearch.js +1 -1
- package/dist/node/search/hubSearch.js.map +1 -1
- package/dist/node/search/index.js +3 -1
- package/dist/node/search/index.js.map +1 -1
- package/dist/node/search/serializeQueryForPortal.js +2 -2
- package/dist/node/search/serializeQueryForPortal.js.map +1 -1
- package/dist/node/search/upgradeCatalogSchema.js +71 -0
- package/dist/node/search/upgradeCatalogSchema.js.map +1 -0
- package/dist/node/types/IMessage.js +3 -0
- package/dist/node/types/IMessage.js.map +1 -0
- package/dist/node/types/index.js +5 -0
- package/dist/node/types/index.js.map +1 -0
- package/dist/types/core/traits/WithCatalog.d.ts +7 -0
- package/dist/types/core/types/IHubTimeline.d.ts +15 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/org/fetchOrgLimits.d.ts +35 -0
- package/dist/types/org/index.d.ts +1 -0
- package/dist/types/search/Catalog.d.ts +143 -0
- package/dist/types/search/Collection.d.ts +23 -2
- package/dist/types/search/_internal/{ipredicate-utils.d.ts → expandPredicate.d.ts} +0 -0
- package/dist/types/search/fetchCatalog.d.ts +10 -0
- package/dist/types/search/index.d.ts +3 -1
- package/dist/types/search/types/IHubSearchOptions.d.ts +5 -1
- package/dist/types/search/types/IHubSearchResponse.d.ts +5 -0
- package/dist/types/search/upgradeCatalogSchema.d.ts +12 -0
- package/dist/types/types/IMessage.d.ts +32 -0
- package/dist/types/types/index.d.ts +1 -0
- package/dist/umd/common.umd.js +666 -27
- package/dist/umd/common.umd.js.map +1 -1
- package/package.json +1 -1
- package/dist/es2017/search/_internal/ipredicate-utils.js.map +0 -1
- package/dist/es2017/search/convertCatalog.js +0 -33
- package/dist/es2017/search/convertCatalog.js.map +0 -1
- package/dist/esm/search/_internal/ipredicate-utils.js.map +0 -1
- package/dist/esm/search/convertCatalog.js +0 -33
- package/dist/esm/search/convertCatalog.js.map +0 -1
- package/dist/node/search/_internal/ipredicate-utils.js.map +0 -1
- package/dist/node/search/convertCatalog.js +0 -37
- package/dist/node/search/convertCatalog.js.map +0 -1
- 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,
|
|
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"}
|
package/dist/esm/search/index.js
CHANGED
|
@@ -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 "./
|
|
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,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializeQueryForPortal.js","sourceRoot":"","sources":["../../../src/search/serializeQueryForPortal.ts"],"names":[],"mappings":";AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WithCatalog.js","sourceRoot":"","sources":["../../../../src/core/traits/WithCatalog.ts"],"names":[],"mappings":""}
|
package/dist/node/index.js
CHANGED
|
@@ -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");
|
package/dist/node/index.js.map
CHANGED
|
@@ -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"}
|
package/dist/node/org/index.js
CHANGED
|
@@ -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
|