@esri/hub-common 11.23.2 → 12.0.0-alpha.1
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/ArcGISContext.js +24 -1
- package/dist/esm/ArcGISContext.js.map +1 -1
- package/dist/esm/ArcGISContextManager.js +48 -0
- package/dist/esm/ArcGISContextManager.js.map +1 -1
- package/dist/esm/content/compose.js +12 -0
- package/dist/esm/content/compose.js.map +1 -1
- package/dist/esm/core/HubItemEntity.js +39 -57
- package/dist/esm/core/HubItemEntity.js.map +1 -1
- package/dist/esm/core/_internal/PropertyMapper.js +10 -2
- package/dist/esm/core/_internal/PropertyMapper.js.map +1 -1
- package/dist/esm/core/_internal/getBasePropertyMap.js +1 -0
- package/dist/esm/core/_internal/getBasePropertyMap.js.map +1 -1
- package/dist/esm/core/behaviors/IWithPermissionBehavior.js +0 -68
- package/dist/esm/core/behaviors/IWithPermissionBehavior.js.map +1 -1
- package/dist/esm/core/fetchHubEntity.js +28 -0
- package/dist/esm/core/fetchHubEntity.js.map +1 -0
- package/dist/esm/core/getTypeFromEntity.js +26 -0
- package/dist/esm/core/getTypeFromEntity.js.map +1 -0
- package/dist/esm/core/index.js +2 -1
- package/dist/esm/core/index.js.map +1 -1
- package/dist/esm/core/types/HubEntity.js +1 -0
- package/dist/esm/core/types/HubEntity.js.map +1 -0
- package/dist/esm/core/types/HubEntityType.js +1 -0
- package/dist/esm/core/types/HubEntityType.js.map +1 -0
- package/dist/esm/core/types/ISystemStatus.js +21 -0
- package/dist/esm/core/types/ISystemStatus.js.map +1 -0
- package/dist/esm/core/types/index.js +3 -2
- package/dist/esm/core/types/index.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/initiatives/HubInitiative.js +0 -13
- package/dist/esm/initiatives/HubInitiative.js.map +1 -1
- package/dist/esm/permissions/HubPermissionPolicies.js +18 -0
- package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -0
- package/dist/esm/permissions/_internal/checkAuthentication.js +24 -0
- package/dist/esm/permissions/_internal/checkAuthentication.js.map +1 -0
- package/dist/esm/permissions/_internal/checkEdit.js +35 -0
- package/dist/esm/permissions/_internal/checkEdit.js.map +1 -0
- package/dist/esm/permissions/_internal/checkEntityPolicy.js +56 -0
- package/dist/esm/permissions/_internal/checkEntityPolicy.js.map +1 -0
- package/dist/esm/permissions/_internal/checkLicense.js +27 -0
- package/dist/esm/permissions/_internal/checkLicense.js.map +1 -0
- package/dist/esm/permissions/_internal/checkOwner.js +36 -0
- package/dist/esm/permissions/_internal/checkOwner.js.map +1 -0
- package/dist/esm/permissions/_internal/checkPrivileges.js +27 -0
- package/dist/esm/permissions/_internal/checkPrivileges.js.map +1 -0
- package/dist/esm/permissions/_internal/getPolicyResponseCode.js +29 -0
- package/dist/esm/permissions/_internal/getPolicyResponseCode.js.map +1 -0
- package/dist/esm/permissions/checkPermission.js +88 -0
- package/dist/esm/permissions/checkPermission.js.map +1 -0
- package/dist/esm/permissions/index.js +5 -0
- package/dist/esm/permissions/index.js.map +1 -0
- package/dist/esm/permissions/types/HubLicense.js +1 -0
- package/dist/esm/permissions/types/HubLicense.js.map +1 -0
- package/dist/esm/permissions/types/IAccessResponse.js +1 -0
- package/dist/esm/permissions/types/IAccessResponse.js.map +1 -0
- package/dist/esm/permissions/types/IEntityPermissionPolicy.js +1 -0
- package/dist/esm/permissions/types/IEntityPermissionPolicy.js.map +1 -0
- package/dist/esm/permissions/types/IPermissionPolicy.js +1 -0
- package/dist/esm/permissions/types/IPermissionPolicy.js.map +1 -0
- package/dist/esm/permissions/types/IPolicyCheck.js +1 -0
- package/dist/esm/permissions/types/IPolicyCheck.js.map +1 -0
- package/dist/esm/permissions/types/Permission.js +24 -0
- package/dist/esm/permissions/types/Permission.js.map +1 -0
- package/dist/esm/permissions/types/PlatformPrivilege.js +5 -0
- package/dist/esm/permissions/types/PlatformPrivilege.js.map +1 -0
- package/dist/esm/permissions/types/PolicyResponse.js +4 -0
- package/dist/esm/permissions/types/PolicyResponse.js.map +1 -0
- package/dist/esm/permissions/types/index.js +9 -0
- package/dist/esm/permissions/types/index.js.map +1 -0
- package/dist/esm/permissions/utils.js +26 -0
- package/dist/esm/permissions/utils.js.map +1 -0
- package/dist/esm/projects/HubProject.js +0 -13
- package/dist/esm/projects/HubProject.js.map +1 -1
- package/dist/esm/projects/_internal/ProjectPermissionPolicies.js +35 -0
- package/dist/esm/projects/_internal/ProjectPermissionPolicies.js.map +1 -0
- package/dist/esm/search/Catalog.js.map +1 -1
- package/dist/esm/sites/HubSite.js +0 -13
- package/dist/esm/sites/HubSite.js.map +1 -1
- package/dist/esm/sites/_internal/SitesPermissionPolicies.js +34 -0
- package/dist/esm/sites/_internal/SitesPermissionPolicies.js.map +1 -0
- package/dist/node/ArcGISContext.js +28 -5
- package/dist/node/ArcGISContext.js.map +1 -1
- package/dist/node/ArcGISContextManager.js +48 -0
- package/dist/node/ArcGISContextManager.js.map +1 -1
- package/dist/node/content/compose.js +12 -0
- package/dist/node/content/compose.js.map +1 -1
- package/dist/node/core/HubItemEntity.js +38 -56
- package/dist/node/core/HubItemEntity.js.map +1 -1
- package/dist/node/core/_internal/PropertyMapper.js +9 -1
- package/dist/node/core/_internal/PropertyMapper.js.map +1 -1
- package/dist/node/core/_internal/getBasePropertyMap.js +1 -0
- package/dist/node/core/_internal/getBasePropertyMap.js.map +1 -1
- package/dist/node/core/behaviors/IWithPermissionBehavior.js +0 -73
- package/dist/node/core/behaviors/IWithPermissionBehavior.js.map +1 -1
- package/dist/node/core/fetchHubEntity.js +32 -0
- package/dist/node/core/fetchHubEntity.js.map +1 -0
- package/dist/node/core/getTypeFromEntity.js +30 -0
- package/dist/node/core/getTypeFromEntity.js.map +1 -0
- package/dist/node/core/index.js +2 -1
- package/dist/node/core/index.js.map +1 -1
- package/dist/node/core/types/{IHubPermission.js → HubEntity.js} +1 -1
- package/dist/node/core/types/HubEntity.js.map +1 -0
- package/dist/node/core/types/HubEntityType.js +3 -0
- package/dist/node/core/types/HubEntityType.js.map +1 -0
- package/dist/node/core/types/ISystemStatus.js +25 -0
- package/dist/node/core/types/ISystemStatus.js.map +1 -0
- package/dist/node/core/types/index.js +3 -2
- package/dist/node/core/types/index.js.map +1 -1
- package/dist/node/index.js +1 -0
- package/dist/node/index.js.map +1 -1
- package/dist/node/initiatives/HubInitiative.js +0 -13
- package/dist/node/initiatives/HubInitiative.js.map +1 -1
- package/dist/node/permissions/HubPermissionPolicies.js +22 -0
- package/dist/node/permissions/HubPermissionPolicies.js.map +1 -0
- package/dist/node/permissions/_internal/checkAuthentication.js +28 -0
- package/dist/node/permissions/_internal/checkAuthentication.js.map +1 -0
- package/dist/node/permissions/_internal/checkEdit.js +39 -0
- package/dist/node/permissions/_internal/checkEdit.js.map +1 -0
- package/dist/node/permissions/_internal/checkEntityPolicy.js +60 -0
- package/dist/node/permissions/_internal/checkEntityPolicy.js.map +1 -0
- package/dist/node/permissions/_internal/checkLicense.js +31 -0
- package/dist/node/permissions/_internal/checkLicense.js.map +1 -0
- package/dist/node/permissions/_internal/checkOwner.js +40 -0
- package/dist/node/permissions/_internal/checkOwner.js.map +1 -0
- package/dist/node/permissions/_internal/checkPrivileges.js +31 -0
- package/dist/node/permissions/_internal/checkPrivileges.js.map +1 -0
- package/dist/node/permissions/_internal/getPolicyResponseCode.js +33 -0
- package/dist/node/permissions/_internal/getPolicyResponseCode.js.map +1 -0
- package/dist/node/permissions/checkPermission.js +92 -0
- package/dist/node/permissions/checkPermission.js.map +1 -0
- package/dist/node/permissions/index.js +8 -0
- package/dist/node/permissions/index.js.map +1 -0
- package/dist/node/permissions/types/HubLicense.js +3 -0
- package/dist/node/permissions/types/HubLicense.js.map +1 -0
- package/dist/node/permissions/types/IAccessResponse.js +3 -0
- package/dist/node/permissions/types/IAccessResponse.js.map +1 -0
- package/dist/node/permissions/types/IEntityPermissionPolicy.js +3 -0
- package/dist/node/permissions/types/IEntityPermissionPolicy.js.map +1 -0
- package/dist/node/permissions/types/IPermissionPolicy.js +3 -0
- package/dist/node/permissions/types/IPermissionPolicy.js.map +1 -0
- package/dist/node/permissions/types/IPolicyCheck.js +3 -0
- package/dist/node/permissions/types/IPolicyCheck.js.map +1 -0
- package/dist/node/permissions/types/Permission.js +28 -0
- package/dist/node/permissions/types/Permission.js.map +1 -0
- package/dist/node/permissions/types/PlatformPrivilege.js +7 -0
- package/dist/node/permissions/types/PlatformPrivilege.js.map +1 -0
- package/dist/node/permissions/types/PolicyResponse.js +6 -0
- package/dist/node/permissions/types/PolicyResponse.js.map +1 -0
- package/dist/node/permissions/types/index.js +12 -0
- package/dist/node/permissions/types/index.js.map +1 -0
- package/dist/node/permissions/utils.js +31 -0
- package/dist/node/permissions/utils.js.map +1 -0
- package/dist/node/projects/HubProject.js +0 -13
- package/dist/node/projects/HubProject.js.map +1 -1
- package/dist/node/projects/_internal/ProjectPermissionPolicies.js +38 -0
- package/dist/node/projects/_internal/ProjectPermissionPolicies.js.map +1 -0
- package/dist/node/search/Catalog.js.map +1 -1
- package/dist/node/sites/HubSite.js +0 -13
- package/dist/node/sites/HubSite.js.map +1 -1
- package/dist/node/sites/_internal/SitesPermissionPolicies.js +37 -0
- package/dist/node/sites/_internal/SitesPermissionPolicies.js.map +1 -0
- package/dist/types/ArcGISContext.d.ts +23 -1
- package/dist/types/ArcGISContextManager.d.ts +6 -1
- package/dist/types/content/_internal.d.ts +15 -5
- package/dist/types/core/HubItemEntity.d.ts +29 -4
- package/dist/types/core/behaviors/IWithPermissionBehavior.d.ts +23 -35
- package/dist/types/core/behaviors/IWithStoreBehavior.d.ts +10 -10
- package/dist/types/core/fetchHubEntity.d.ts +11 -0
- package/dist/types/core/getTypeFromEntity.d.ts +8 -0
- package/dist/types/core/index.d.ts +2 -1
- package/dist/types/core/traits/IWithPermissions.d.ts +3 -3
- package/dist/types/core/types/HubEntity.d.ts +5 -0
- package/dist/types/core/types/HubEntityType.d.ts +1 -0
- package/dist/types/core/types/IHubContent.d.ts +2 -1
- package/dist/types/core/types/IHubItemEntity.d.ts +19 -2
- package/dist/types/core/types/ISystemStatus.d.ts +22 -0
- package/dist/types/core/types/index.d.ts +3 -2
- package/dist/types/index.d.ts +1 -0
- package/dist/types/initiatives/HubInitiative.d.ts +1 -7
- package/dist/types/permissions/HubPermissionPolicies.d.ts +11 -0
- package/dist/types/permissions/_internal/checkAuthentication.d.ts +11 -0
- package/dist/types/permissions/_internal/checkEdit.d.ts +11 -0
- package/dist/types/permissions/_internal/checkEntityPolicy.d.ts +9 -0
- package/dist/types/permissions/_internal/checkLicense.d.ts +10 -0
- package/dist/types/permissions/_internal/checkOwner.d.ts +11 -0
- package/dist/types/permissions/_internal/checkPrivileges.d.ts +11 -0
- package/dist/types/permissions/_internal/getPolicyResponseCode.d.ts +7 -0
- package/dist/types/permissions/checkPermission.d.ts +11 -0
- package/dist/types/permissions/index.d.ts +4 -0
- package/dist/types/permissions/types/HubLicense.d.ts +4 -0
- package/dist/types/permissions/types/IAccessResponse.d.ts +29 -0
- package/dist/types/permissions/types/IEntityPermissionPolicy.d.ts +22 -0
- package/dist/types/permissions/types/IPermissionPolicy.d.ts +48 -0
- package/dist/types/permissions/types/IPolicyCheck.d.ts +25 -0
- package/dist/types/permissions/types/Permission.d.ts +17 -0
- package/dist/types/permissions/types/PlatformPrivilege.d.ts +5 -0
- package/dist/types/permissions/types/PolicyResponse.d.ts +4 -0
- package/dist/types/permissions/types/index.d.ts +8 -0
- package/dist/types/permissions/utils.d.ts +18 -0
- package/dist/types/projects/HubProject.d.ts +1 -7
- package/dist/types/projects/_internal/ProjectPermissionPolicies.d.ts +7 -0
- package/dist/types/sites/HubSite.d.ts +1 -7
- package/dist/types/sites/_internal/SitesPermissionPolicies.d.ts +6 -0
- package/package.json +1 -1
- package/dist/esm/core/PermissionManager.js +0 -60
- package/dist/esm/core/PermissionManager.js.map +0 -1
- package/dist/esm/core/types/IHubPermission.js +0 -1
- package/dist/esm/core/types/IHubPermission.js.map +0 -1
- package/dist/node/core/PermissionManager.js +0 -64
- package/dist/node/core/PermissionManager.js.map +0 -1
- package/dist/node/core/types/IHubPermission.js.map +0 -1
- package/dist/types/core/PermissionManager.d.ts +0 -43
- package/dist/types/core/types/IHubPermission.d.ts +0 -23
|
@@ -5,9 +5,9 @@ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
|
|
|
5
5
|
const HubError_1 = require("../HubError");
|
|
6
6
|
const items_1 = require("../items");
|
|
7
7
|
const setItemThumbnail_1 = require("../items/setItemThumbnail");
|
|
8
|
+
const permissions_1 = require("../permissions");
|
|
8
9
|
const resources_1 = require("../resources");
|
|
9
10
|
const util_1 = require("../util");
|
|
10
|
-
const utils_1 = require("../utils");
|
|
11
11
|
const sharedWith_1 = require("./_internal/sharedWith");
|
|
12
12
|
const FEATURED_IMAGE_FILENAME = "featuredImage.png";
|
|
13
13
|
/**
|
|
@@ -20,6 +20,39 @@ class HubItemEntity {
|
|
|
20
20
|
this.context = context;
|
|
21
21
|
this.entity = entity;
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Check if current user has a specific permission, accounting for
|
|
25
|
+
* both system and entity level policies
|
|
26
|
+
* @param permission
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
checkPermission(permission) {
|
|
30
|
+
return permissions_1.checkPermission(permission, this.context, this.entity);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get all policies related to a specific permission
|
|
34
|
+
* @param permission
|
|
35
|
+
* @returns
|
|
36
|
+
*/
|
|
37
|
+
getPermissionPolicies(permission) {
|
|
38
|
+
const permissions = this.entity.permissions || [];
|
|
39
|
+
return permissions.filter((p) => p.permission === permission);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Add a policy to the entity
|
|
43
|
+
* @param policy
|
|
44
|
+
*/
|
|
45
|
+
addPermissionPolicy(policy) {
|
|
46
|
+
this.entity.permissions = permissions_1.addPermissionPolicy(this.entity.permissions, policy);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Remove a policy from the entity
|
|
50
|
+
* @param permission
|
|
51
|
+
* @param id
|
|
52
|
+
*/
|
|
53
|
+
removePermissionPolicy(permission, id) {
|
|
54
|
+
this.entity.permissions = permissions_1.removePermissionPolicy(this.entity.permissions, permission, id);
|
|
55
|
+
}
|
|
23
56
|
// Although we don't expose all the properties, we do expose a few for convenience
|
|
24
57
|
/**
|
|
25
58
|
* Return the entity id
|
|
@@ -50,40 +83,8 @@ class HubItemEntity {
|
|
|
50
83
|
* or be a member of a shared editing group, to which the item is shared.
|
|
51
84
|
* @returns
|
|
52
85
|
*/
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
// owner can always edit
|
|
56
|
-
if (user.username === this.entity.owner) {
|
|
57
|
-
return Promise.resolve(true);
|
|
58
|
-
}
|
|
59
|
-
// Fetch the user's groups by fetching the user
|
|
60
|
-
// we do this each time to ensure we have the latest groups
|
|
61
|
-
const u = await arcgis_rest_portal_1.getUser(user.username);
|
|
62
|
-
const usersGroups = u.groups;
|
|
63
|
-
if (!usersGroups.length) {
|
|
64
|
-
// if user is not owner and not in any groups they can't have edit access
|
|
65
|
-
return Promise.resolve(false);
|
|
66
|
-
}
|
|
67
|
-
// get the groups the entity is shared to
|
|
68
|
-
const entityGroups = await this.sharedWith();
|
|
69
|
-
// filter to shared edit groups
|
|
70
|
-
const editGroupIds = entityGroups
|
|
71
|
-
.filter((g) => {
|
|
72
|
-
const caps = g.capabilities || [];
|
|
73
|
-
return caps.includes("updateitemcontrol");
|
|
74
|
-
})
|
|
75
|
-
.map((g) => g.id);
|
|
76
|
-
// get the user's groups ids
|
|
77
|
-
const usersGroupsIds = utils_1.mapBy("id", usersGroups);
|
|
78
|
-
// check for any overlap
|
|
79
|
-
let isMemberOfEditGroup = false;
|
|
80
|
-
for (const id of usersGroupsIds) {
|
|
81
|
-
isMemberOfEditGroup = editGroupIds.includes(id);
|
|
82
|
-
if (isMemberOfEditGroup) {
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return Promise.resolve(isMemberOfEditGroup);
|
|
86
|
+
get canEdit() {
|
|
87
|
+
return this.entity.canEdit;
|
|
87
88
|
}
|
|
88
89
|
/**
|
|
89
90
|
* Can the current user delete the Entity?
|
|
@@ -91,27 +92,8 @@ class HubItemEntity {
|
|
|
91
92
|
* in the owner's organization.
|
|
92
93
|
* @returns
|
|
93
94
|
*/
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
// owner can always delete
|
|
97
|
-
if (user.username === this.entity.owner) {
|
|
98
|
-
return Promise.resolve(true);
|
|
99
|
-
}
|
|
100
|
-
// if not owner, check if user is org_admin in same org as owner
|
|
101
|
-
if (user.role === "org_admin" && !user.roleId) {
|
|
102
|
-
// need to get the owner, and see if the orgid matches
|
|
103
|
-
const ownerUser = await arcgis_rest_portal_1.getUser({
|
|
104
|
-
username: this.entity.owner,
|
|
105
|
-
authentication: this.context.session,
|
|
106
|
-
});
|
|
107
|
-
// ensure owner orgId is not null and matched current user
|
|
108
|
-
const adminCanDelete = ownerUser.orgId && ownerUser.orgId === user.orgId;
|
|
109
|
-
return Promise.resolve(adminCanDelete);
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
// not org admin, can't edit
|
|
113
|
-
return Promise.resolve(false);
|
|
114
|
-
}
|
|
95
|
+
get canDelete() {
|
|
96
|
+
return this.entity.canDelete;
|
|
115
97
|
}
|
|
116
98
|
//#endregion IWithStoreBehavior
|
|
117
99
|
//#region IWithSharingBehavior
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,15 @@ class PropertyMapper {
|
|
|
30
30
|
* @returns
|
|
31
31
|
*/
|
|
32
32
|
modelToObject(model, object) {
|
|
33
|
-
|
|
33
|
+
const obj = mapModelToObject(model, object, this.mappings);
|
|
34
|
+
// Additional Read-Only Model Level Property Mappings
|
|
35
|
+
// ------------------------------
|
|
36
|
+
// canEdit and canDelete
|
|
37
|
+
// ------------------------------
|
|
38
|
+
// use setProp to side-step typechecking
|
|
39
|
+
__1.setProp("canEdit", ["admin", "update"].includes(model.item.itemControl), obj);
|
|
40
|
+
__1.setProp("canDelete", model.item.itemControl === "admin", obj);
|
|
41
|
+
return obj;
|
|
34
42
|
}
|
|
35
43
|
/**
|
|
36
44
|
* Map properties from an entity object onto a model.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyMapper.js","sourceRoot":"","sources":["../../../../src/core/_internal/PropertyMapper.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"PropertyMapper.js","sourceRoot":"","sources":["../../../../src/core/_internal/PropertyMapper.ts"],"names":[],"mappings":";;;AAAA,6BAAuE;AAEvE;;;;;GAKG;AACH,MAAa,cAAc;IAEzB;;;;OAIG;IACH,YAAY,QAAwB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IACD;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,KAAa,EAAE,MAAS;QACpC,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,qDAAqD;QAErD,iCAAiC;QACjC,wBAAwB;QACxB,iCAAiC;QACjC,wCAAwC;QACxC,WAAO,CACL,SAAS,EACT,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EACpD,GAAG,CACJ,CAAC;QACF,WAAO,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,GAAG,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,aAAa,CAAC,MAAS,EAAE,KAAa;QACpC,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF;AApDD,wCAoDC;AAeD;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,MAAS,EACT,KAAa,EACb,QAAwB;IAExB,OAAO,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAND,4CAMC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,KAAa,EACb,MAAS,EACT,QAAwB;IAExB,OAAO,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAND,4CAMC;AAED;;;;;;;;GAQG;AACH,SAAS,QAAQ,CACf,MAAS,EACT,SAAiB,EACjB,MAAS,EACT,SAAiB,EACjB,QAAwB;IAExB,mBAAmB;IACnB,MAAM,KAAK,GAAG,eAAW,CAAC,MAAM,CAAC,CAAC;IAClC,8BAA8B;IAC9B,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAmB,EAAE,EAAE;QACvC,0EAA0E;QAC1E,iDAAiD;QACjD,MAAM,UAAU,GAAG,WAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,WAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,gCAAgC;QAChC,MAAM,SAAS,GAAG,WAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC9C,gCAAgC;QAChC,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE;YACjD,SAAS;YACT,WAAO,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;SACvC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBasePropertyMap.js","sourceRoot":"","sources":["../../../../src/core/_internal/getBasePropertyMap.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAgB,kBAAkB;IAChC,MAAM,SAAS,GAAG;QAChB,QAAQ;QACR,SAAS;QACT,SAAS;QACT,aAAa;QACb,QAAQ;QACR,IAAI;QACJ,UAAU;QACV,OAAO;QACP,MAAM;QACN,MAAM;QACN,cAAc;QACd,WAAW;QACX,KAAK;KACN,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,kBAAkB;IAClB,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,sBAAsB;KACjC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,cAAc;KACzB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,eAAe;QAC1B,QAAQ,EAAE,+BAA+B;KAC1C,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,2BAA2B;KACtC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,0BAA0B;KACrC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;
|
|
1
|
+
{"version":3,"file":"getBasePropertyMap.js","sourceRoot":"","sources":["../../../../src/core/_internal/getBasePropertyMap.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAgB,kBAAkB;IAChC,MAAM,SAAS,GAAG;QAChB,QAAQ;QACR,SAAS;QACT,SAAS;QACT,aAAa;QACb,QAAQ;QACR,IAAI;QACJ,aAAa;QACb,UAAU;QACV,OAAO;QACP,MAAM;QACN,MAAM;QACN,cAAc;QACd,WAAW;QACX,KAAK;KACN,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,kBAAkB;IAClB,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,sBAAsB;KACjC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,cAAc;KACzB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,eAAe;QAC1B,QAAQ,EAAE,+BAA+B;KAC1C,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,2BAA2B;KACtC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,0BAA0B;KACrC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAnDD,gDAmDC"}
|
|
@@ -1,76 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.removePermission = exports.addPermission = exports.getPermissions = exports.checkPermission = void 0;
|
|
4
|
-
// Permission util functions
|
|
5
|
-
/**
|
|
6
|
-
* Check if the user has a specific permission in the context of an entity
|
|
7
|
-
* @param entity
|
|
8
|
-
* @param permission
|
|
9
|
-
* @param user
|
|
10
|
-
* @returns
|
|
11
|
-
*/
|
|
12
|
-
function checkPermission(permission, user, permissions) {
|
|
13
|
-
// filter to only those for the requested permission
|
|
14
|
-
const filteredPermissions = permissions.filter((p) => p.permission === permission);
|
|
15
|
-
let result = false;
|
|
16
|
-
// check if the user has the permission
|
|
17
|
-
filteredPermissions.forEach((p) => {
|
|
18
|
-
var _a;
|
|
19
|
-
// if the user has the permission, return true
|
|
20
|
-
if (p.target === "user" && p.targetId === user.username) {
|
|
21
|
-
result = true;
|
|
22
|
-
}
|
|
23
|
-
// if the user's or has the permission, return true
|
|
24
|
-
if (!result && p.target === "org" && p.targetId === user.orgId) {
|
|
25
|
-
result = true;
|
|
26
|
-
}
|
|
27
|
-
// if the user is in a group that has the permission, return true
|
|
28
|
-
if (!result && p.target === "group") {
|
|
29
|
-
if ((_a = user.groups) === null || _a === void 0 ? void 0 : _a.find((g) => g.id === p.targetId)) {
|
|
30
|
-
result = true;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
return result;
|
|
35
|
-
}
|
|
36
|
-
exports.checkPermission = checkPermission;
|
|
37
|
-
/**
|
|
38
|
-
* Get all the permission definitions for the given entity, and the specific permission
|
|
39
|
-
* @param permission
|
|
40
|
-
* @param permissions
|
|
41
|
-
* @returns
|
|
42
|
-
*/
|
|
43
|
-
function getPermissions(permission, permissions) {
|
|
44
|
-
return permissions.filter((p) => p.permission === permission);
|
|
45
|
-
}
|
|
46
|
-
exports.getPermissions = getPermissions;
|
|
47
|
-
/**
|
|
48
|
-
* Add a permission entry to the permissions array
|
|
49
|
-
* @param permission
|
|
50
|
-
* @param definition
|
|
51
|
-
* @param permissions
|
|
52
|
-
* @returns
|
|
53
|
-
*/
|
|
54
|
-
function addPermission(definition, permissions) {
|
|
55
|
-
const otherPermissions = removePermission(definition.permission, definition.targetId, permissions);
|
|
56
|
-
return [...otherPermissions, definition];
|
|
57
|
-
}
|
|
58
|
-
exports.addPermission = addPermission;
|
|
59
|
-
/**
|
|
60
|
-
* Remove a permission
|
|
61
|
-
* @param permission
|
|
62
|
-
* @param targetId
|
|
63
|
-
* @param permissions
|
|
64
|
-
* @returns
|
|
65
|
-
*/
|
|
66
|
-
function removePermission(permission, targetId, permissions) {
|
|
67
|
-
return permissions.filter((p) => {
|
|
68
|
-
let keep = true;
|
|
69
|
-
if (p.permission === permission && p.targetId === targetId) {
|
|
70
|
-
keep = false;
|
|
71
|
-
}
|
|
72
|
-
return keep;
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
exports.removePermission = removePermission;
|
|
76
3
|
//# sourceMappingURL=IWithPermissionBehavior.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IWithPermissionBehavior.js","sourceRoot":"","sources":["../../../../src/core/behaviors/IWithPermissionBehavior.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IWithPermissionBehavior.js","sourceRoot":"","sources":["../../../../src/core/behaviors/IWithPermissionBehavior.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchHubEntity = void 0;
|
|
4
|
+
const initiatives_1 = require("../initiatives");
|
|
5
|
+
const projects_1 = require("../projects");
|
|
6
|
+
const sites_1 = require("../sites");
|
|
7
|
+
/**
|
|
8
|
+
* Fetch a Hub entity by identifier (id or slug)
|
|
9
|
+
* @param type
|
|
10
|
+
* @param identifier
|
|
11
|
+
* @param context
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
async function fetchHubEntity(type, identifier, context) {
|
|
15
|
+
let result;
|
|
16
|
+
switch (type) {
|
|
17
|
+
case "project":
|
|
18
|
+
result = await projects_1.fetchProject(identifier, context.requestOptions);
|
|
19
|
+
break;
|
|
20
|
+
case "site":
|
|
21
|
+
result = await sites_1.fetchSite(identifier, context.hubRequestOptions);
|
|
22
|
+
break;
|
|
23
|
+
case "initiative":
|
|
24
|
+
result = await initiatives_1.fetchInitiative(identifier, context.requestOptions);
|
|
25
|
+
break;
|
|
26
|
+
case "page":
|
|
27
|
+
throw new Error(`FetchPage not implemented`);
|
|
28
|
+
}
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
exports.fetchHubEntity = fetchHubEntity;
|
|
32
|
+
//# sourceMappingURL=fetchHubEntity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchHubEntity.js","sourceRoot":"","sources":["../../../src/core/fetchHubEntity.ts"],"names":[],"mappings":";;;AACA,gDAAiD;AACjD,0CAA2C;AAC3C,oCAAqC;AAIrC;;;;;;GAMG;AACI,KAAK,UAAU,cAAc,CAClC,IAAmB,EACnB,UAAkB,EAClB,OAAuB;IAEvB,IAAI,MAAiB,CAAC;IACtB,QAAQ,IAAI,EAAE;QACZ,KAAK,SAAS;YACZ,MAAM,GAAG,MAAM,uBAAY,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,MAAM;YACT,MAAM,GAAG,MAAM,iBAAS,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,YAAY;YACf,MAAM,GAAG,MAAM,6BAAe,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACnE,MAAM;QACR,KAAK,MAAM;YACT,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;KAChD;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AApBD,wCAoBC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTypeFromEntity = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Given a HubEntity, return it's HubEntityType
|
|
6
|
+
* @param entity
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
function getTypeFromEntity(entity) {
|
|
10
|
+
let type;
|
|
11
|
+
switch (entity.type) {
|
|
12
|
+
case "Hub Site Application":
|
|
13
|
+
case "Site Application":
|
|
14
|
+
type = "site";
|
|
15
|
+
break;
|
|
16
|
+
case "Hub Page":
|
|
17
|
+
case "Site Page":
|
|
18
|
+
type = "page";
|
|
19
|
+
break;
|
|
20
|
+
case "Hub Project":
|
|
21
|
+
type = "project";
|
|
22
|
+
break;
|
|
23
|
+
case "Hub Initiative":
|
|
24
|
+
type = "initiative";
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
return type;
|
|
28
|
+
}
|
|
29
|
+
exports.getTypeFromEntity = getTypeFromEntity;
|
|
30
|
+
//# sourceMappingURL=getTypeFromEntity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTypeFromEntity.js","sourceRoot":"","sources":["../../../src/core/getTypeFromEntity.ts"],"names":[],"mappings":";;;AAGA;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,MAAiB;IACjD,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;KACT;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAnBD,8CAmBC"}
|
package/dist/node/core/index.js
CHANGED
|
@@ -4,6 +4,7 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
tslib_1.__exportStar(require("./traits"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./types"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./behaviors"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./PermissionManager"), exports);
|
|
8
7
|
tslib_1.__exportStar(require("./schemas"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./fetchHubEntity"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./getTypeFromEntity"), exports);
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,kDAAwB;AACxB,sDAA4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,kDAAwB;AACxB,sDAA4B;AAC5B,oDAA0B;AAC1B,2DAAiC;AACjC,8DAAoC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HubEntity.js","sourceRoot":"","sources":["../../../../src/core/types/HubEntity.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HubEntityType.js","sourceRoot":"","sources":["../../../../src/core/types/HubEntityType.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isSubsystem = void 0;
|
|
4
|
+
const validSubsystems = [
|
|
5
|
+
"discussions",
|
|
6
|
+
"events",
|
|
7
|
+
"initiatives",
|
|
8
|
+
"items",
|
|
9
|
+
"metrics",
|
|
10
|
+
"notifications",
|
|
11
|
+
"pages",
|
|
12
|
+
"projects",
|
|
13
|
+
"search",
|
|
14
|
+
"sites",
|
|
15
|
+
];
|
|
16
|
+
/**
|
|
17
|
+
* Validate a Subsystem
|
|
18
|
+
* @param subsystem
|
|
19
|
+
* @returns
|
|
20
|
+
*/
|
|
21
|
+
function isSubsystem(maybeSubsystem) {
|
|
22
|
+
return validSubsystems.includes(maybeSubsystem);
|
|
23
|
+
}
|
|
24
|
+
exports.isSubsystem = isSubsystem;
|
|
25
|
+
//# sourceMappingURL=ISystemStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISystemStatus.js","sourceRoot":"","sources":["../../../../src/core/types/ISystemStatus.ts"],"names":[],"mappings":";;;AAgBA,MAAM,eAAe,GAAG;IACtB,aAAa;IACb,QAAQ;IACR,aAAa;IACb,OAAO;IACP,SAAS;IACT,eAAe;IACf,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;CACC,CAAC;AAMX;;;;GAIG;AACH,SAAgB,WAAW,CAAC,cAAsB;IAChD,OAAO,eAAe,CAAC,QAAQ,CAAC,cAA8B,CAAC,CAAC;AAClE,CAAC;AAFD,kCAEC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./HubEntity"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./HubEntityType"), exports);
|
|
4
6
|
tslib_1.__exportStar(require("./IHubContent"), exports);
|
|
5
7
|
tslib_1.__exportStar(require("./IHubContentEnrichments"), exports);
|
|
6
8
|
tslib_1.__exportStar(require("./IHubEntityBase"), exports);
|
|
@@ -16,7 +18,6 @@ tslib_1.__exportStar(require("./IHubSiteTheme"), exports);
|
|
|
16
18
|
tslib_1.__exportStar(require("./IHubTimeline"), exports);
|
|
17
19
|
tslib_1.__exportStar(require("./IItemEnrichments"), exports);
|
|
18
20
|
tslib_1.__exportStar(require("./IServerEnrichments"), exports);
|
|
21
|
+
tslib_1.__exportStar(require("./ISystemStatus"), exports);
|
|
19
22
|
tslib_1.__exportStar(require("./types"), exports);
|
|
20
|
-
tslib_1.__exportStar(require("./IHubPermission"), exports);
|
|
21
|
-
tslib_1.__exportStar(require("../traits/IWithViewSettings"), exports);
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,mEAAyC;AACzC,2DAAiC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,0DAAgC;AAChC,wDAA8B;AAC9B,mEAAyC;AACzC,2DAAiC;AACjC,sDAA4B;AAC5B,sDAA4B;AAC5B,2DAAiC;AACjC,2DAAiC;AACjC,uDAA6B;AAC7B,qDAA2B;AAC3B,wDAA8B;AAC9B,qDAA2B;AAC3B,0DAAgC;AAChC,yDAA+B;AAC/B,6DAAmC;AACnC,+DAAqC;AACrC,0DAAgC;AAChC,kDAAwB"}
|
package/dist/node/index.js
CHANGED
|
@@ -23,6 +23,7 @@ tslib_1.__exportStar(require("./models"), exports);
|
|
|
23
23
|
tslib_1.__exportStar(require("./objects"), exports);
|
|
24
24
|
tslib_1.__exportStar(require("./org"), exports);
|
|
25
25
|
tslib_1.__exportStar(require("./pages"), exports);
|
|
26
|
+
tslib_1.__exportStar(require("./permissions"), exports);
|
|
26
27
|
tslib_1.__exportStar(require("./projects"), exports);
|
|
27
28
|
tslib_1.__exportStar(require("./request"), exports);
|
|
28
29
|
tslib_1.__exportStar(require("./resources"), exports);
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;gBACgB;AAChB,0BAA0B;;;;AAE1B,mDAAyB;AACzB,gDAAsB;AACtB,0DAAgC;AAChC,iEAAuC;AACvC,iDAAuB;AACvB,uDAA6B;AAC7B,oDAA0B;AAC1B,iDAAuB;AACvB,sDAA4B;AAC5B,mDAAyB;AACzB,mDAAyB;AACzB,iDAAuB;AACvB,wDAA8B;AAC9B,kDAAwB;AACxB,mDAAyB;AACzB,oDAA0B;AAC1B,gDAAsB;AACtB,kDAAwB;AACxB,qDAA2B;AAC3B,oDAA0B;AAC1B,sDAA4B;AAC5B,mDAAyB;AACzB,kDAAwB;AACxB,oDAA0B;AAC1B,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,iDAAuB;AACvB,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;AAChB,0BAA0B;;;;AAE1B,mDAAyB;AACzB,gDAAsB;AACtB,0DAAgC;AAChC,iEAAuC;AACvC,iDAAuB;AACvB,uDAA6B;AAC7B,oDAA0B;AAC1B,iDAAuB;AACvB,sDAA4B;AAC5B,mDAAyB;AACzB,mDAAyB;AACzB,iDAAuB;AACvB,wDAA8B;AAC9B,kDAAwB;AACxB,mDAAyB;AACzB,oDAA0B;AAC1B,gDAAsB;AACtB,kDAAwB;AACxB,wDAA8B;AAC9B,qDAA2B;AAC3B,oDAA0B;AAC1B,sDAA4B;AAC5B,mDAAyB;AACzB,kDAAwB;AACxB,oDAA0B;AAC1B,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,iDAAuB;AACvB,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"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.HubInitiative = void 0;
|
|
4
4
|
const defaults_1 = require("./defaults");
|
|
5
|
-
const core_1 = require("../core");
|
|
6
5
|
const HubInitiatives_1 = require("./HubInitiatives");
|
|
7
6
|
const Catalog_1 = require("../search/Catalog");
|
|
8
7
|
const HubItemEntity_1 = require("../core/HubItemEntity");
|
|
@@ -18,7 +17,6 @@ class HubInitiative extends HubItemEntity_1.HubItemEntity {
|
|
|
18
17
|
constructor(entity, context) {
|
|
19
18
|
super(entity, context);
|
|
20
19
|
this._catalog = Catalog_1.Catalog.fromJson(entity.catalog, this.context);
|
|
21
|
-
this._permissionManager = core_1.PermissionManager.fromJson(entity.permissions, this.context);
|
|
22
20
|
}
|
|
23
21
|
/**
|
|
24
22
|
* Catalog instance for this Initiative. Note: Do not hold direct references to this object; always access it from the Initiative.
|
|
@@ -27,13 +25,6 @@ class HubInitiative extends HubItemEntity_1.HubItemEntity {
|
|
|
27
25
|
get catalog() {
|
|
28
26
|
return this._catalog;
|
|
29
27
|
}
|
|
30
|
-
/**
|
|
31
|
-
* PermissionManager instance for this Initiative. Note: Do not hold direct references to this object; always access it from the Initiative.
|
|
32
|
-
* @returns PermissionManager
|
|
33
|
-
*/
|
|
34
|
-
get permissions() {
|
|
35
|
-
return this._permissionManager;
|
|
36
|
-
}
|
|
37
28
|
/**
|
|
38
29
|
* Create an instance from an IHubInitiative object
|
|
39
30
|
* @param json - JSON object to create a HubInitiative from
|
|
@@ -121,9 +112,6 @@ class HubInitiative extends HubItemEntity_1.HubItemEntity {
|
|
|
121
112
|
if (changes.catalog) {
|
|
122
113
|
this._catalog = Catalog_1.Catalog.fromJson(this.entity.catalog, this.context);
|
|
123
114
|
}
|
|
124
|
-
if (changes.permissions) {
|
|
125
|
-
this._permissionManager = core_1.PermissionManager.fromJson(this.entity.permissions, this.context);
|
|
126
|
-
}
|
|
127
115
|
}
|
|
128
116
|
/**
|
|
129
117
|
* Save the HubInitiative to the backing store.
|
|
@@ -136,7 +124,6 @@ class HubInitiative extends HubItemEntity_1.HubItemEntity {
|
|
|
136
124
|
}
|
|
137
125
|
// get the catalog, and permission configs
|
|
138
126
|
this.entity.catalog = this._catalog.toJson();
|
|
139
|
-
this.entity.permissions = this._permissionManager.toJson();
|
|
140
127
|
if (this.entity.id) {
|
|
141
128
|
// update it
|
|
142
129
|
this.entity = await HubInitiatives_1.updateInitiative(this.entity, this.context.userRequestOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubInitiative.js","sourceRoot":"","sources":["../../../src/initiatives/HubInitiative.ts"],"names":[],"mappings":";;;AAAA,yCAAgD;
|
|
1
|
+
{"version":3,"file":"HubInitiative.js","sourceRoot":"","sources":["../../../src/initiatives/HubInitiative.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPermissionPolicy = exports.HubPermissionsPolicies = void 0;
|
|
4
|
+
const ProjectPermissionPolicies_1 = require("../projects/_internal/ProjectPermissionPolicies");
|
|
5
|
+
const SitesPermissionPolicies_1 = require("../sites/_internal/SitesPermissionPolicies");
|
|
6
|
+
/**
|
|
7
|
+
* All the permission policies for the Hub
|
|
8
|
+
*/
|
|
9
|
+
exports.HubPermissionsPolicies = [
|
|
10
|
+
...SitesPermissionPolicies_1.SitesPermissionPolicies,
|
|
11
|
+
...ProjectPermissionPolicies_1.ProjectPermissionPolicies,
|
|
12
|
+
];
|
|
13
|
+
/**
|
|
14
|
+
* Get the policies defined for a specific permission
|
|
15
|
+
* @param permission
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
function getPermissionPolicy(permission) {
|
|
19
|
+
return exports.HubPermissionsPolicies.find((p) => p.permission === permission);
|
|
20
|
+
}
|
|
21
|
+
exports.getPermissionPolicy = getPermissionPolicy;
|
|
22
|
+
//# sourceMappingURL=HubPermissionPolicies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HubPermissionPolicies.js","sourceRoot":"","sources":["../../../src/permissions/HubPermissionPolicies.ts"],"names":[],"mappings":";;;AAAA,+FAA4F;AAC5F,wFAAqF;AAIrF;;GAEG;AACU,QAAA,sBAAsB,GAAwB;IACzD,GAAG,iDAAuB;IAC1B,GAAG,qDAAyB;CAC7B,CAAC;AAEF;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,UAAsB;IACxD,OAAO,8BAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;AACzE,CAAC;AAFD,kDAEC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkAuthentication = void 0;
|
|
4
|
+
const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
|
|
5
|
+
/**
|
|
6
|
+
* Validate authentication policy
|
|
7
|
+
* @param policy
|
|
8
|
+
* @param context
|
|
9
|
+
* @param entity
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
function checkAuthentication(policy, context, entity) {
|
|
13
|
+
let response = "granted";
|
|
14
|
+
// Only return a check if the policy is defined
|
|
15
|
+
if (policy.authenticated && !context.isAuthenticated) {
|
|
16
|
+
response = "not-authenticated";
|
|
17
|
+
}
|
|
18
|
+
// create the check
|
|
19
|
+
const check = {
|
|
20
|
+
name: "authentication",
|
|
21
|
+
value: `required: ${policy.authenticated}`,
|
|
22
|
+
code: getPolicyResponseCode_1.getPolicyResponseCode(response),
|
|
23
|
+
response,
|
|
24
|
+
};
|
|
25
|
+
return [check];
|
|
26
|
+
}
|
|
27
|
+
exports.checkAuthentication = checkAuthentication;
|
|
28
|
+
//# sourceMappingURL=checkAuthentication.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkAuthentication.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkAuthentication.ts"],"names":[],"mappings":";;;AAGA,mEAAgE;AAEhE;;;;;;GAMG;AACH,SAAgB,mBAAmB,CACjC,MAAyB,EACzB,OAAuB,EACvB,MAAkB;IAElB,IAAI,QAAQ,GAAmB,SAAS,CAAC;IAEzC,+CAA+C;IAC/C,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;QACpD,QAAQ,GAAG,mBAAmB,CAAC;KAChC;IAED,mBAAmB;IACnB,MAAM,KAAK,GAAiB;QAC1B,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,aAAa,MAAM,CAAC,aAAa,EAAE;QAC1C,IAAI,EAAE,6CAAqB,CAAC,QAAQ,CAAC;QACrC,QAAQ;KACT,CAAC;IAEF,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AArBD,kDAqBC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkEdit = void 0;
|
|
4
|
+
const objects_1 = require("../../objects");
|
|
5
|
+
const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
|
|
6
|
+
/**
|
|
7
|
+
* Validate entityEdit policy
|
|
8
|
+
* @param policy
|
|
9
|
+
* @param context
|
|
10
|
+
* @param entity
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
function checkEdit(policy, context, entity) {
|
|
14
|
+
const checks = [];
|
|
15
|
+
let response = "granted";
|
|
16
|
+
// Only return a check if the policy is defined
|
|
17
|
+
if (policy.entityEdit) {
|
|
18
|
+
if (!entity) {
|
|
19
|
+
// fail b/c no entity
|
|
20
|
+
response = "entity-required";
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
if (!entity.canEdit) {
|
|
24
|
+
response = "no-edit-access";
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
// create the check
|
|
28
|
+
const check = {
|
|
29
|
+
name: "entity edit required",
|
|
30
|
+
value: `entity.canEdit: ${objects_1.getWithDefault(entity, "canEdit", false)}`,
|
|
31
|
+
code: getPolicyResponseCode_1.getPolicyResponseCode(response),
|
|
32
|
+
response,
|
|
33
|
+
};
|
|
34
|
+
checks.push(check);
|
|
35
|
+
}
|
|
36
|
+
return checks;
|
|
37
|
+
}
|
|
38
|
+
exports.checkEdit = checkEdit;
|
|
39
|
+
//# sourceMappingURL=checkEdit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkEdit.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkEdit.ts"],"names":[],"mappings":";;;AAEA,2CAA+C;AAE/C,mEAAgE;AAEhE;;;;;;GAMG;AACH,SAAgB,SAAS,CACvB,MAAyB,EACzB,OAAuB,EACvB,MAAkB;IAElB,MAAM,MAAM,GAAG,EAAoB,CAAC;IACpC,IAAI,QAAQ,GAAmB,SAAS,CAAC;IAEzC,+CAA+C;IAC/C,IAAI,MAAM,CAAC,UAAU,EAAE;QACrB,IAAI,CAAC,MAAM,EAAE;YACX,qBAAqB;YACrB,QAAQ,GAAG,iBAAiB,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBACnB,QAAQ,GAAG,gBAAgB,CAAC;aAC7B;SACF;QAED,mBAAmB;QACnB,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,mBAAmB,wBAAc,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE;YACpE,IAAI,EAAE,6CAAqB,CAAC,QAAQ,CAAC;YACrC,QAAQ;SACT,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AA9BD,8BA8BC"}
|