@esri/hub-common 13.39.1 → 13.39.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.
- package/dist/esm/content/_internal/computeProps.js +26 -0
- package/dist/esm/content/_internal/computeProps.js.map +1 -1
- package/dist/esm/content/fetch.js +0 -1
- package/dist/esm/content/fetch.js.map +1 -1
- package/dist/esm/core/getTypeFromEntity.js +3 -3
- package/dist/esm/core/getTypeFromEntity.js.map +1 -1
- package/dist/esm/core/schemas/internal/getLocationOptions.js +40 -35
- package/dist/esm/core/schemas/internal/getLocationOptions.js.map +1 -1
- package/dist/esm/permissions/checkPermission.js +73 -63
- package/dist/esm/permissions/checkPermission.js.map +1 -1
- package/dist/node/content/_internal/computeProps.js +28 -1
- package/dist/node/content/_internal/computeProps.js.map +1 -1
- package/dist/node/content/fetch.js +0 -1
- package/dist/node/content/fetch.js.map +1 -1
- package/dist/node/core/getTypeFromEntity.js +3 -3
- package/dist/node/core/getTypeFromEntity.js.map +1 -1
- package/dist/node/core/schemas/internal/getLocationOptions.js +40 -36
- package/dist/node/core/schemas/internal/getLocationOptions.js.map +1 -1
- package/dist/node/permissions/checkPermission.js +73 -63
- package/dist/node/permissions/checkPermission.js.map +1 -1
- package/dist/types/content/_internal/computeProps.d.ts +4 -1
- package/dist/types/core/schemas/internal/getLocationOptions.d.ts +0 -1
- package/package.json +1 -1
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
import { getItemThumbnailUrl } from "../../resources";
|
|
2
|
+
import { bBoxToExtent, extentToPolygon, isBBox } from "../../extent";
|
|
3
|
+
// if called and valid, set 3 things -- else just return type custom
|
|
4
|
+
export const getItemExtent = (itemExtent) => {
|
|
5
|
+
return isBBox(itemExtent)
|
|
6
|
+
? Object.assign(Object.assign({}, bBoxToExtent(itemExtent)), { type: "extent" })
|
|
7
|
+
: undefined;
|
|
8
|
+
};
|
|
9
|
+
export function deriveLocationFromItemExtent(itemExtent) {
|
|
10
|
+
const location = { type: "custom" };
|
|
11
|
+
const geometry = getItemExtent(itemExtent); // TODO: this needs to be fixed -tom
|
|
12
|
+
if (geometry) {
|
|
13
|
+
const convertedPolygon = Object.assign(Object.assign({}, extentToPolygon(geometry)), { type: "polygon" });
|
|
14
|
+
location.geometries = [convertedPolygon];
|
|
15
|
+
location.spatialReference = geometry.spatialReference;
|
|
16
|
+
location.extent = itemExtent;
|
|
17
|
+
}
|
|
18
|
+
return location;
|
|
19
|
+
}
|
|
2
20
|
export function computeProps(model, content, requestOptions) {
|
|
21
|
+
var _a;
|
|
3
22
|
let token;
|
|
4
23
|
if (requestOptions.authentication) {
|
|
5
24
|
const session = requestOptions.authentication;
|
|
@@ -7,6 +26,13 @@ export function computeProps(model, content, requestOptions) {
|
|
|
7
26
|
}
|
|
8
27
|
// thumbnail url
|
|
9
28
|
content.thumbnailUrl = getItemThumbnailUrl(model.item, requestOptions, token);
|
|
29
|
+
if (!content.location) {
|
|
30
|
+
// build location if one does not exist based off of the boundary and the item's extent
|
|
31
|
+
content.location =
|
|
32
|
+
((_a = model.item.properties) === null || _a === void 0 ? void 0 : _a.boundary) === "none"
|
|
33
|
+
? { type: "none" }
|
|
34
|
+
: deriveLocationFromItemExtent(model.item.extent);
|
|
35
|
+
}
|
|
10
36
|
return content;
|
|
11
37
|
}
|
|
12
38
|
//# sourceMappingURL=computeProps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/content/_internal/computeProps.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/content/_internal/computeProps.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAIrE,oEAAoE;AACpE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAsB,EAAW,EAAE;IAC/D,OAAO,MAAM,CAAC,UAAU,CAAC;QACvB,CAAC,CAAE,gCAAK,YAAY,CAAC,UAAU,CAAC,KAAE,IAAI,EAAE,QAAQ,GAAyB;QACzE,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,UAAU,4BAA4B,CAAC,UAAuB;IAClE,MAAM,QAAQ,GAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAQ,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,oCAAoC;IACrF,IAAI,QAAQ,EAAE;QACZ,MAAM,gBAAgB,GAAG,gCACpB,eAAe,CAAC,QAAQ,CAAC,KAC5B,IAAI,EAAE,SAAS,GACO,CAAC;QACzB,QAAQ,CAAC,UAAU,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACzC,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QACtD,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC;KAC9B;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,OAAqC,EACrC,cAA+B;;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IACD,gBAAgB;IAChB,OAAO,CAAC,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAE9E,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;QACrB,uFAAuF;QACvF,OAAO,CAAC,QAAQ;YACd,OAAA,KAAK,CAAC,IAAI,CAAC,UAAU,0CAAE,QAAQ,MAAK,MAAM;gBACxC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;gBAClB,CAAC,CAAC,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACvD;IAED,OAAO,OAA8B,CAAC;AACxC,CAAC"}
|
|
@@ -153,7 +153,6 @@ export const fetchHubContent = async (identifier, requestOptions) => {
|
|
|
153
153
|
// for now we still need property mapper to get defaults not set by composeContent()
|
|
154
154
|
const mapper = new PropertyMapper(getPropertyMap());
|
|
155
155
|
const content = mapper.storeToEntity(model, {});
|
|
156
|
-
// TODO: computeProps if we end up using fetchItemAndEnrichments()
|
|
157
156
|
return computeProps(model, content, requestOptions);
|
|
158
157
|
};
|
|
159
158
|
//# sourceMappingURL=fetch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/content/fetch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/content/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,9 +29,9 @@ export function getTypeFromEntity(entity) {
|
|
|
29
29
|
case "Group":
|
|
30
30
|
type = "group";
|
|
31
31
|
break;
|
|
32
|
-
case "Hub Content":
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
// case "Hub Content": // needed for future ticket in getLocationOptions
|
|
33
|
+
// type = "content";
|
|
34
|
+
// break;
|
|
35
35
|
default:
|
|
36
36
|
// TODO: other families go here? feedback? solution? template?
|
|
37
37
|
const contentFamilies = ["app", "content", "dataset", "document", "map"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,yDAAyD;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAuD;IAEvD,IAAI,IAAmB,CAAC;IACxB,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,kBAAkB;YACrB,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACd,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,YAAY;YACf,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,OAAO;YACV,IAAI,GAAG,OAAO,CAAC;YACf,MAAM;QACR,
|
|
1
|
+
{"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,yDAAyD;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAuD;IAEvD,IAAI,IAAmB,CAAC;IACxB,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,kBAAkB;YACrB,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACd,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,YAAY;YACf,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,OAAO;YACV,IAAI,GAAG,OAAO,CAAC;YACf,MAAM;QACR,wEAAwE;QACxE,sBAAsB;QACtB,WAAW;QACX;YACE,8DAA8D;YAC9D,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACzE,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE;gBAC1D,IAAI,GAAG,SAAS,CAAC;aAClB;KACJ;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { extentToBBox, getGeographicOrgExtent } from "../../../extent";
|
|
2
2
|
import { getTypeFromEntity } from "../../getTypeFromEntity";
|
|
3
|
-
const getItemExtent = (itemExtent) => {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
3
|
+
/*const getItemExtent = (itemExtent: number[][]): IExtent => {
|
|
4
|
+
return isBBox(itemExtent)
|
|
5
|
+
? ({ ...bBoxToExtent(itemExtent), type: "extent" } as unknown as IExtent)
|
|
6
|
+
: undefined;
|
|
7
|
+
};*/
|
|
8
8
|
/**
|
|
9
9
|
* Construct the dynamic location picker options with the entity's
|
|
10
10
|
* configured location using the following logic:
|
|
@@ -20,41 +20,46 @@ const getItemExtent = (itemExtent) => {
|
|
|
20
20
|
export async function getLocationOptions(entity, portalName, hubRequestOptions) {
|
|
21
21
|
const typeFromEntity = getTypeFromEntity(entity);
|
|
22
22
|
switch (typeFromEntity) {
|
|
23
|
-
case "content":
|
|
24
|
-
|
|
23
|
+
// case "content":
|
|
24
|
+
// return getContentLocationOptions(entity);
|
|
25
25
|
default:
|
|
26
26
|
return getDefaultLocationOptions(entity, portalName, hubRequestOptions);
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
// TODO: Refactor parameters, they are icky gross
|
|
30
30
|
// TODO: Maybe move these to outside of core and into respective entities
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
31
|
+
// Leaving this in for future work when we need
|
|
32
|
+
// dynamic options set for different entities
|
|
33
|
+
/*export async function getContentLocationOptions(
|
|
34
|
+
entity: ConfigurableEntity
|
|
35
|
+
): Promise<IHubLocationOption[]> {
|
|
36
|
+
const defaultExtent: IExtent = getItemExtent(entity.extent);
|
|
37
|
+
const defaultExtentIsBBox = isBBox(entity.extent);
|
|
38
|
+
const boundary = entity.boundary;
|
|
39
|
+
const isNone = boundary === "none";
|
|
40
|
+
return [
|
|
41
|
+
{
|
|
42
|
+
label: "{{shared.fields.location.none:translate}}",
|
|
43
|
+
location: { type: "none" },
|
|
44
|
+
selected: isNone,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
label: "{{shared.fields.location.itemExtent:translate}}",
|
|
48
|
+
entityType: "content",
|
|
49
|
+
selected: !isNone,
|
|
50
|
+
location: {
|
|
51
|
+
type: "custom",
|
|
52
|
+
// TODO: Add custom bbox option here
|
|
53
|
+
// TODO: Remove "Add another location?" notification that appears when selecting a location
|
|
54
|
+
// TODO: The lines below are causing a bug where custom extents don't render after save+reload
|
|
55
|
+
extent: defaultExtentIsBBox ? extentToBBox(defaultExtent) : undefined,
|
|
56
|
+
spatialReference: defaultExtentIsBBox
|
|
57
|
+
? defaultExtent.spatialReference
|
|
58
|
+
: undefined,
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
] as IHubLocationOption[];
|
|
62
|
+
}*/
|
|
58
63
|
export async function getDefaultLocationOptions(entity, portalName, hubRequestOptions) {
|
|
59
64
|
const defaultExtent = await getGeographicOrgExtent(hubRequestOptions);
|
|
60
65
|
const location = entity.location;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLocationOptions.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/getLocationOptions.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"getLocationOptions.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/getLocationOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAM5D;;;;IAII;AAEJ;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAA0B,EAC1B,UAAkB,EAClB,iBAAqC;IAErC,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAEjD,QAAQ,cAAc,EAAE;QACtB,kBAAkB;QAClB,8CAA8C;QAC9C;YACE,OAAO,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;KAC3E;AACH,CAAC;AAED,iDAAiD;AACjD,yEAAyE;AAEzE,+CAA+C;AAC/C,6CAA6C;AAC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAA0B,EAC1B,UAAkB,EAClB,iBAAqC;IAErC,MAAM,aAAa,GAAY,MAAM,sBAAsB,CACzD,iBAAiB,CAClB,CAAC;IACF,MAAM,QAAQ,GAAiB,MAAM,CAAC,QAAQ,CAAC;IAC/C,OACE;QACE;YACE,KAAK,EAAE,2CAA2C;YAClD,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC3B;QACD;YACE,KAAK,EAAE,0CAA0C;YACjD,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE;gBACR,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,YAAY,CAAC,aAAa,CAAC;gBACnC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;aACjD;SACF;QACD;YACE,KAAK,EAAE,6CAA6C;YACpD,WAAW,EAAE,wDAAwD;YACrE,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC;YACrC,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;aACjD;SACF;KAEJ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACf,+DAA+D;QAC/D,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;YACnD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;aAAM,IAAI,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE;YACpE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;aAAM,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;YAClD,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC3B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,wCAAwC"}
|
|
@@ -23,9 +23,17 @@ import { checkServiceStatus } from "./_internal/checkServiceStatus";
|
|
|
23
23
|
* @returns
|
|
24
24
|
*/
|
|
25
25
|
export function checkPermission(permission, context, entity) {
|
|
26
|
-
//
|
|
26
|
+
// Default to granted
|
|
27
|
+
let response = {
|
|
28
|
+
policy: permission,
|
|
29
|
+
access: true,
|
|
30
|
+
response: "granted",
|
|
31
|
+
code: getPolicyResponseCode("granted"),
|
|
32
|
+
checks: [],
|
|
33
|
+
};
|
|
34
|
+
// Is this even a valid permission?
|
|
27
35
|
if (!isPermission(permission)) {
|
|
28
|
-
|
|
36
|
+
response = {
|
|
29
37
|
policy: permission,
|
|
30
38
|
access: false,
|
|
31
39
|
response: "invalid-permission",
|
|
@@ -33,70 +41,72 @@ export function checkPermission(permission, context, entity) {
|
|
|
33
41
|
checks: [],
|
|
34
42
|
};
|
|
35
43
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
// while still returning all the checks for observability
|
|
67
|
-
checks.forEach((check) => {
|
|
68
|
-
if (check.response !== "granted" && response.response === "granted") {
|
|
69
|
-
response.response = check.response;
|
|
70
|
-
response.code = check.code;
|
|
71
|
-
response.access = false;
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
response.checks = checks;
|
|
75
|
-
// Entity policies are treated as "grants" so we only need to pass one
|
|
76
|
-
if (entity) {
|
|
77
|
-
const entityPolicies = getWithDefault(entity, "permissions", []);
|
|
78
|
-
const entityPermissionPolicies = entityPolicies.filter((e) => e.permission === permission);
|
|
79
|
-
// Entity Policies are "grants" in that only one needs to pass
|
|
80
|
-
// but we still want each check returned so we can see why they
|
|
81
|
-
// got access or got denied
|
|
82
|
-
const entityChecks = entityPermissionPolicies.map((policy) => {
|
|
83
|
-
return checkEntityPolicy(policy, context);
|
|
44
|
+
else {
|
|
45
|
+
// Get the system policy for this permission
|
|
46
|
+
const systemPolicy = getPermissionPolicy(permission);
|
|
47
|
+
// TODO: handle null systemPolicy
|
|
48
|
+
const checks = [
|
|
49
|
+
checkParents,
|
|
50
|
+
checkServiceStatus,
|
|
51
|
+
checkEntityFeature,
|
|
52
|
+
checkAuthentication,
|
|
53
|
+
checkEnvironment,
|
|
54
|
+
checkAvailability,
|
|
55
|
+
checkLicense,
|
|
56
|
+
checkPrivileges,
|
|
57
|
+
checkOwner,
|
|
58
|
+
checkEdit,
|
|
59
|
+
checkAssertions,
|
|
60
|
+
checkAlphaGating,
|
|
61
|
+
].reduce((acc, fn) => {
|
|
62
|
+
acc = [...acc, ...fn(systemPolicy, context, entity)];
|
|
63
|
+
return acc;
|
|
64
|
+
}, []);
|
|
65
|
+
// For system policies, all conditions must be met, so we can
|
|
66
|
+
// iterate through the checks and set the response to the first failure
|
|
67
|
+
// while still returning all the checks for observability
|
|
68
|
+
checks.forEach((check) => {
|
|
69
|
+
if (check.response !== "granted" && response.response === "granted") {
|
|
70
|
+
response.response = check.response;
|
|
71
|
+
response.code = check.code;
|
|
72
|
+
response.access = false;
|
|
73
|
+
}
|
|
84
74
|
});
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
75
|
+
response.checks = checks;
|
|
76
|
+
// Entity policies are treated as "grants" so we only need to pass one
|
|
77
|
+
if (entity) {
|
|
78
|
+
const entityPolicies = getWithDefault(entity, "permissions", []);
|
|
79
|
+
const entityPermissionPolicies = entityPolicies.filter((e) => e.permission === permission);
|
|
80
|
+
// Entity Policies are "grants" in that only one needs to pass
|
|
81
|
+
// but we still want each check returned so we can see why they
|
|
82
|
+
// got access or got denied
|
|
83
|
+
const entityChecks = entityPermissionPolicies.map((policy) => {
|
|
84
|
+
return checkEntityPolicy(policy, context);
|
|
85
|
+
});
|
|
86
|
+
// Process them to see if any grant access
|
|
87
|
+
const grantedCheck = entityChecks.find((e) => e.response === "granted");
|
|
88
|
+
// If we did not find a check that grants access, AND we've passed
|
|
89
|
+
// all the system checks, then we set the response to "not-granted"
|
|
90
|
+
// and set the access to false
|
|
91
|
+
if (entityChecks.length &&
|
|
92
|
+
!grantedCheck &&
|
|
93
|
+
response.response === "granted") {
|
|
94
|
+
response.access = false;
|
|
95
|
+
response.response = "not-granted";
|
|
96
|
+
}
|
|
97
|
+
// Merge in the entity checks...
|
|
98
|
+
response.checks = [...response.checks, ...entityChecks];
|
|
95
99
|
}
|
|
96
|
-
// Merge in the entity checks...
|
|
97
|
-
response.checks = [...response.checks, ...entityChecks];
|
|
98
100
|
}
|
|
99
|
-
//
|
|
101
|
+
// log denied access information
|
|
102
|
+
if (!response.access) {
|
|
103
|
+
// tslint:disable-next-line:no-console
|
|
104
|
+
console.info(`checkPermission: ${permission} : ${response.response}`);
|
|
105
|
+
// tslint:disable-next-line:no-console
|
|
106
|
+
console.dir(response);
|
|
107
|
+
// tslint:disable-next-line:no-console
|
|
108
|
+
console.info(`-----------------------------------------`);
|
|
109
|
+
}
|
|
100
110
|
return response;
|
|
101
111
|
}
|
|
102
112
|
//# sourceMappingURL=checkPermission.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkPermission.js","sourceRoot":"","sources":["../../../src/permissions/checkPermission.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAGL,YAAY,GAGb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAsB,EACtB,OAAuB,EACvB,MAA4B;IAE5B
|
|
1
|
+
{"version":3,"file":"checkPermission.js","sourceRoot":"","sources":["../../../src/permissions/checkPermission.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.computeProps = void 0;
|
|
3
|
+
exports.computeProps = exports.deriveLocationFromItemExtent = exports.getItemExtent = void 0;
|
|
4
4
|
const resources_1 = require("../../resources");
|
|
5
|
+
const extent_1 = require("../../extent");
|
|
6
|
+
// if called and valid, set 3 things -- else just return type custom
|
|
7
|
+
exports.getItemExtent = (itemExtent) => {
|
|
8
|
+
return extent_1.isBBox(itemExtent)
|
|
9
|
+
? Object.assign(Object.assign({}, extent_1.bBoxToExtent(itemExtent)), { type: "extent" })
|
|
10
|
+
: undefined;
|
|
11
|
+
};
|
|
12
|
+
function deriveLocationFromItemExtent(itemExtent) {
|
|
13
|
+
const location = { type: "custom" };
|
|
14
|
+
const geometry = exports.getItemExtent(itemExtent); // TODO: this needs to be fixed -tom
|
|
15
|
+
if (geometry) {
|
|
16
|
+
const convertedPolygon = Object.assign(Object.assign({}, extent_1.extentToPolygon(geometry)), { type: "polygon" });
|
|
17
|
+
location.geometries = [convertedPolygon];
|
|
18
|
+
location.spatialReference = geometry.spatialReference;
|
|
19
|
+
location.extent = itemExtent;
|
|
20
|
+
}
|
|
21
|
+
return location;
|
|
22
|
+
}
|
|
23
|
+
exports.deriveLocationFromItemExtent = deriveLocationFromItemExtent;
|
|
5
24
|
function computeProps(model, content, requestOptions) {
|
|
25
|
+
var _a;
|
|
6
26
|
let token;
|
|
7
27
|
if (requestOptions.authentication) {
|
|
8
28
|
const session = requestOptions.authentication;
|
|
@@ -10,6 +30,13 @@ function computeProps(model, content, requestOptions) {
|
|
|
10
30
|
}
|
|
11
31
|
// thumbnail url
|
|
12
32
|
content.thumbnailUrl = resources_1.getItemThumbnailUrl(model.item, requestOptions, token);
|
|
33
|
+
if (!content.location) {
|
|
34
|
+
// build location if one does not exist based off of the boundary and the item's extent
|
|
35
|
+
content.location =
|
|
36
|
+
((_a = model.item.properties) === null || _a === void 0 ? void 0 : _a.boundary) === "none"
|
|
37
|
+
? { type: "none" }
|
|
38
|
+
: deriveLocationFromItemExtent(model.item.extent);
|
|
39
|
+
}
|
|
13
40
|
return content;
|
|
14
41
|
}
|
|
15
42
|
exports.computeProps = computeProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/content/_internal/computeProps.ts"],"names":[],"mappings":";;;AAEA,+CAAsD;
|
|
1
|
+
{"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/content/_internal/computeProps.ts"],"names":[],"mappings":";;;AAEA,+CAAsD;AAGtD,yCAAqE;AAIrE,oEAAoE;AACvD,QAAA,aAAa,GAAG,CAAC,UAAsB,EAAW,EAAE;IAC/D,OAAO,eAAM,CAAC,UAAU,CAAC;QACvB,CAAC,CAAE,gCAAK,qBAAY,CAAC,UAAU,CAAC,KAAE,IAAI,EAAE,QAAQ,GAAyB;QACzE,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CAAC;AAEF,SAAgB,4BAA4B,CAAC,UAAuB;IAClE,MAAM,QAAQ,GAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAQ,qBAAa,CAAC,UAAU,CAAC,CAAC,CAAC,oCAAoC;IACrF,IAAI,QAAQ,EAAE;QACZ,MAAM,gBAAgB,GAAG,gCACpB,wBAAe,CAAC,QAAQ,CAAC,KAC5B,IAAI,EAAE,SAAS,GACO,CAAC;QACzB,QAAQ,CAAC,UAAU,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACzC,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QACtD,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC;KAC9B;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAbD,oEAaC;AAED,SAAgB,YAAY,CAC1B,KAAa,EACb,OAAqC,EACrC,cAA+B;;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IACD,gBAAgB;IAChB,OAAO,CAAC,YAAY,GAAG,+BAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAE9E,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;QACrB,uFAAuF;QACvF,OAAO,CAAC,QAAQ;YACd,OAAA,KAAK,CAAC,IAAI,CAAC,UAAU,0CAAE,QAAQ,MAAK,MAAM;gBACxC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;gBAClB,CAAC,CAAC,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACvD;IAED,OAAO,OAA8B,CAAC;AACxC,CAAC;AAtBD,oCAsBC"}
|
|
@@ -156,7 +156,6 @@ exports.fetchHubContent = async (identifier, requestOptions) => {
|
|
|
156
156
|
// for now we still need property mapper to get defaults not set by composeContent()
|
|
157
157
|
const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap_1.getPropertyMap());
|
|
158
158
|
const content = mapper.storeToEntity(model, {});
|
|
159
|
-
// TODO: computeProps if we end up using fetchItemAndEnrichments()
|
|
160
159
|
return computeProps_1.computeProps(model, content, requestOptions);
|
|
161
160
|
};
|
|
162
161
|
//# sourceMappingURL=fetch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/content/fetch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/content/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,9 +32,9 @@ function getTypeFromEntity(entity) {
|
|
|
32
32
|
case "Group":
|
|
33
33
|
type = "group";
|
|
34
34
|
break;
|
|
35
|
-
case "Hub Content":
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
// case "Hub Content": // needed for future ticket in getLocationOptions
|
|
36
|
+
// type = "content";
|
|
37
|
+
// break;
|
|
38
38
|
default:
|
|
39
39
|
// TODO: other families go here? feedback? solution? template?
|
|
40
40
|
const contentFamilies = ["app", "content", "dataset", "document", "map"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,yDAAyD;;;AAEzD,sDAAkD;AAIlD;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,MAAuD;IAEvD,IAAI,IAAmB,CAAC;IACxB,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,kBAAkB;YACrB,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACd,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,YAAY;YACf,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,OAAO;YACV,IAAI,GAAG,OAAO,CAAC;YACf,MAAM;QACR,
|
|
1
|
+
{"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,yDAAyD;;;AAEzD,sDAAkD;AAIlD;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,MAAuD;IAEvD,IAAI,IAAmB,CAAC;IACxB,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,sBAAsB,CAAC;QAC5B,KAAK,kBAAkB;YACrB,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACd,IAAI,GAAG,MAAM,CAAC;YACd,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM;QACR,KAAK,gBAAgB;YACnB,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,YAAY;YACf,IAAI,GAAG,YAAY,CAAC;YACpB,MAAM;QACR,KAAK,OAAO;YACV,IAAI,GAAG,OAAO,CAAC;YACf,MAAM;QACR,wEAAwE;QACxE,sBAAsB;QACtB,WAAW;QACX;YACE,8DAA8D;YAC9D,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACzE,IAAI,eAAe,CAAC,QAAQ,CAAC,sBAAS,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE;gBAC1D,IAAI,GAAG,SAAS,CAAC;aAClB;KACJ;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AApCD,8CAoCC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDefaultLocationOptions = exports.
|
|
3
|
+
exports.getDefaultLocationOptions = exports.getLocationOptions = void 0;
|
|
4
4
|
const extent_1 = require("../../../extent");
|
|
5
5
|
const getTypeFromEntity_1 = require("../../getTypeFromEntity");
|
|
6
|
-
const getItemExtent = (itemExtent) => {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
6
|
+
/*const getItemExtent = (itemExtent: number[][]): IExtent => {
|
|
7
|
+
return isBBox(itemExtent)
|
|
8
|
+
? ({ ...bBoxToExtent(itemExtent), type: "extent" } as unknown as IExtent)
|
|
9
|
+
: undefined;
|
|
10
|
+
};*/
|
|
11
11
|
/**
|
|
12
12
|
* Construct the dynamic location picker options with the entity's
|
|
13
13
|
* configured location using the following logic:
|
|
@@ -23,8 +23,8 @@ const getItemExtent = (itemExtent) => {
|
|
|
23
23
|
async function getLocationOptions(entity, portalName, hubRequestOptions) {
|
|
24
24
|
const typeFromEntity = getTypeFromEntity_1.getTypeFromEntity(entity);
|
|
25
25
|
switch (typeFromEntity) {
|
|
26
|
-
case "content":
|
|
27
|
-
|
|
26
|
+
// case "content":
|
|
27
|
+
// return getContentLocationOptions(entity);
|
|
28
28
|
default:
|
|
29
29
|
return getDefaultLocationOptions(entity, portalName, hubRequestOptions);
|
|
30
30
|
}
|
|
@@ -32,34 +32,38 @@ async function getLocationOptions(entity, portalName, hubRequestOptions) {
|
|
|
32
32
|
exports.getLocationOptions = getLocationOptions;
|
|
33
33
|
// TODO: Refactor parameters, they are icky gross
|
|
34
34
|
// TODO: Maybe move these to outside of core and into respective entities
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
35
|
+
// Leaving this in for future work when we need
|
|
36
|
+
// dynamic options set for different entities
|
|
37
|
+
/*export async function getContentLocationOptions(
|
|
38
|
+
entity: ConfigurableEntity
|
|
39
|
+
): Promise<IHubLocationOption[]> {
|
|
40
|
+
const defaultExtent: IExtent = getItemExtent(entity.extent);
|
|
41
|
+
const defaultExtentIsBBox = isBBox(entity.extent);
|
|
42
|
+
const boundary = entity.boundary;
|
|
43
|
+
const isNone = boundary === "none";
|
|
44
|
+
return [
|
|
45
|
+
{
|
|
46
|
+
label: "{{shared.fields.location.none:translate}}",
|
|
47
|
+
location: { type: "none" },
|
|
48
|
+
selected: isNone,
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
label: "{{shared.fields.location.itemExtent:translate}}",
|
|
52
|
+
entityType: "content",
|
|
53
|
+
selected: !isNone,
|
|
54
|
+
location: {
|
|
55
|
+
type: "custom",
|
|
56
|
+
// TODO: Add custom bbox option here
|
|
57
|
+
// TODO: Remove "Add another location?" notification that appears when selecting a location
|
|
58
|
+
// TODO: The lines below are causing a bug where custom extents don't render after save+reload
|
|
59
|
+
extent: defaultExtentIsBBox ? extentToBBox(defaultExtent) : undefined,
|
|
60
|
+
spatialReference: defaultExtentIsBBox
|
|
61
|
+
? defaultExtent.spatialReference
|
|
62
|
+
: undefined,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
] as IHubLocationOption[];
|
|
66
|
+
}*/
|
|
63
67
|
async function getDefaultLocationOptions(entity, portalName, hubRequestOptions) {
|
|
64
68
|
const defaultExtent = await extent_1.getGeographicOrgExtent(hubRequestOptions);
|
|
65
69
|
const location = entity.location;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLocationOptions.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/getLocationOptions.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"getLocationOptions.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/getLocationOptions.ts"],"names":[],"mappings":";;;AAAA,4CAAuE;AAEvE,+DAA4D;AAM5D;;;;IAII;AAEJ;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAA0B,EAC1B,UAAkB,EAClB,iBAAqC;IAErC,MAAM,cAAc,GAAG,qCAAiB,CAAC,MAAM,CAAC,CAAC;IAEjD,QAAQ,cAAc,EAAE;QACtB,kBAAkB;QAClB,8CAA8C;QAC9C;YACE,OAAO,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;KAC3E;AACH,CAAC;AAbD,gDAaC;AAED,iDAAiD;AACjD,yEAAyE;AAEzE,+CAA+C;AAC/C,6CAA6C;AAC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEI,KAAK,UAAU,yBAAyB,CAC7C,MAA0B,EAC1B,UAAkB,EAClB,iBAAqC;IAErC,MAAM,aAAa,GAAY,MAAM,+BAAsB,CACzD,iBAAiB,CAClB,CAAC;IACF,MAAM,QAAQ,GAAiB,MAAM,CAAC,QAAQ,CAAC;IAC/C,OACE;QACE;YACE,KAAK,EAAE,2CAA2C;YAClD,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC3B;QACD;YACE,KAAK,EAAE,0CAA0C;YACjD,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE;gBACR,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,qBAAY,CAAC,aAAa,CAAC;gBACnC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;aACjD;SACF;QACD;YACE,KAAK,EAAE,6CAA6C;YACpD,WAAW,EAAE,wDAAwD;YACrE,UAAU,EAAE,qCAAiB,CAAC,MAAM,CAAC;YACrC,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;aACjD;SACF;KAEJ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACf,+DAA+D;QAC/D,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;YACnD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;aAAM,IAAI,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE;YACpE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;aAAM,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;YAClD,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC3B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AA/CD,8DA+CC;AAED,wCAAwC"}
|
|
@@ -26,9 +26,17 @@ const checkServiceStatus_1 = require("./_internal/checkServiceStatus");
|
|
|
26
26
|
* @returns
|
|
27
27
|
*/
|
|
28
28
|
function checkPermission(permission, context, entity) {
|
|
29
|
-
//
|
|
29
|
+
// Default to granted
|
|
30
|
+
let response = {
|
|
31
|
+
policy: permission,
|
|
32
|
+
access: true,
|
|
33
|
+
response: "granted",
|
|
34
|
+
code: getPolicyResponseCode_1.getPolicyResponseCode("granted"),
|
|
35
|
+
checks: [],
|
|
36
|
+
};
|
|
37
|
+
// Is this even a valid permission?
|
|
30
38
|
if (!types_1.isPermission(permission)) {
|
|
31
|
-
|
|
39
|
+
response = {
|
|
32
40
|
policy: permission,
|
|
33
41
|
access: false,
|
|
34
42
|
response: "invalid-permission",
|
|
@@ -36,70 +44,72 @@ function checkPermission(permission, context, entity) {
|
|
|
36
44
|
checks: [],
|
|
37
45
|
};
|
|
38
46
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
// while still returning all the checks for observability
|
|
70
|
-
checks.forEach((check) => {
|
|
71
|
-
if (check.response !== "granted" && response.response === "granted") {
|
|
72
|
-
response.response = check.response;
|
|
73
|
-
response.code = check.code;
|
|
74
|
-
response.access = false;
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
response.checks = checks;
|
|
78
|
-
// Entity policies are treated as "grants" so we only need to pass one
|
|
79
|
-
if (entity) {
|
|
80
|
-
const entityPolicies = objects_1.getWithDefault(entity, "permissions", []);
|
|
81
|
-
const entityPermissionPolicies = entityPolicies.filter((e) => e.permission === permission);
|
|
82
|
-
// Entity Policies are "grants" in that only one needs to pass
|
|
83
|
-
// but we still want each check returned so we can see why they
|
|
84
|
-
// got access or got denied
|
|
85
|
-
const entityChecks = entityPermissionPolicies.map((policy) => {
|
|
86
|
-
return checkEntityPolicy_1.checkEntityPolicy(policy, context);
|
|
47
|
+
else {
|
|
48
|
+
// Get the system policy for this permission
|
|
49
|
+
const systemPolicy = HubPermissionPolicies_1.getPermissionPolicy(permission);
|
|
50
|
+
// TODO: handle null systemPolicy
|
|
51
|
+
const checks = [
|
|
52
|
+
checkParents_1.checkParents,
|
|
53
|
+
checkServiceStatus_1.checkServiceStatus,
|
|
54
|
+
checkEntityFeature_1.checkEntityFeature,
|
|
55
|
+
checkAuthentication_1.checkAuthentication,
|
|
56
|
+
checkEnvironment_1.checkEnvironment,
|
|
57
|
+
checkAvailability_1.checkAvailability,
|
|
58
|
+
checkLicense_1.checkLicense,
|
|
59
|
+
checkPrivileges_1.checkPrivileges,
|
|
60
|
+
checkOwner_1.checkOwner,
|
|
61
|
+
checkEdit_1.checkEdit,
|
|
62
|
+
checkAssertions_1.checkAssertions,
|
|
63
|
+
checkAlphaGating_1.checkAlphaGating,
|
|
64
|
+
].reduce((acc, fn) => {
|
|
65
|
+
acc = [...acc, ...fn(systemPolicy, context, entity)];
|
|
66
|
+
return acc;
|
|
67
|
+
}, []);
|
|
68
|
+
// For system policies, all conditions must be met, so we can
|
|
69
|
+
// iterate through the checks and set the response to the first failure
|
|
70
|
+
// while still returning all the checks for observability
|
|
71
|
+
checks.forEach((check) => {
|
|
72
|
+
if (check.response !== "granted" && response.response === "granted") {
|
|
73
|
+
response.response = check.response;
|
|
74
|
+
response.code = check.code;
|
|
75
|
+
response.access = false;
|
|
76
|
+
}
|
|
87
77
|
});
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
78
|
+
response.checks = checks;
|
|
79
|
+
// Entity policies are treated as "grants" so we only need to pass one
|
|
80
|
+
if (entity) {
|
|
81
|
+
const entityPolicies = objects_1.getWithDefault(entity, "permissions", []);
|
|
82
|
+
const entityPermissionPolicies = entityPolicies.filter((e) => e.permission === permission);
|
|
83
|
+
// Entity Policies are "grants" in that only one needs to pass
|
|
84
|
+
// but we still want each check returned so we can see why they
|
|
85
|
+
// got access or got denied
|
|
86
|
+
const entityChecks = entityPermissionPolicies.map((policy) => {
|
|
87
|
+
return checkEntityPolicy_1.checkEntityPolicy(policy, context);
|
|
88
|
+
});
|
|
89
|
+
// Process them to see if any grant access
|
|
90
|
+
const grantedCheck = entityChecks.find((e) => e.response === "granted");
|
|
91
|
+
// If we did not find a check that grants access, AND we've passed
|
|
92
|
+
// all the system checks, then we set the response to "not-granted"
|
|
93
|
+
// and set the access to false
|
|
94
|
+
if (entityChecks.length &&
|
|
95
|
+
!grantedCheck &&
|
|
96
|
+
response.response === "granted") {
|
|
97
|
+
response.access = false;
|
|
98
|
+
response.response = "not-granted";
|
|
99
|
+
}
|
|
100
|
+
// Merge in the entity checks...
|
|
101
|
+
response.checks = [...response.checks, ...entityChecks];
|
|
98
102
|
}
|
|
99
|
-
// Merge in the entity checks...
|
|
100
|
-
response.checks = [...response.checks, ...entityChecks];
|
|
101
103
|
}
|
|
102
|
-
//
|
|
104
|
+
// log denied access information
|
|
105
|
+
if (!response.access) {
|
|
106
|
+
// tslint:disable-next-line:no-console
|
|
107
|
+
console.info(`checkPermission: ${permission} : ${response.response}`);
|
|
108
|
+
// tslint:disable-next-line:no-console
|
|
109
|
+
console.dir(response);
|
|
110
|
+
// tslint:disable-next-line:no-console
|
|
111
|
+
console.info(`-----------------------------------------`);
|
|
112
|
+
}
|
|
103
113
|
return response;
|
|
104
114
|
}
|
|
105
115
|
exports.checkPermission = checkPermission;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkPermission.js","sourceRoot":"","sources":["../../../src/permissions/checkPermission.ts"],"names":[],"mappings":";;;AACA,wCAA4C;AAC5C,2DAAwD;AACxD,mEAA8D;AAC9D,mCAMiB;AACjB,6EAA0E;AAC1E,yEAAsE;AACtE,mEAAgE;AAChE,uDAAoD;AACpD,qDAAkD;AAClD,iEAA8D;AAC9D,qEAAkE;AAClE,iEAA8D;AAC9D,2DAAwD;AACxD,mEAAgE;AAChE,qEAAkE;AAClE,uEAAoE;AACpE,uEAAoE;AAEpE;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,UAAsB,EACtB,OAAuB,EACvB,MAA4B;IAE5B
|
|
1
|
+
{"version":3,"file":"checkPermission.js","sourceRoot":"","sources":["../../../src/permissions/checkPermission.ts"],"names":[],"mappings":";;;AACA,wCAA4C;AAC5C,2DAAwD;AACxD,mEAA8D;AAC9D,mCAMiB;AACjB,6EAA0E;AAC1E,yEAAsE;AACtE,mEAAgE;AAChE,uDAAoD;AACpD,qDAAkD;AAClD,iEAA8D;AAC9D,qEAAkE;AAClE,iEAA8D;AAC9D,2DAAwD;AACxD,mEAAgE;AAChE,qEAAkE;AAClE,uEAAoE;AACpE,uEAAoE;AAEpE;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,UAAsB,EACtB,OAAuB,EACvB,MAA4B;IAE5B,qBAAqB;IACrB,IAAI,QAAQ,GAA8B;QACxC,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,6CAAqB,CAAC,SAAS,CAAC;QACtC,MAAM,EAAE,EAAE;KACX,CAAC;IACF,mCAAmC;IACnC,IAAI,CAAC,oBAAY,CAAC,UAAU,CAAC,EAAE;QAC7B,QAAQ,GAAG;YACT,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,oBAAoB;YAC9B,IAAI,EAAE,6CAAqB,CAAC,oBAAoB,CAAC;YACjD,MAAM,EAAE,EAAE;SACkB,CAAC;KAChC;SAAM;QACL,4CAA4C;QAC5C,MAAM,YAAY,GAAG,2CAAmB,CAAC,UAAU,CAAC,CAAC;QAErD,iCAAiC;QAEjC,MAAM,MAAM,GAAG;YACb,2BAAY;YACZ,uCAAkB;YAClB,uCAAkB;YAClB,yCAAmB;YACnB,mCAAgB;YAChB,qCAAiB;YACjB,2BAAY;YACZ,iCAAe;YACf,uBAAU;YACV,qBAAS;YACT,iCAAe;YACf,mCAAgB;SACjB,CAAC,MAAM,CAAC,CAAC,GAAmB,EAAE,EAAE,EAAE,EAAE;YACnC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACrD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,6DAA6D;QAC7D,uEAAuE;QACvE,yDAAyD;QACzD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE;gBACnE,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;gBACnC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC3B,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAEzB,sEAAsE;QACtE,IAAI,MAAM,EAAE;YACV,MAAM,cAAc,GAA8B,wBAAc,CAC9D,MAAM,EACN,aAAa,EACb,EAAE,CACH,CAAC;YAEF,MAAM,wBAAwB,GAAG,cAAc,CAAC,MAAM,CACpD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CACnC,CAAC;YACF,8DAA8D;YAC9D,+DAA+D;YAC/D,2BAA2B;YAC3B,MAAM,YAAY,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC3D,OAAO,qCAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YACH,0CAA0C;YAC1C,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;YACxE,kEAAkE;YAClE,mEAAmE;YACnE,8BAA8B;YAC9B,IACE,YAAY,CAAC,MAAM;gBACnB,CAAC,YAAY;gBACb,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAC/B;gBACA,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC;gBACxB,QAAQ,CAAC,QAAQ,GAAG,aAAa,CAAC;aACnC;YACD,gCAAgC;YAChC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC;SACzD;KACF;IAED,gCAAgC;IAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QACpB,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,oBAAoB,UAAU,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;KAC3D;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAxGD,0CAwGC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { IRequestOptions } from "@esri/arcgis-rest-request";
|
|
2
|
-
import { IHubEditableContent } from "../../core";
|
|
2
|
+
import { IHubEditableContent, IHubLocation } from "../../core";
|
|
3
3
|
import { IModel } from "../../types";
|
|
4
|
+
import { IExtent } from "@esri/arcgis-rest-types";
|
|
5
|
+
export declare const getItemExtent: (itemExtent: number[][]) => IExtent;
|
|
6
|
+
export declare function deriveLocationFromItemExtent(itemExtent?: number[][]): IHubLocation;
|
|
4
7
|
export declare function computeProps(model: IModel, content: Partial<IHubEditableContent>, requestOptions: IRequestOptions): IHubEditableContent;
|
|
@@ -14,5 +14,4 @@ import { IHubLocationOption } from "../../types/IHubLocation";
|
|
|
14
14
|
* location
|
|
15
15
|
*/
|
|
16
16
|
export declare function getLocationOptions(entity: ConfigurableEntity, portalName: string, hubRequestOptions: IHubRequestOptions): Promise<IHubLocationOption[]>;
|
|
17
|
-
export declare function getContentLocationOptions(entity: ConfigurableEntity): Promise<IHubLocationOption[]>;
|
|
18
17
|
export declare function getDefaultLocationOptions(entity: ConfigurableEntity, portalName: string, hubRequestOptions: IHubRequestOptions): Promise<IHubLocationOption[]>;
|