@esri/hub-common 12.0.0-alpha.1 → 12.0.0-alpha.3
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 +14 -0
- package/dist/esm/ArcGISContext.js.map +1 -1
- package/dist/esm/capabilities/_internal/checkCapabilityAccess.js +47 -0
- package/dist/esm/capabilities/_internal/checkCapabilityAccess.js.map +1 -0
- package/dist/esm/capabilities/_internal/index.js +2 -0
- package/dist/esm/capabilities/_internal/index.js.map +1 -0
- package/dist/esm/capabilities/checkCapability.js +46 -0
- package/dist/esm/capabilities/checkCapability.js.map +1 -0
- package/dist/esm/capabilities/getWorkspaceCapabilities.js +38 -0
- package/dist/esm/capabilities/getWorkspaceCapabilities.js.map +1 -0
- package/dist/esm/capabilities/index.js +5 -0
- package/dist/esm/capabilities/index.js.map +1 -0
- package/dist/esm/capabilities/processEntityCapabilities.js +25 -0
- package/dist/esm/capabilities/processEntityCapabilities.js.map +1 -0
- package/dist/esm/capabilities/types.js +22 -0
- package/dist/esm/capabilities/types.js.map +1 -0
- package/dist/esm/core/HubItemEntity.js +8 -0
- package/dist/esm/core/HubItemEntity.js.map +1 -1
- package/dist/esm/{permissions → core}/types/IAccessResponse.js +0 -0
- package/dist/esm/core/types/IAccessResponse.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/initiatives/HubInitiative.js.map +1 -1
- package/dist/esm/initiatives/HubInitiatives.js +2 -36
- package/dist/esm/initiatives/HubInitiatives.js.map +1 -1
- package/dist/esm/initiatives/_internal/InitiativeBusinessRules.js +79 -0
- package/dist/esm/initiatives/_internal/InitiativeBusinessRules.js.map +1 -0
- package/dist/esm/initiatives/_internal/computeProps.js +31 -0
- package/dist/esm/initiatives/_internal/computeProps.js.map +1 -0
- package/dist/esm/initiatives/_internal/getPropertyMap.js +22 -0
- package/dist/esm/initiatives/_internal/getPropertyMap.js.map +1 -0
- package/dist/esm/permissions/HubPermissionPolicies.js +57 -2
- package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -1
- package/dist/esm/permissions/_internal/checkAlphaGating.js +27 -0
- package/dist/esm/permissions/_internal/checkAlphaGating.js.map +1 -0
- package/dist/esm/permissions/_internal/checkAssertion.js +190 -0
- package/dist/esm/permissions/_internal/checkAssertion.js.map +1 -0
- package/dist/esm/permissions/_internal/checkAssertions.js +20 -0
- package/dist/esm/permissions/_internal/checkAssertions.js.map +1 -0
- package/dist/esm/permissions/_internal/checkAuthentication.js +15 -11
- package/dist/esm/permissions/_internal/checkAuthentication.js.map +1 -1
- package/dist/esm/permissions/_internal/checkEdit.js +6 -3
- package/dist/esm/permissions/_internal/checkEdit.js.map +1 -1
- package/dist/esm/permissions/_internal/checkEntityPolicy.js +14 -2
- package/dist/esm/permissions/_internal/checkEntityPolicy.js.map +1 -1
- package/dist/esm/permissions/_internal/checkLicense.js +21 -15
- package/dist/esm/permissions/_internal/checkLicense.js.map +1 -1
- package/dist/esm/permissions/_internal/checkOwner.js.map +1 -1
- package/dist/esm/permissions/_internal/checkPrivileges.js +19 -15
- package/dist/esm/permissions/_internal/checkPrivileges.js.map +1 -1
- package/dist/esm/permissions/_internal/getPolicyResponseCode.js +34 -16
- package/dist/esm/permissions/_internal/getPolicyResponseCode.js.map +1 -1
- package/dist/esm/permissions/checkPermission.js +6 -4
- package/dist/esm/permissions/checkPermission.js.map +1 -1
- package/dist/esm/permissions/types/IPermissionAccessResponse.js +1 -0
- package/dist/esm/permissions/types/IPermissionAccessResponse.js.map +1 -0
- package/dist/esm/permissions/types/Permission.js +8 -10
- package/dist/esm/permissions/types/Permission.js.map +1 -1
- package/dist/esm/permissions/types/index.js +1 -1
- package/dist/esm/permissions/types/index.js.map +1 -1
- package/dist/esm/projects/HubProject.js.map +1 -1
- package/dist/esm/projects/_internal/ProjectBusinessRules.js +79 -0
- package/dist/esm/projects/_internal/ProjectBusinessRules.js.map +1 -0
- package/dist/esm/projects/{_internal.js → _internal/computeProps.js} +7 -19
- package/dist/esm/projects/_internal/computeProps.js.map +1 -0
- package/dist/esm/projects/_internal/getPropertyMap.js +22 -0
- package/dist/esm/projects/_internal/getPropertyMap.js.map +1 -0
- package/dist/esm/projects/defaults.js +1 -0
- package/dist/esm/projects/defaults.js.map +1 -1
- package/dist/esm/projects/edit.js +2 -1
- package/dist/esm/projects/edit.js.map +1 -1
- package/dist/esm/projects/fetch.js +2 -1
- package/dist/esm/projects/fetch.js.map +1 -1
- package/dist/esm/sites/HubSites.js +16 -84
- package/dist/esm/sites/HubSites.js.map +1 -1
- package/dist/esm/sites/_internal/SiteBusinessRules.js +77 -0
- package/dist/esm/sites/_internal/SiteBusinessRules.js.map +1 -0
- package/dist/esm/sites/_internal/applyPermissionMigration.js +52 -0
- package/dist/esm/sites/_internal/applyPermissionMigration.js.map +1 -0
- package/dist/esm/sites/_internal/computeProps.js +32 -0
- package/dist/esm/sites/_internal/computeProps.js.map +1 -0
- package/dist/esm/sites/_internal/getPropertyMap.js +59 -0
- package/dist/esm/sites/_internal/getPropertyMap.js.map +1 -0
- package/dist/node/ArcGISContext.js +14 -0
- package/dist/node/ArcGISContext.js.map +1 -1
- package/dist/node/capabilities/_internal/checkCapabilityAccess.js +51 -0
- package/dist/node/capabilities/_internal/checkCapabilityAccess.js.map +1 -0
- package/dist/node/capabilities/_internal/index.js +5 -0
- package/dist/node/capabilities/_internal/index.js.map +1 -0
- package/dist/node/capabilities/checkCapability.js +50 -0
- package/dist/node/capabilities/checkCapability.js.map +1 -0
- package/dist/node/capabilities/getWorkspaceCapabilities.js +42 -0
- package/dist/node/capabilities/getWorkspaceCapabilities.js.map +1 -0
- package/dist/node/capabilities/index.js +8 -0
- package/dist/node/capabilities/index.js.map +1 -0
- package/dist/node/capabilities/processEntityCapabilities.js +29 -0
- package/dist/node/capabilities/processEntityCapabilities.js.map +1 -0
- package/dist/node/capabilities/types.js +26 -0
- package/dist/node/capabilities/types.js.map +1 -0
- package/dist/node/core/HubItemEntity.js +8 -0
- package/dist/node/core/HubItemEntity.js.map +1 -1
- package/dist/node/{permissions → core}/types/IAccessResponse.js +0 -0
- package/dist/node/core/types/IAccessResponse.js.map +1 -0
- package/dist/node/index.js +1 -0
- package/dist/node/index.js.map +1 -1
- package/dist/node/initiatives/HubInitiative.js.map +1 -1
- package/dist/node/initiatives/HubInitiatives.js +8 -42
- package/dist/node/initiatives/HubInitiatives.js.map +1 -1
- package/dist/node/initiatives/_internal/InitiativeBusinessRules.js +82 -0
- package/dist/node/initiatives/_internal/InitiativeBusinessRules.js.map +1 -0
- package/dist/node/initiatives/_internal/computeProps.js +35 -0
- package/dist/node/initiatives/_internal/computeProps.js.map +1 -0
- package/dist/node/initiatives/_internal/getPropertyMap.js +26 -0
- package/dist/node/initiatives/_internal/getPropertyMap.js.map +1 -0
- package/dist/node/permissions/HubPermissionPolicies.js +59 -4
- package/dist/node/permissions/HubPermissionPolicies.js.map +1 -1
- package/dist/node/permissions/_internal/checkAlphaGating.js +31 -0
- package/dist/node/permissions/_internal/checkAlphaGating.js.map +1 -0
- package/dist/node/permissions/_internal/checkAssertion.js +194 -0
- package/dist/node/permissions/_internal/checkAssertion.js.map +1 -0
- package/dist/node/permissions/_internal/checkAssertions.js +24 -0
- package/dist/node/permissions/_internal/checkAssertions.js.map +1 -0
- package/dist/node/permissions/_internal/checkAuthentication.js +15 -11
- package/dist/node/permissions/_internal/checkAuthentication.js.map +1 -1
- package/dist/node/permissions/_internal/checkEdit.js +6 -3
- package/dist/node/permissions/_internal/checkEdit.js.map +1 -1
- package/dist/node/permissions/_internal/checkEntityPolicy.js +14 -2
- package/dist/node/permissions/_internal/checkEntityPolicy.js.map +1 -1
- package/dist/node/permissions/_internal/checkLicense.js +21 -15
- package/dist/node/permissions/_internal/checkLicense.js.map +1 -1
- package/dist/node/permissions/_internal/checkOwner.js.map +1 -1
- package/dist/node/permissions/_internal/checkPrivileges.js +19 -15
- package/dist/node/permissions/_internal/checkPrivileges.js.map +1 -1
- package/dist/node/permissions/_internal/getPolicyResponseCode.js +34 -16
- package/dist/node/permissions/_internal/getPolicyResponseCode.js.map +1 -1
- package/dist/node/permissions/checkPermission.js +6 -4
- package/dist/node/permissions/checkPermission.js.map +1 -1
- package/dist/node/permissions/types/IPermissionAccessResponse.js +3 -0
- package/dist/node/permissions/types/IPermissionAccessResponse.js.map +1 -0
- package/dist/node/permissions/types/Permission.js +8 -10
- package/dist/node/permissions/types/Permission.js.map +1 -1
- package/dist/node/permissions/types/index.js +1 -1
- package/dist/node/permissions/types/index.js.map +1 -1
- package/dist/node/projects/HubProject.js.map +1 -1
- package/dist/node/projects/_internal/ProjectBusinessRules.js +82 -0
- package/dist/node/projects/_internal/ProjectBusinessRules.js.map +1 -0
- package/dist/node/projects/{_internal.js → _internal/computeProps.js} +8 -21
- package/dist/node/projects/_internal/computeProps.js.map +1 -0
- package/dist/node/projects/_internal/getPropertyMap.js +26 -0
- package/dist/node/projects/_internal/getPropertyMap.js.map +1 -0
- package/dist/node/projects/defaults.js +1 -0
- package/dist/node/projects/defaults.js.map +1 -1
- package/dist/node/projects/edit.js +6 -5
- package/dist/node/projects/edit.js.map +1 -1
- package/dist/node/projects/fetch.js +4 -3
- package/dist/node/projects/fetch.js.map +1 -1
- package/dist/node/sites/HubSites.js +16 -84
- package/dist/node/sites/HubSites.js.map +1 -1
- package/dist/node/sites/_internal/SiteBusinessRules.js +80 -0
- package/dist/node/sites/_internal/SiteBusinessRules.js.map +1 -0
- package/dist/node/sites/_internal/applyPermissionMigration.js +56 -0
- package/dist/node/sites/_internal/applyPermissionMigration.js.map +1 -0
- package/dist/node/sites/_internal/computeProps.js +36 -0
- package/dist/node/sites/_internal/computeProps.js.map +1 -0
- package/dist/node/sites/_internal/getPropertyMap.js +63 -0
- package/dist/node/sites/_internal/getPropertyMap.js.map +1 -0
- package/dist/types/ArcGISContext.d.ts +10 -0
- package/dist/types/capabilities/_internal/checkCapabilityAccess.d.ts +10 -0
- package/dist/types/capabilities/_internal/index.d.ts +1 -0
- package/dist/types/capabilities/checkCapability.d.ts +10 -0
- package/dist/types/capabilities/getWorkspaceCapabilities.d.ts +15 -0
- package/dist/types/capabilities/index.d.ts +4 -0
- package/dist/types/capabilities/processEntityCapabilities.d.ts +8 -0
- package/dist/types/capabilities/types.d.ts +57 -0
- package/dist/types/content/_internal.d.ts +2 -1
- package/dist/types/core/HubItemEntity.d.ts +10 -4
- package/dist/types/core/behaviors/IWithPermissionBehavior.d.ts +10 -2
- package/dist/types/core/traits/IWithPermissions.d.ts +2 -0
- package/dist/types/core/types/IAccessResponse.d.ts +20 -0
- package/dist/types/core/types/IHubSite.d.ts +4 -4
- package/dist/types/index.d.ts +1 -0
- package/dist/types/initiatives/HubInitiative.d.ts +2 -2
- package/dist/types/initiatives/_internal/InitiativeBusinessRules.d.ts +26 -0
- package/dist/types/initiatives/_internal/computeProps.d.ts +12 -0
- package/dist/types/initiatives/_internal/getPropertyMap.d.ts +8 -0
- package/dist/types/permissions/_internal/checkAlphaGating.d.ts +10 -0
- package/dist/types/permissions/_internal/checkAssertion.d.ts +11 -0
- package/dist/types/permissions/_internal/checkAssertions.d.ts +10 -0
- package/dist/types/permissions/_internal/checkAuthentication.d.ts +1 -2
- package/dist/types/permissions/_internal/checkEdit.d.ts +1 -2
- package/dist/types/permissions/_internal/checkLicense.d.ts +1 -1
- package/dist/types/permissions/_internal/checkOwner.d.ts +1 -2
- package/dist/types/permissions/_internal/checkPrivileges.d.ts +1 -2
- package/dist/types/permissions/checkPermission.d.ts +2 -3
- package/dist/types/permissions/types/IEntityPermissionPolicy.d.ts +1 -1
- package/dist/types/permissions/types/IPermissionAccessResponse.d.ts +18 -0
- package/dist/types/permissions/types/IPermissionPolicy.d.ts +18 -9
- package/dist/types/permissions/types/Permission.d.ts +3 -3
- package/dist/types/permissions/types/PolicyResponse.d.ts +1 -1
- package/dist/types/permissions/types/index.d.ts +1 -1
- package/dist/types/projects/HubProject.d.ts +2 -2
- package/dist/types/projects/_internal/ProjectBusinessRules.d.ts +26 -0
- package/dist/types/projects/{_internal.d.ts → _internal/computeProps.d.ts} +2 -10
- package/dist/types/projects/_internal/getPropertyMap.d.ts +8 -0
- package/dist/types/sites/HubSites.d.ts +1 -1
- package/dist/types/sites/_internal/SiteBusinessRules.d.ts +25 -0
- package/dist/types/sites/_internal/applyPermissionMigration.d.ts +7 -0
- package/dist/types/sites/_internal/computeProps.d.ts +12 -0
- package/dist/types/sites/_internal/getPropertyMap.d.ts +10 -0
- package/package.json +1 -1
- package/dist/esm/permissions/types/IAccessResponse.js.map +0 -1
- package/dist/esm/projects/_internal/ProjectPermissionPolicies.js +0 -35
- package/dist/esm/projects/_internal/ProjectPermissionPolicies.js.map +0 -1
- package/dist/esm/projects/_internal.js.map +0 -1
- package/dist/esm/sites/_internal/SitesPermissionPolicies.js +0 -34
- package/dist/esm/sites/_internal/SitesPermissionPolicies.js.map +0 -1
- package/dist/node/permissions/types/IAccessResponse.js.map +0 -1
- package/dist/node/projects/_internal/ProjectPermissionPolicies.js +0 -38
- package/dist/node/projects/_internal/ProjectPermissionPolicies.js.map +0 -1
- package/dist/node/projects/_internal.js.map +0 -1
- package/dist/node/sites/_internal/SitesPermissionPolicies.js +0 -37
- package/dist/node/sites/_internal/SitesPermissionPolicies.js.map +0 -1
- package/dist/types/permissions/types/IAccessResponse.d.ts +0 -29
- package/dist/types/projects/_internal/ProjectPermissionPolicies.d.ts +0 -7
- package/dist/types/sites/_internal/SitesPermissionPolicies.d.ts +0 -6
|
@@ -11,19 +11,8 @@ const parseInclude_1 = require("../search/_internal/parseInclude");
|
|
|
11
11
|
const _enrichments_1 = require("../items/_enrichments");
|
|
12
12
|
const _internal_1 = require("../content/_internal");
|
|
13
13
|
const defaults_1 = require("./defaults");
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
* Returns an Array of IPropertyMap objects
|
|
17
|
-
* that define the projection of properties from a IModel to an IHubInitiative
|
|
18
|
-
* @returns
|
|
19
|
-
*/
|
|
20
|
-
function getPropertyMap() {
|
|
21
|
-
const map = getBasePropertyMap_1.getBasePropertyMap();
|
|
22
|
-
// Type specific mappings
|
|
23
|
-
map.push({ objectKey: "catalog", modelKey: "data.catalog" });
|
|
24
|
-
map.push({ objectKey: "permissions", modelKey: "data.permissions" });
|
|
25
|
-
return map;
|
|
26
|
-
}
|
|
14
|
+
const getPropertyMap_1 = require("./_internal/getPropertyMap");
|
|
15
|
+
const computeProps_1 = require("./_internal/computeProps");
|
|
27
16
|
/**
|
|
28
17
|
* @private
|
|
29
18
|
* Create a new Hub Initiative item
|
|
@@ -46,14 +35,14 @@ async function createInitiative(partialInitiative, requestOptions) {
|
|
|
46
35
|
// add slug to keywords
|
|
47
36
|
initiative.typeKeywords = slugs_1.setSlugKeyword(initiative.typeKeywords, initiative.slug);
|
|
48
37
|
// Map initiative object onto a default initiative Model
|
|
49
|
-
const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap());
|
|
38
|
+
const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap_1.getPropertyMap());
|
|
50
39
|
// create model from object, using the default model as a starting point
|
|
51
40
|
let model = mapper.objectToModel(initiative, index_1.cloneObject(defaults_1.DEFAULT_INITIATIVE_MODEL));
|
|
52
41
|
// create the item
|
|
53
42
|
model = await models_1.createModel(model, requestOptions);
|
|
54
43
|
// map the model back into a IHubInitiative
|
|
55
44
|
let newInitiative = mapper.modelToObject(model, {});
|
|
56
|
-
newInitiative = computeProps(model, newInitiative, requestOptions);
|
|
45
|
+
newInitiative = computeProps_1.computeProps(model, newInitiative, requestOptions);
|
|
57
46
|
// and return it
|
|
58
47
|
return newInitiative;
|
|
59
48
|
}
|
|
@@ -70,7 +59,7 @@ async function updateInitiative(initiative, requestOptions) {
|
|
|
70
59
|
// get the backing item & data
|
|
71
60
|
const model = await models_1.getModel(initiative.id, requestOptions);
|
|
72
61
|
// create the PropertyMapper
|
|
73
|
-
const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap());
|
|
62
|
+
const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap_1.getPropertyMap());
|
|
74
63
|
// Note: Although we are fetching the model, and applying changes onto it,
|
|
75
64
|
// we are not attempting to handle "concurrent edit" conflict resolution
|
|
76
65
|
// but this is where we would apply that sort of logic
|
|
@@ -79,7 +68,7 @@ async function updateInitiative(initiative, requestOptions) {
|
|
|
79
68
|
const updatedModel = await models_1.updateModel(modelToUpdate, requestOptions);
|
|
80
69
|
// now map back into an initiative and return that
|
|
81
70
|
let updatedInitiative = mapper.modelToObject(updatedModel, initiative);
|
|
82
|
-
updatedInitiative = computeProps(model, updatedInitiative, requestOptions);
|
|
71
|
+
updatedInitiative = computeProps_1.computeProps(model, updatedInitiative, requestOptions);
|
|
83
72
|
// the casting is needed because modelToObject returns a `Partial<T>`
|
|
84
73
|
// where as this function returns a `T`
|
|
85
74
|
return updatedInitiative;
|
|
@@ -129,34 +118,11 @@ exports.deleteInitiative = deleteInitiative;
|
|
|
129
118
|
*/
|
|
130
119
|
async function convertItemToInitiative(item, requestOptions) {
|
|
131
120
|
const model = await models_1.fetchModelFromItem(item, requestOptions);
|
|
132
|
-
const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap());
|
|
121
|
+
const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap_1.getPropertyMap());
|
|
133
122
|
const prj = mapper.modelToObject(model, {});
|
|
134
|
-
return computeProps(model, prj, requestOptions);
|
|
123
|
+
return computeProps_1.computeProps(model, prj, requestOptions);
|
|
135
124
|
}
|
|
136
125
|
exports.convertItemToInitiative = convertItemToInitiative;
|
|
137
|
-
/**
|
|
138
|
-
* Given a model and an initiative, set various computed properties that can't be directly mapped
|
|
139
|
-
* @param model
|
|
140
|
-
* @param initiative
|
|
141
|
-
* @param requestOptions
|
|
142
|
-
* @returns
|
|
143
|
-
*/
|
|
144
|
-
function computeProps(model, initiative, requestOptions) {
|
|
145
|
-
let token;
|
|
146
|
-
if (requestOptions.authentication) {
|
|
147
|
-
const session = requestOptions.authentication;
|
|
148
|
-
token = session.token;
|
|
149
|
-
}
|
|
150
|
-
// thumbnail url
|
|
151
|
-
initiative.thumbnailUrl = index_1.getItemThumbnailUrl(model.item, requestOptions, token);
|
|
152
|
-
// Handle Dates
|
|
153
|
-
initiative.createdDate = new Date(model.item.created);
|
|
154
|
-
initiative.createdDateSource = "item.created";
|
|
155
|
-
initiative.updatedDate = new Date(model.item.modified);
|
|
156
|
-
initiative.updatedDateSource = "item.modified";
|
|
157
|
-
// cast b/c this takes a partial but returns a full initiative
|
|
158
|
-
return initiative;
|
|
159
|
-
}
|
|
160
126
|
/**
|
|
161
127
|
* @private
|
|
162
128
|
* Fetch Initiative specific enrichments
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubInitiatives.js","sourceRoot":"","sources":["../../../src/initiatives/HubInitiatives.ts"],"names":[],"mappings":";;;AAEA,4EAA4E;AAC5E,sCAKmB;AACnB,0CAKwB;AACxB,oCAWkB;AAClB,iEAKkC;AAGlC,qEAAgF;AAGhF,mEAAgE;AAChE,wDAA6D;AAC7D,oDAAyD;AACzD,yCAA0E;
|
|
1
|
+
{"version":3,"file":"HubInitiatives.js","sourceRoot":"","sources":["../../../src/initiatives/HubInitiatives.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InitiativePermissionPolicies = exports.InitiativePermissions = exports.InitiativeCapabilityPermissions = exports.InitiativeDefaultCapabilities = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Default capabilities for a Initiative. If not listed here, the capability will not be available
|
|
6
|
+
* This hash is combined with the capabilities hash stored in the item data. Regardless of what
|
|
7
|
+
* properties are defined in the item data, only the capabilities defined here will be available
|
|
8
|
+
* @private
|
|
9
|
+
*/
|
|
10
|
+
exports.InitiativeDefaultCapabilities = {
|
|
11
|
+
overview: true,
|
|
12
|
+
details: true,
|
|
13
|
+
settings: true,
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* List of all the Initiative Capability Permissions
|
|
17
|
+
* These are considered Hub Business Rules and are not intended
|
|
18
|
+
* to be modified by consumers
|
|
19
|
+
* @private
|
|
20
|
+
*/
|
|
21
|
+
exports.InitiativeCapabilityPermissions = [
|
|
22
|
+
{
|
|
23
|
+
entity: "initiative",
|
|
24
|
+
capability: "overview",
|
|
25
|
+
permissions: ["hub:initiative:view"],
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
entity: "initiative",
|
|
29
|
+
capability: "details",
|
|
30
|
+
permissions: ["hub:initiative:edit"],
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
entity: "initiative",
|
|
34
|
+
capability: "settings",
|
|
35
|
+
permissions: ["hub:initiative:edit"],
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
/**
|
|
39
|
+
* Initiative Permission Policies
|
|
40
|
+
* These define the requirements any user must meet to perform related actions
|
|
41
|
+
* @private
|
|
42
|
+
*/
|
|
43
|
+
exports.InitiativePermissions = [
|
|
44
|
+
"hub:initiative:create",
|
|
45
|
+
"hub:initiative:delete",
|
|
46
|
+
"hub:initiative:edit",
|
|
47
|
+
"hub:initiative:view",
|
|
48
|
+
];
|
|
49
|
+
/**
|
|
50
|
+
* Initiative permission policies
|
|
51
|
+
* @private
|
|
52
|
+
*/
|
|
53
|
+
exports.InitiativePermissionPolicies = [
|
|
54
|
+
{
|
|
55
|
+
permission: "hub:initiative:create",
|
|
56
|
+
subsystems: ["projects"],
|
|
57
|
+
authenticated: true,
|
|
58
|
+
privileges: ["portal:user:createItem"],
|
|
59
|
+
licenses: ["hub-premium"],
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
permission: "hub:initiative:view",
|
|
63
|
+
subsystems: ["projects"],
|
|
64
|
+
authenticated: false,
|
|
65
|
+
licenses: ["hub-premium"],
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
permission: "hub:initiative:edit",
|
|
69
|
+
authenticated: true,
|
|
70
|
+
subsystems: ["projects"],
|
|
71
|
+
entityEdit: true,
|
|
72
|
+
licenses: ["hub-premium"],
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
permission: "hub:initiative:delete",
|
|
76
|
+
authenticated: true,
|
|
77
|
+
subsystems: ["projects"],
|
|
78
|
+
entityOwner: true,
|
|
79
|
+
licenses: ["hub-premium"],
|
|
80
|
+
},
|
|
81
|
+
];
|
|
82
|
+
//# sourceMappingURL=InitiativeBusinessRules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InitiativeBusinessRules.js","sourceRoot":"","sources":["../../../../src/initiatives/_internal/InitiativeBusinessRules.ts"],"names":[],"mappings":";;;AAMA;;;;;GAKG;AACU,QAAA,6BAA6B,GAAuB;IAC/D,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF;;;;;GAKG;AACU,QAAA,+BAA+B,GAA4B;IACtE;QACE,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,qBAAqB,CAAC;KACrC;IACD;QACE,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,qBAAqB,CAAC;KACrC;IACD;QACE,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,qBAAqB,CAAC;KACrC;CACF,CAAC;AAEF;;;;GAIG;AACU,QAAA,qBAAqB,GAAG;IACnC,uBAAuB;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,qBAAqB;CACb,CAAC;AAEX;;;GAGG;AACU,QAAA,4BAA4B,GAAwB;IAC/D;QACE,UAAU,EAAE,uBAAuB;QACnC,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;QACtC,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,qBAAqB;QACjC,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,qBAAqB;QACjC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,uBAAuB;QACnC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;CACF,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.computeProps = void 0;
|
|
4
|
+
const resources_1 = require("../../resources");
|
|
5
|
+
const capabilities_1 = require("../../capabilities");
|
|
6
|
+
const InitiativeBusinessRules_1 = require("./InitiativeBusinessRules");
|
|
7
|
+
/**
|
|
8
|
+
* Given a model and an Initiative, set various computed properties that can't be directly mapped
|
|
9
|
+
* @private
|
|
10
|
+
* @param model
|
|
11
|
+
* @param initiative
|
|
12
|
+
* @param requestOptions
|
|
13
|
+
* @returns
|
|
14
|
+
*/
|
|
15
|
+
function computeProps(model, initiative, requestOptions) {
|
|
16
|
+
var _a;
|
|
17
|
+
let token;
|
|
18
|
+
if (requestOptions.authentication) {
|
|
19
|
+
const session = requestOptions.authentication;
|
|
20
|
+
token = session.token;
|
|
21
|
+
}
|
|
22
|
+
// thumbnail url
|
|
23
|
+
initiative.thumbnailUrl = resources_1.getItemThumbnailUrl(model.item, requestOptions, token);
|
|
24
|
+
// Handle Dates
|
|
25
|
+
initiative.createdDate = new Date(model.item.created);
|
|
26
|
+
initiative.createdDateSource = "item.created";
|
|
27
|
+
initiative.updatedDate = new Date(model.item.modified);
|
|
28
|
+
initiative.updatedDateSource = "item.modified";
|
|
29
|
+
// Handle capabilities
|
|
30
|
+
initiative.capabilities = capabilities_1.processEntityCapabilities(((_a = model.data.settings) === null || _a === void 0 ? void 0 : _a.capabilities) || {}, InitiativeBusinessRules_1.InitiativeDefaultCapabilities);
|
|
31
|
+
// cast b/c this takes a partial but returns a full object
|
|
32
|
+
return initiative;
|
|
33
|
+
}
|
|
34
|
+
exports.computeProps = computeProps;
|
|
35
|
+
//# sourceMappingURL=computeProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/initiatives/_internal/computeProps.ts"],"names":[],"mappings":";;;AAEA,+CAAsD;AACtD,qDAA+D;AAE/D,uEAA0E;AAG1E;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,UAAmC,EACnC,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,UAAU,CAAC,YAAY,GAAG,+BAAmB,CAC3C,KAAK,CAAC,IAAI,EACV,cAAc,EACd,KAAK,CACN,CAAC;IAEF,eAAe;IACf,UAAU,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,UAAU,CAAC,iBAAiB,GAAG,cAAc,CAAC;IAC9C,UAAU,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvD,UAAU,CAAC,iBAAiB,GAAG,eAAe,CAAC;IAE/C,sBAAsB;IACtB,UAAU,CAAC,YAAY,GAAG,wCAAyB,CACjD,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,YAAY,KAAI,EAAE,EACvC,uDAA6B,CAC9B,CAAC;IAEF,0DAA0D;IAC1D,OAAO,UAA4B,CAAC;AACtC,CAAC;AA/BD,oCA+BC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPropertyMap = void 0;
|
|
4
|
+
const getBasePropertyMap_1 = require("../../core/_internal/getBasePropertyMap");
|
|
5
|
+
/**
|
|
6
|
+
* Returns an Array of IPropertyMap objects
|
|
7
|
+
* that define the projection of properties from a IModel to an IHubProject
|
|
8
|
+
* @returns
|
|
9
|
+
* @private
|
|
10
|
+
*/
|
|
11
|
+
function getPropertyMap() {
|
|
12
|
+
const map = getBasePropertyMap_1.getBasePropertyMap();
|
|
13
|
+
// Type specific mappings
|
|
14
|
+
map.push({ objectKey: "status", modelKey: "data.status" });
|
|
15
|
+
map.push({ objectKey: "catalog", modelKey: "data.catalog" });
|
|
16
|
+
map.push({ objectKey: "permissions", modelKey: "data.permissions" });
|
|
17
|
+
map.push({
|
|
18
|
+
objectKey: "capabilities",
|
|
19
|
+
modelKey: "data.settings.capabilities",
|
|
20
|
+
});
|
|
21
|
+
map.push({ objectKey: "contacts", modelKey: "data.contacts" });
|
|
22
|
+
map.push({ objectKey: "timeline", modelKey: "data.timeline" });
|
|
23
|
+
return map;
|
|
24
|
+
}
|
|
25
|
+
exports.getPropertyMap = getPropertyMap;
|
|
26
|
+
//# sourceMappingURL=getPropertyMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/initiatives/_internal/getPropertyMap.ts"],"names":[],"mappings":";;;AACA,gFAA6E;AAE7E;;;;;GAKG;AAEH,SAAgB,cAAc;IAC5B,MAAM,GAAG,GAAG,uCAAkB,EAAE,CAAC;IAEjC,yBAAyB;IACzB,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACrE,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,4BAA4B;KACvC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IAC/D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IAE/D,OAAO,GAAG,CAAC;AACb,CAAC;AAfD,wCAeC"}
|
|
@@ -1,14 +1,69 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getPermissionPolicy = exports.HubPermissionsPolicies = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const InitiativeBusinessRules_1 = require("../initiatives/_internal/InitiativeBusinessRules");
|
|
5
|
+
const ProjectBusinessRules_1 = require("../projects/_internal/ProjectBusinessRules");
|
|
6
|
+
const SiteBusinessRules_1 = require("../sites/_internal/SiteBusinessRules");
|
|
7
|
+
// Examples of possible Permission Policies
|
|
8
|
+
// const DiscussionPermissionPolicies: IPermissionPolicy[] = [
|
|
9
|
+
// {
|
|
10
|
+
// permission: "discussions:channel:create",
|
|
11
|
+
// authenticated: true,
|
|
12
|
+
// subsystems: ["discussions"],
|
|
13
|
+
// licenses: ["hub-basic", "hub-premium"],
|
|
14
|
+
// },
|
|
15
|
+
// {
|
|
16
|
+
// permission: "discussions:channel:createprivate",
|
|
17
|
+
// subsystems: ["discussions"],
|
|
18
|
+
// authenticated: true,
|
|
19
|
+
// licenses: ["hub-basic", "hub-premium"],
|
|
20
|
+
// assertions: [
|
|
21
|
+
// {
|
|
22
|
+
// property: "entity:group.typekeywords",
|
|
23
|
+
// assertion: "without",
|
|
24
|
+
// value: "cannotDiscuss",
|
|
25
|
+
// },
|
|
26
|
+
// {
|
|
27
|
+
// property: "context:currentUser",
|
|
28
|
+
// assertion: "is-group-admin",
|
|
29
|
+
// value: "entity:group.id",
|
|
30
|
+
// },
|
|
31
|
+
// ],
|
|
32
|
+
// },
|
|
33
|
+
// {
|
|
34
|
+
// permission: "discussions:channel:create",
|
|
35
|
+
// subsystems: ["discussions"],
|
|
36
|
+
// authenticated: true,
|
|
37
|
+
// licenses: ["hub-basic", "hub-premium"],
|
|
38
|
+
// assertions: [
|
|
39
|
+
// {
|
|
40
|
+
// property: "entity:typeKeywords",
|
|
41
|
+
// assertion: "without",
|
|
42
|
+
// value: "cannotDiscuss",
|
|
43
|
+
// },
|
|
44
|
+
// ],
|
|
45
|
+
// },
|
|
46
|
+
// {
|
|
47
|
+
// permission: "discussions:post:create",
|
|
48
|
+
// subsystems: ["discussions"],
|
|
49
|
+
// authenticated: true,
|
|
50
|
+
// licenses: ["hub-basic", "hub-premium"],
|
|
51
|
+
// assertions: [
|
|
52
|
+
// {
|
|
53
|
+
// property: "entity:typeKeywords",
|
|
54
|
+
// assertion: "without",
|
|
55
|
+
// value: "cannotDiscuss",
|
|
56
|
+
// },
|
|
57
|
+
// ],
|
|
58
|
+
// },
|
|
59
|
+
// ];
|
|
6
60
|
/**
|
|
7
61
|
* All the permission policies for the Hub
|
|
8
62
|
*/
|
|
9
63
|
exports.HubPermissionsPolicies = [
|
|
10
|
-
...
|
|
11
|
-
...
|
|
64
|
+
...SiteBusinessRules_1.SitesPermissionPolicies,
|
|
65
|
+
...ProjectBusinessRules_1.ProjectPermissionPolicies,
|
|
66
|
+
...InitiativeBusinessRules_1.InitiativePermissionPolicies,
|
|
12
67
|
];
|
|
13
68
|
/**
|
|
14
69
|
* Get the policies defined for a specific permission
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubPermissionPolicies.js","sourceRoot":"","sources":["../../../src/permissions/HubPermissionPolicies.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"HubPermissionPolicies.js","sourceRoot":"","sources":["../../../src/permissions/HubPermissionPolicies.ts"],"names":[],"mappings":";;;AAAA,8FAAgG;AAChG,qFAAuF;AACvF,4EAA+E;AAI/E,2CAA2C;AAC3C,8DAA8D;AAC9D,MAAM;AACN,gDAAgD;AAChD,2BAA2B;AAC3B,mCAAmC;AACnC,8CAA8C;AAC9C,OAAO;AACP,MAAM;AACN,uDAAuD;AACvD,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,iDAAiD;AACjD,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,UAAU;AACV,2CAA2C;AAC3C,uCAAuC;AACvC,oCAAoC;AACpC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,gDAAgD;AAChD,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,6CAA6C;AAC7C,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AAEL;;GAEG;AACU,QAAA,sBAAsB,GAAwB;IACzD,GAAG,2CAAuB;IAC1B,GAAG,gDAAyB;IAC5B,GAAG,sDAA4B;CAChC,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,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkAlphaGating = void 0;
|
|
4
|
+
const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
|
|
5
|
+
/**
|
|
6
|
+
* Validate entityOwner policy
|
|
7
|
+
* @param policy
|
|
8
|
+
* @param context
|
|
9
|
+
* @param entity
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
function checkAlphaGating(policy, context, entity) {
|
|
13
|
+
const checks = [];
|
|
14
|
+
// Only return a check if the policy is defined
|
|
15
|
+
if (policy.alpha) {
|
|
16
|
+
const result = context.isAlphaOrg
|
|
17
|
+
? "granted"
|
|
18
|
+
: "not-alpha-org";
|
|
19
|
+
// create the check
|
|
20
|
+
const check = {
|
|
21
|
+
name: `user in alpha org`,
|
|
22
|
+
value: context.hubLicense,
|
|
23
|
+
code: getPolicyResponseCode_1.getPolicyResponseCode(result),
|
|
24
|
+
response: result,
|
|
25
|
+
};
|
|
26
|
+
checks.push(check);
|
|
27
|
+
}
|
|
28
|
+
return checks;
|
|
29
|
+
}
|
|
30
|
+
exports.checkAlphaGating = checkAlphaGating;
|
|
31
|
+
//# sourceMappingURL=checkAlphaGating.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkAlphaGating.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkAlphaGating.ts"],"names":[],"mappings":";;;AAEA,mEAAgE;AAEhE;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAC9B,MAAyB,EACzB,OAAuB,EACvB,MAA4B;IAE5B,MAAM,MAAM,GAAG,EAAoB,CAAC;IACpC,+CAA+C;IAC/C,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,MAAM,MAAM,GAAmB,OAAO,CAAC,UAAU;YAC/C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,eAAe,CAAC;QAEpB,mBAAmB;QACnB,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,OAAO,CAAC,UAAU;YACzB,IAAI,EAAE,6CAAqB,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,MAAM;SACjB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAvBD,4CAuBC"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkAssertion = void 0;
|
|
4
|
+
const objects_1 = require("../../objects");
|
|
5
|
+
const utils_1 = require("../../utils");
|
|
6
|
+
const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
|
|
7
|
+
/**
|
|
8
|
+
* Check a specific EntityAssertion
|
|
9
|
+
* Exported purely for testing. Not exported from the package.
|
|
10
|
+
* @param assertion
|
|
11
|
+
* @param entity
|
|
12
|
+
* @param context
|
|
13
|
+
* @returns
|
|
14
|
+
*/
|
|
15
|
+
function checkAssertion(assertion, entity, context) {
|
|
16
|
+
let response = "granted";
|
|
17
|
+
// construct a hash to look up properties in
|
|
18
|
+
const lookupHash = { entity, context };
|
|
19
|
+
// get the property value
|
|
20
|
+
const propertyLookup = parseProperty(assertion.property);
|
|
21
|
+
const propValue = objects_1.getProp(lookupHash, propertyLookup.path);
|
|
22
|
+
// If prop is undefined, then the assertion fails
|
|
23
|
+
if (propValue === undefined) {
|
|
24
|
+
response = "assertion-property-not-found";
|
|
25
|
+
}
|
|
26
|
+
let val = assertion.value;
|
|
27
|
+
if (typeof val === "string" && val.indexOf(":") > -1) {
|
|
28
|
+
const valueLookup = parseProperty(assertion.value);
|
|
29
|
+
val = objects_1.getProp(lookupHash, valueLookup.path);
|
|
30
|
+
if (val === undefined) {
|
|
31
|
+
response = "assertion-property-not-found";
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// if we have the two values, we can make the assertion
|
|
35
|
+
if (propValue !== undefined && val !== undefined) {
|
|
36
|
+
// TODO: Should these fns return IPolicyCheck? or just the response?
|
|
37
|
+
// TODO: Should these fns inspect the type internally? or switch case here?
|
|
38
|
+
switch (assertion.type) {
|
|
39
|
+
case "eq":
|
|
40
|
+
case "neq":
|
|
41
|
+
response = equalityAssertions(assertion, propValue, val);
|
|
42
|
+
break;
|
|
43
|
+
case "contains":
|
|
44
|
+
case "without":
|
|
45
|
+
response = arrayAssertions(assertion, propValue, val);
|
|
46
|
+
break;
|
|
47
|
+
case "included-in":
|
|
48
|
+
response = includeAssertions(assertion, propValue, val);
|
|
49
|
+
break;
|
|
50
|
+
case "gt":
|
|
51
|
+
case "lt":
|
|
52
|
+
response = rangeAssertions(assertion, propValue, val);
|
|
53
|
+
break;
|
|
54
|
+
case "is-group-admin":
|
|
55
|
+
case "is-group-member":
|
|
56
|
+
case "is-group-owner":
|
|
57
|
+
response = groupAssertions(assertion, propValue, val, context);
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const result = {
|
|
62
|
+
name: `assertion: ${assertion.property} ${assertion.type} ${assertion.value}`,
|
|
63
|
+
value: propValue,
|
|
64
|
+
code: getPolicyResponseCode_1.getPolicyResponseCode(response),
|
|
65
|
+
response,
|
|
66
|
+
};
|
|
67
|
+
return result;
|
|
68
|
+
}
|
|
69
|
+
exports.checkAssertion = checkAssertion;
|
|
70
|
+
function groupAssertions(assertion, propValue, val, context) {
|
|
71
|
+
let response = "granted";
|
|
72
|
+
const userGroups = context.currentUser.groups || [];
|
|
73
|
+
// Default the groups to all groups the user is a member of
|
|
74
|
+
let groups = utils_1.mapBy("id", userGroups);
|
|
75
|
+
let failResponse = "user-not-group-member";
|
|
76
|
+
if (assertion.type === "is-group-member") {
|
|
77
|
+
failResponse = "user-not-group-member";
|
|
78
|
+
// no need to filter - this is anyone who's a member
|
|
79
|
+
groups = filterByMembershipType(userGroups, ["admin", "owner", "member"]);
|
|
80
|
+
}
|
|
81
|
+
if (assertion.type === "is-group-admin") {
|
|
82
|
+
failResponse = "user-not-group-manager";
|
|
83
|
+
groups = filterByMembershipType(userGroups, ["admin", "owner"]);
|
|
84
|
+
}
|
|
85
|
+
if (assertion.type === "is-group-owner") {
|
|
86
|
+
failResponse = "user-not-group-owner";
|
|
87
|
+
groups = filterByMembershipType(userGroups, ["owner"]);
|
|
88
|
+
}
|
|
89
|
+
// now, see if the val is in the groups array
|
|
90
|
+
if (!groups.includes(val)) {
|
|
91
|
+
// send a specific response
|
|
92
|
+
response = failResponse;
|
|
93
|
+
}
|
|
94
|
+
return response;
|
|
95
|
+
}
|
|
96
|
+
function filterByMembershipType(groups, types) {
|
|
97
|
+
return groups.reduce((acc, grp) => {
|
|
98
|
+
if (types.includes(grp.userMembership.memberType)) {
|
|
99
|
+
acc.push(grp.id);
|
|
100
|
+
}
|
|
101
|
+
return acc;
|
|
102
|
+
}, []);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Is the propValue included in the val array?
|
|
106
|
+
* @param assertion
|
|
107
|
+
* @param propValue
|
|
108
|
+
* @param val
|
|
109
|
+
* @returns
|
|
110
|
+
*/
|
|
111
|
+
function includeAssertions(assertion, propValue, val) {
|
|
112
|
+
let response = "granted";
|
|
113
|
+
if (!Array.isArray(val)) {
|
|
114
|
+
response = "property-not-array";
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
const arrayVal = val;
|
|
118
|
+
if (!arrayVal.includes(propValue)) {
|
|
119
|
+
response = "array-missing-required-value";
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return response;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Is the propValue "eq" or "neq" to the val?
|
|
126
|
+
* @param assertion
|
|
127
|
+
* @param propValue
|
|
128
|
+
* @param val
|
|
129
|
+
* @returns
|
|
130
|
+
*/
|
|
131
|
+
function equalityAssertions(assertion, propValue, val) {
|
|
132
|
+
let response = "granted";
|
|
133
|
+
if (assertion.type === "eq" && propValue !== val) {
|
|
134
|
+
response = "assertion-failed";
|
|
135
|
+
}
|
|
136
|
+
else if (assertion.type === "neq" && propValue === val) {
|
|
137
|
+
response = "assertion-failed";
|
|
138
|
+
}
|
|
139
|
+
return response;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Is the propValue "gt" or "lt" to the val?
|
|
143
|
+
* @param assertion
|
|
144
|
+
* @param propValue
|
|
145
|
+
* @param val
|
|
146
|
+
* @returns
|
|
147
|
+
*/
|
|
148
|
+
function rangeAssertions(assertion, propValue, val) {
|
|
149
|
+
let response = "granted";
|
|
150
|
+
if (typeof propValue !== "number" || typeof val !== "number") {
|
|
151
|
+
response = "assertion-requires-numeric-values";
|
|
152
|
+
}
|
|
153
|
+
if (assertion.type === "gt" && propValue < val) {
|
|
154
|
+
response = "assertion-failed";
|
|
155
|
+
}
|
|
156
|
+
else if (assertion.type === "lt" && propValue > val) {
|
|
157
|
+
response = "assertion-failed";
|
|
158
|
+
}
|
|
159
|
+
return response;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Does the propValue array "contain" or "without" the val?
|
|
163
|
+
* @param assertion
|
|
164
|
+
* @param propValue
|
|
165
|
+
* @param val
|
|
166
|
+
* @returns
|
|
167
|
+
*/
|
|
168
|
+
function arrayAssertions(assertion, propValue, val) {
|
|
169
|
+
let response = "granted";
|
|
170
|
+
if (!Array.isArray(propValue)) {
|
|
171
|
+
response = "property-not-array";
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
const arrayProp = propValue;
|
|
175
|
+
const arrayContainsValue = arrayProp.includes(val);
|
|
176
|
+
if (assertion.type === "contains" && !arrayContainsValue) {
|
|
177
|
+
response = "array-missing-required-value";
|
|
178
|
+
}
|
|
179
|
+
if (assertion.type === "without" && arrayContainsValue) {
|
|
180
|
+
response = "array-contains-invalid-value";
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return response;
|
|
184
|
+
}
|
|
185
|
+
function parseProperty(property) {
|
|
186
|
+
let root = "entity";
|
|
187
|
+
let path = `entity.${property}`;
|
|
188
|
+
if (property.indexOf(":") > -1) {
|
|
189
|
+
root = property.split(":")[0];
|
|
190
|
+
path = `${root}.${property.split(":")[1]}`;
|
|
191
|
+
}
|
|
192
|
+
return { root, path };
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=checkAssertion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkAssertion.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkAssertion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkAssertions = void 0;
|
|
4
|
+
const checkAssertion_1 = require("./checkAssertion");
|
|
5
|
+
/**
|
|
6
|
+
* Validate entityOwner policy
|
|
7
|
+
* @param policy
|
|
8
|
+
* @param context
|
|
9
|
+
* @param entity
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
function checkAssertions(policy, context, entity) {
|
|
13
|
+
let checks = [];
|
|
14
|
+
// Only return a check if the policy is defined
|
|
15
|
+
if (policy.assertions) {
|
|
16
|
+
// iterate over the assertions, creating a check for each entry
|
|
17
|
+
checks = policy.assertions.map((assertion) => {
|
|
18
|
+
return checkAssertion_1.checkAssertion(assertion, entity, context);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
return checks;
|
|
22
|
+
}
|
|
23
|
+
exports.checkAssertions = checkAssertions;
|
|
24
|
+
//# sourceMappingURL=checkAssertions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkAssertions.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkAssertions.ts"],"names":[],"mappings":";;;AAEA,qDAAkD;AAElD;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,MAAyB,EACzB,OAAuB,EACvB,MAA4B;IAE5B,IAAI,MAAM,GAAG,EAAoB,CAAC;IAClC,+CAA+C;IAC/C,IAAI,MAAM,CAAC,UAAU,EAAE;QACrB,+DAA+D;QAC/D,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAA2B,EAAE,EAAE;YAC7D,OAAO,+BAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,0CAeC"}
|