@esri/hub-common 12.0.0-alpha.2 → 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.
Files changed (158) hide show
  1. package/dist/esm/capabilities/_internal/checkCapabilityAccess.js +47 -0
  2. package/dist/esm/capabilities/_internal/checkCapabilityAccess.js.map +1 -0
  3. package/dist/esm/capabilities/_internal/index.js +2 -0
  4. package/dist/esm/capabilities/_internal/index.js.map +1 -0
  5. package/dist/esm/capabilities/checkCapability.js +46 -0
  6. package/dist/esm/capabilities/checkCapability.js.map +1 -0
  7. package/dist/esm/capabilities/getWorkspaceCapabilities.js +38 -0
  8. package/dist/esm/capabilities/getWorkspaceCapabilities.js.map +1 -0
  9. package/dist/esm/capabilities/index.js +5 -0
  10. package/dist/esm/capabilities/index.js.map +1 -0
  11. package/dist/esm/capabilities/processEntityCapabilities.js +25 -0
  12. package/dist/esm/capabilities/processEntityCapabilities.js.map +1 -0
  13. package/dist/esm/capabilities/types.js +22 -0
  14. package/dist/esm/capabilities/types.js.map +1 -0
  15. package/dist/esm/core/HubItemEntity.js +8 -0
  16. package/dist/esm/core/HubItemEntity.js.map +1 -1
  17. package/dist/esm/{permissions → core}/types/IAccessResponse.js +0 -0
  18. package/dist/esm/core/types/IAccessResponse.js.map +1 -0
  19. package/dist/esm/index.js +1 -0
  20. package/dist/esm/index.js.map +1 -1
  21. package/dist/esm/initiatives/HubInitiative.js.map +1 -1
  22. package/dist/esm/initiatives/HubInitiatives.js +2 -36
  23. package/dist/esm/initiatives/HubInitiatives.js.map +1 -1
  24. package/dist/esm/initiatives/_internal/InitiativeBusinessRules.js +79 -0
  25. package/dist/esm/initiatives/_internal/InitiativeBusinessRules.js.map +1 -0
  26. package/dist/esm/initiatives/_internal/computeProps.js +31 -0
  27. package/dist/esm/initiatives/_internal/computeProps.js.map +1 -0
  28. package/dist/esm/initiatives/_internal/getPropertyMap.js +22 -0
  29. package/dist/esm/initiatives/_internal/getPropertyMap.js.map +1 -0
  30. package/dist/esm/permissions/HubPermissionPolicies.js +4 -2
  31. package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -1
  32. package/dist/esm/permissions/checkPermission.js +3 -2
  33. package/dist/esm/permissions/checkPermission.js.map +1 -1
  34. package/dist/esm/permissions/types/IPermissionAccessResponse.js +1 -0
  35. package/dist/esm/permissions/types/IPermissionAccessResponse.js.map +1 -0
  36. package/dist/esm/permissions/types/Permission.js +8 -3
  37. package/dist/esm/permissions/types/Permission.js.map +1 -1
  38. package/dist/esm/permissions/types/index.js +1 -1
  39. package/dist/esm/permissions/types/index.js.map +1 -1
  40. package/dist/esm/projects/HubProject.js.map +1 -1
  41. package/dist/esm/projects/_internal/ProjectBusinessRules.js +79 -0
  42. package/dist/esm/projects/_internal/ProjectBusinessRules.js.map +1 -0
  43. package/dist/esm/projects/{_internal.js → _internal/computeProps.js} +7 -19
  44. package/dist/esm/projects/_internal/computeProps.js.map +1 -0
  45. package/dist/esm/projects/_internal/getPropertyMap.js +22 -0
  46. package/dist/esm/projects/_internal/getPropertyMap.js.map +1 -0
  47. package/dist/esm/projects/edit.js +2 -1
  48. package/dist/esm/projects/edit.js.map +1 -1
  49. package/dist/esm/projects/fetch.js +2 -1
  50. package/dist/esm/projects/fetch.js.map +1 -1
  51. package/dist/esm/sites/HubSites.js +8 -74
  52. package/dist/esm/sites/HubSites.js.map +1 -1
  53. package/dist/esm/sites/_internal/{SitesPermissionPolicies.js → SiteBusinessRules.js} +34 -1
  54. package/dist/esm/sites/_internal/SiteBusinessRules.js.map +1 -0
  55. package/dist/esm/sites/_internal/computeProps.js +32 -0
  56. package/dist/esm/sites/_internal/computeProps.js.map +1 -0
  57. package/dist/esm/sites/_internal/getPropertyMap.js +59 -0
  58. package/dist/esm/sites/_internal/getPropertyMap.js.map +1 -0
  59. package/dist/node/capabilities/_internal/checkCapabilityAccess.js +51 -0
  60. package/dist/node/capabilities/_internal/checkCapabilityAccess.js.map +1 -0
  61. package/dist/node/capabilities/_internal/index.js +5 -0
  62. package/dist/node/capabilities/_internal/index.js.map +1 -0
  63. package/dist/node/capabilities/checkCapability.js +50 -0
  64. package/dist/node/capabilities/checkCapability.js.map +1 -0
  65. package/dist/node/capabilities/getWorkspaceCapabilities.js +42 -0
  66. package/dist/node/capabilities/getWorkspaceCapabilities.js.map +1 -0
  67. package/dist/node/capabilities/index.js +8 -0
  68. package/dist/node/capabilities/index.js.map +1 -0
  69. package/dist/node/capabilities/processEntityCapabilities.js +29 -0
  70. package/dist/node/capabilities/processEntityCapabilities.js.map +1 -0
  71. package/dist/node/capabilities/types.js +26 -0
  72. package/dist/node/capabilities/types.js.map +1 -0
  73. package/dist/node/core/HubItemEntity.js +8 -0
  74. package/dist/node/core/HubItemEntity.js.map +1 -1
  75. package/dist/node/{permissions → core}/types/IAccessResponse.js +0 -0
  76. package/dist/node/core/types/IAccessResponse.js.map +1 -0
  77. package/dist/node/index.js +1 -0
  78. package/dist/node/index.js.map +1 -1
  79. package/dist/node/initiatives/HubInitiative.js.map +1 -1
  80. package/dist/node/initiatives/HubInitiatives.js +8 -42
  81. package/dist/node/initiatives/HubInitiatives.js.map +1 -1
  82. package/dist/node/initiatives/_internal/InitiativeBusinessRules.js +82 -0
  83. package/dist/node/initiatives/_internal/InitiativeBusinessRules.js.map +1 -0
  84. package/dist/node/initiatives/_internal/computeProps.js +35 -0
  85. package/dist/node/initiatives/_internal/computeProps.js.map +1 -0
  86. package/dist/node/initiatives/_internal/getPropertyMap.js +26 -0
  87. package/dist/node/initiatives/_internal/getPropertyMap.js.map +1 -0
  88. package/dist/node/permissions/HubPermissionPolicies.js +6 -4
  89. package/dist/node/permissions/HubPermissionPolicies.js.map +1 -1
  90. package/dist/node/permissions/checkPermission.js +3 -2
  91. package/dist/node/permissions/checkPermission.js.map +1 -1
  92. package/dist/node/permissions/types/IPermissionAccessResponse.js +3 -0
  93. package/dist/node/permissions/types/IPermissionAccessResponse.js.map +1 -0
  94. package/dist/node/permissions/types/Permission.js +8 -3
  95. package/dist/node/permissions/types/Permission.js.map +1 -1
  96. package/dist/node/permissions/types/index.js +1 -1
  97. package/dist/node/permissions/types/index.js.map +1 -1
  98. package/dist/node/projects/HubProject.js.map +1 -1
  99. package/dist/node/projects/_internal/{ProjectPermissionPolicies.js → ProjectBusinessRules.js} +40 -2
  100. package/dist/node/projects/_internal/ProjectBusinessRules.js.map +1 -0
  101. package/dist/node/projects/{_internal.js → _internal/computeProps.js} +8 -21
  102. package/dist/node/projects/_internal/computeProps.js.map +1 -0
  103. package/dist/node/projects/_internal/getPropertyMap.js +26 -0
  104. package/dist/node/projects/_internal/getPropertyMap.js.map +1 -0
  105. package/dist/node/projects/edit.js +6 -5
  106. package/dist/node/projects/edit.js.map +1 -1
  107. package/dist/node/projects/fetch.js +4 -3
  108. package/dist/node/projects/fetch.js.map +1 -1
  109. package/dist/node/sites/HubSites.js +8 -74
  110. package/dist/node/sites/HubSites.js.map +1 -1
  111. package/dist/node/sites/_internal/{SitesPermissionPolicies.js → SiteBusinessRules.js} +35 -2
  112. package/dist/node/sites/_internal/SiteBusinessRules.js.map +1 -0
  113. package/dist/node/sites/_internal/computeProps.js +36 -0
  114. package/dist/node/sites/_internal/computeProps.js.map +1 -0
  115. package/dist/node/sites/_internal/getPropertyMap.js +63 -0
  116. package/dist/node/sites/_internal/getPropertyMap.js.map +1 -0
  117. package/dist/types/capabilities/_internal/checkCapabilityAccess.d.ts +10 -0
  118. package/dist/types/capabilities/_internal/index.d.ts +1 -0
  119. package/dist/types/capabilities/checkCapability.d.ts +10 -0
  120. package/dist/types/capabilities/getWorkspaceCapabilities.d.ts +15 -0
  121. package/dist/types/capabilities/index.d.ts +4 -0
  122. package/dist/types/capabilities/processEntityCapabilities.d.ts +8 -0
  123. package/dist/types/capabilities/types.d.ts +57 -0
  124. package/dist/types/content/_internal.d.ts +2 -1
  125. package/dist/types/core/HubItemEntity.d.ts +10 -4
  126. package/dist/types/core/behaviors/IWithPermissionBehavior.d.ts +10 -2
  127. package/dist/types/core/traits/IWithPermissions.d.ts +2 -0
  128. package/dist/types/{permissions → core}/types/IAccessResponse.d.ts +1 -15
  129. package/dist/types/core/types/IHubSite.d.ts +4 -4
  130. package/dist/types/index.d.ts +1 -0
  131. package/dist/types/initiatives/HubInitiative.d.ts +2 -2
  132. package/dist/types/initiatives/_internal/InitiativeBusinessRules.d.ts +26 -0
  133. package/dist/types/initiatives/_internal/computeProps.d.ts +12 -0
  134. package/dist/types/initiatives/_internal/getPropertyMap.d.ts +8 -0
  135. package/dist/types/permissions/checkPermission.d.ts +2 -2
  136. package/dist/types/permissions/types/IPermissionAccessResponse.d.ts +18 -0
  137. package/dist/types/permissions/types/Permission.d.ts +1 -1
  138. package/dist/types/permissions/types/PolicyResponse.d.ts +1 -1
  139. package/dist/types/permissions/types/index.d.ts +1 -1
  140. package/dist/types/projects/HubProject.d.ts +2 -2
  141. package/dist/types/projects/_internal/ProjectBusinessRules.d.ts +26 -0
  142. package/dist/types/projects/{_internal.d.ts → _internal/computeProps.d.ts} +2 -10
  143. package/dist/types/projects/_internal/getPropertyMap.d.ts +8 -0
  144. package/dist/types/sites/_internal/SiteBusinessRules.d.ts +25 -0
  145. package/dist/types/sites/_internal/computeProps.d.ts +12 -0
  146. package/dist/types/sites/_internal/getPropertyMap.d.ts +10 -0
  147. package/package.json +1 -1
  148. package/dist/esm/permissions/types/IAccessResponse.js.map +0 -1
  149. package/dist/esm/projects/_internal/ProjectPermissionPolicies.js +0 -41
  150. package/dist/esm/projects/_internal/ProjectPermissionPolicies.js.map +0 -1
  151. package/dist/esm/projects/_internal.js.map +0 -1
  152. package/dist/esm/sites/_internal/SitesPermissionPolicies.js.map +0 -1
  153. package/dist/node/permissions/types/IAccessResponse.js.map +0 -1
  154. package/dist/node/projects/_internal/ProjectPermissionPolicies.js.map +0 -1
  155. package/dist/node/projects/_internal.js.map +0 -1
  156. package/dist/node/sites/_internal/SitesPermissionPolicies.js.map +0 -1
  157. package/dist/types/projects/_internal/ProjectPermissionPolicies.d.ts +0 -8
  158. package/dist/types/sites/_internal/SitesPermissionPolicies.d.ts +0 -11
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkCapabilityAccess = void 0;
4
+ const index_1 = require("../../index");
5
+ /**
6
+ * Check an individual capability access rule
7
+ * @param rule
8
+ * @param context
9
+ * @param entity
10
+ * @returns
11
+ */
12
+ function checkCapabilityAccess(rule, context, entity) {
13
+ // check if the capability is disabled for the entity; we default to false
14
+ const value = entity.capabilities[rule.capability] || false;
15
+ // if disabled, then access is denied
16
+ if (!value) {
17
+ return {
18
+ capability: rule.capability,
19
+ access: false,
20
+ code: "disabled",
21
+ response: "not-available",
22
+ message: `Owner ${entity.owner} has disabled ${rule.capability} capability.`,
23
+ responses: [],
24
+ };
25
+ }
26
+ else {
27
+ // check each permission in the rule
28
+ const chks = rule.permissions.map((permission) => {
29
+ return index_1.checkPermission(permission, context, entity);
30
+ });
31
+ // default to last check
32
+ let accessCheck = chks[chks.length - 1];
33
+ // if all checks are true, then access is granted
34
+ const access = chks.every((chk) => chk.access);
35
+ if (!access) {
36
+ // get the first failed check and use it's values in the response
37
+ accessCheck = chks.find((chk) => !chk.access);
38
+ }
39
+ // construct the response
40
+ return {
41
+ capability: rule.capability,
42
+ access: accessCheck.access,
43
+ code: accessCheck.code,
44
+ response: accessCheck.response,
45
+ message: accessCheck.message,
46
+ responses: chks,
47
+ };
48
+ }
49
+ }
50
+ exports.checkCapabilityAccess = checkCapabilityAccess;
51
+ //# sourceMappingURL=checkCapabilityAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkCapabilityAccess.js","sourceRoot":"","sources":["../../../../src/capabilities/_internal/checkCapabilityAccess.ts"],"names":[],"mappings":";;;AAAA,uCAKqB;AAGrB;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,IAA2B,EAC3B,OAAuB,EACvB,MAAiB;IAEjB,0EAA0E;IAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;IAC5D,qCAAqC;IACrC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,eAAe;YACzB,OAAO,EAAE,SAAS,MAAM,CAAC,KAAK,iBAAiB,IAAI,CAAC,UAAU,cAAc;YAC5E,SAAS,EAAE,EAAE;SACd,CAAC;KACH;SAAM;QACL,oCAAoC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;YAC/C,OAAO,uBAAe,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,wBAAwB;QACxB,IAAI,WAAW,GAA8B,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnE,iDAAiD;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,MAAM,EAAE;YACX,iEAAiE;YACjE,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC/C;QACD,yBAAyB;QACzB,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,SAAS,EAAE,IAAI;SAChB,CAAC;KACH;AACH,CAAC;AAzCD,sDAyCC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./checkCapabilityAccess"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/capabilities/_internal/index.ts"],"names":[],"mappings":";;;AAAA,kEAAwC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkCapability = void 0;
4
+ const index_1 = require("../index");
5
+ const types_1 = require("./types");
6
+ const getWorkspaceCapabilities_1 = require("./getWorkspaceCapabilities");
7
+ const _internal_1 = require("./_internal");
8
+ /**
9
+ * Check if a capability is enabled for a given entity and if the current user has necessary permissions to access it
10
+ * @param capability
11
+ * @param context
12
+ * @param entity
13
+ * @returns
14
+ */
15
+ function checkCapability(capability, context, entity) {
16
+ const entityType = index_1.getTypeFromEntity(entity);
17
+ // Find the rule for the given entity type and capability
18
+ const isValid = types_1.isCapability(capability);
19
+ if (isValid) {
20
+ const rule = getWorkspaceCapabilities_1.CapabilityPermissions.find((e) => e.entity === entityType && e.capability === capability);
21
+ if (rule) {
22
+ // check each capability access rule
23
+ return _internal_1.checkCapabilityAccess(rule, context, entity);
24
+ }
25
+ else {
26
+ // No rule found
27
+ return {
28
+ capability,
29
+ access: false,
30
+ code: "disabled",
31
+ response: "not-available",
32
+ message: `Capability "${capability}" is not defined for ${entityType}.`,
33
+ responses: [],
34
+ };
35
+ }
36
+ }
37
+ else {
38
+ // Invlaid Capability
39
+ return {
40
+ capability,
41
+ access: false,
42
+ code: "disabled",
43
+ response: "invalid-capability",
44
+ message: `Value "${capability}" is not a valid Hub Capability.`,
45
+ responses: [],
46
+ };
47
+ }
48
+ }
49
+ exports.checkCapability = checkCapability;
50
+ //# sourceMappingURL=checkCapability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkCapability.js","sourceRoot":"","sources":["../../../src/capabilities/checkCapability.ts"],"names":[],"mappings":";;;AAAA,oCAKkB;AAClB,mCAA8E;AAC9E,yEAAmE;AACnE,2CAAoD;AAEpD;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,UAAsB,EACtB,OAAuB,EACvB,MAAiB;IAEjB,MAAM,UAAU,GAAkB,yBAAiB,CAAC,MAAM,CAAC,CAAC;IAC5D,yDAAyD;IACzD,MAAM,OAAO,GAAG,oBAAY,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,OAAO,EAAE;QACX,MAAM,IAAI,GAAG,gDAAqB,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,CAC9D,CAAC;QACF,IAAI,IAAI,EAAE;YACR,oCAAoC;YACpC,OAAO,iCAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;SACrD;aAAM;YACL,gBAAgB;YAChB,OAAO;gBACL,UAAU;gBACV,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,eAAe;gBACzB,OAAO,EAAE,eAAe,UAAU,wBAAwB,UAAU,GAAG;gBACvE,SAAS,EAAE,EAAE;aACe,CAAC;SAChC;KACF;SAAM;QACL,qBAAqB;QACrB,OAAO;YACL,UAAU;YACV,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,oBAAoB;YAC9B,OAAO,EAAE,UAAU,UAAU,kCAAkC;YAC/D,SAAS,EAAE,EAAE;SACe,CAAC;KAChC;AACH,CAAC;AArCD,0CAqCC"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getWorkspaceCapabilities = exports.CapabilityPermissions = void 0;
4
+ const getTypeFromEntity_1 = require("../core/getTypeFromEntity");
5
+ const ProjectBusinessRules_1 = require("../projects/_internal/ProjectBusinessRules");
6
+ const checkCapabilityAccess_1 = require("./_internal/checkCapabilityAccess");
7
+ const InitiativeBusinessRules_1 = require("../initiatives/_internal/InitiativeBusinessRules");
8
+ const SiteBusinessRules_1 = require("../sites/_internal/SiteBusinessRules");
9
+ /**
10
+ * List of all the Capability Permissions in the Hub System
11
+ * These are defined in the entity specific modules files
12
+ */
13
+ exports.CapabilityPermissions = [
14
+ ...ProjectBusinessRules_1.ProjectCapabilityPermissions,
15
+ ...InitiativeBusinessRules_1.InitiativeCapabilityPermissions,
16
+ ...SiteBusinessRules_1.SiteCapabilityPermissions,
17
+ ];
18
+ /**
19
+ * Return the capabilities that are granted to the current user for a given entity
20
+ * This is used by the Hub Components to determine which Workspace Navigation Links to show
21
+ * @param entity
22
+ * @param context
23
+ * @returns
24
+ */
25
+ function getWorkspaceCapabilities(entity, context) {
26
+ const entityType = getTypeFromEntity_1.getTypeFromEntity(entity);
27
+ // filter to the rules for the given entity type
28
+ const capabilityAccessRules = exports.CapabilityPermissions.filter((e) => e.entity === entityType);
29
+ // check each capability access rule
30
+ const responses = capabilityAccessRules.map((rule) => {
31
+ return checkCapabilityAccess_1.checkCapabilityAccess(rule, context, entity);
32
+ });
33
+ // map out those capabilities that are granted so consumers can easily work with that list
34
+ const granted = responses.filter((r) => r.access).map((r) => r.capability);
35
+ // return the full response with the details and the granted capabilities list
36
+ return {
37
+ granted,
38
+ details: responses,
39
+ };
40
+ }
41
+ exports.getWorkspaceCapabilities = getWorkspaceCapabilities;
42
+ //# sourceMappingURL=getWorkspaceCapabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWorkspaceCapabilities.js","sourceRoot":"","sources":["../../../src/capabilities/getWorkspaceCapabilities.ts"],"names":[],"mappings":";;;AACA,iEAA8D;AAE9D,qFAA0F;AAC1F,6EAA0E;AAC1E,8FAAmG;AACnG,4EAAiF;AAEjF;;;GAGG;AACU,QAAA,qBAAqB,GAA4B;IAC5D,GAAG,mDAA4B;IAC/B,GAAG,yDAA+B;IAClC,GAAG,6CAAyB;CAC7B,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,wBAAwB,CACtC,MAAiB,EACjB,OAAuB;IAEvB,MAAM,UAAU,GAAkB,qCAAiB,CAAC,MAAM,CAAC,CAAC;IAC5D,gDAAgD;IAChD,MAAM,qBAAqB,GAAG,6BAAqB,CAAC,MAAM,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAC/B,CAAC;IAEF,oCAAoC;IACpC,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnD,OAAO,6CAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,0FAA0F;IAC1F,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3E,8EAA8E;IAC9E,OAAO;QACL,OAAO;QACP,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC;AArBD,4DAqBC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./types"), exports);
5
+ tslib_1.__exportStar(require("./processEntityCapabilities"), exports);
6
+ tslib_1.__exportStar(require("./getWorkspaceCapabilities"), exports);
7
+ tslib_1.__exportStar(require("./checkCapability"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/capabilities/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,sEAA4C;AAC5C,qEAA2C;AAC3C,4DAAkC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processEntityCapabilities = void 0;
4
+ /**
5
+ * Take an entity's capabilities and merge them with the default capabilities ensuring that only the capabilities defined in the business rules are allowed through.
6
+ * @param entityCapabilities
7
+ * @param defaultCapabilities
8
+ * @returns
9
+ */
10
+ function processEntityCapabilities(entityCapabilities, defaultCapabilities) {
11
+ // Extend the default capabilities with the entity capabilities
12
+ const capabilities = Object.assign(Object.assign({}, defaultCapabilities), entityCapabilities);
13
+ // Remove any capabilities that are not in the default capabilities hash.
14
+ // this prevents enabling capabilities that are not defined in hub business rules
15
+ const defaultKeys = Object.keys(defaultCapabilities);
16
+ const keysToRemove = Object.keys(capabilities).reduce((acc, key) => {
17
+ if (!defaultKeys.includes(key)) {
18
+ acc.push(key);
19
+ }
20
+ return acc;
21
+ }, []);
22
+ // remove any keys that are not in the default capabilities hash
23
+ keysToRemove.forEach((key) => {
24
+ delete capabilities[key];
25
+ });
26
+ return capabilities;
27
+ }
28
+ exports.processEntityCapabilities = processEntityCapabilities;
29
+ //# sourceMappingURL=processEntityCapabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processEntityCapabilities.js","sourceRoot":"","sources":["../../../src/capabilities/processEntityCapabilities.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACH,SAAgB,yBAAyB,CACvC,kBAAsC,EACtC,mBAAuC;IAEvC,+DAA+D;IAC/D,MAAM,YAAY,mCAAQ,mBAAmB,GAAK,kBAAkB,CAAE,CAAC;IAEvE,yEAAyE;IACzE,iFAAiF;IACjF,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACjE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC9B,GAAG,CAAC,IAAI,CAAC,GAAiB,CAAC,CAAC;SAC7B;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,gEAAgE;IAChE,YAAY,CAAC,OAAO,CAAC,CAAC,GAAe,EAAE,EAAE;QACvC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,OAAO,YAAY,CAAC;AACtB,CAAC;AArBD,8DAqBC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isCapability = void 0;
4
+ /**
5
+ * Hub System Capabilities
6
+ */
7
+ const validCapabilities = [
8
+ "collaboration",
9
+ "details",
10
+ "discussions",
11
+ "events",
12
+ "followers",
13
+ "overview",
14
+ "settings",
15
+ "teams",
16
+ ];
17
+ /**
18
+ * Validate a capability. This is used because the libary can be used outside of typescript and we want to be able to return a message is the string passed in is not a valid capability
19
+ * @param Capability
20
+ * @returns
21
+ */
22
+ function isCapability(maybeCapability) {
23
+ return validCapabilities.includes(maybeCapability);
24
+ }
25
+ exports.isCapability = isCapability;
26
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/capabilities/types.ts"],"names":[],"mappings":";;;AAQA;;GAEG;AACH,MAAM,iBAAiB,GAAG;IACxB,eAAe;IACf,SAAS;IACT,aAAa;IACb,QAAQ;IACR,WAAW;IACX,UAAU;IACV,UAAU;IACV,OAAO;CACC,CAAC;AAOX;;;;GAIG;AACH,SAAgB,YAAY,CAAC,eAAuB;IAClD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,eAA6B,CAAC,CAAC;AACnE,CAAC;AAFD,oCAEC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HubItemEntity = void 0;
4
4
  const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
+ const capabilities_1 = require("../capabilities");
5
6
  const HubError_1 = require("../HubError");
6
7
  const items_1 = require("../items");
7
8
  const setItemThumbnail_1 = require("../items/setItemThumbnail");
@@ -53,6 +54,13 @@ class HubItemEntity {
53
54
  removePermissionPolicy(permission, id) {
54
55
  this.entity.permissions = permissions_1.removePermissionPolicy(this.entity.permissions, permission, id);
55
56
  }
57
+ /**
58
+ * Check if the current user can access a specific capability
59
+ * @param capability
60
+ */
61
+ checkCapability(capability) {
62
+ return capabilities_1.checkCapability(capability, this.context, this.entity);
63
+ }
56
64
  // Although we don't expose all the properties, we do expose a few for convenience
57
65
  /**
58
66
  * Return the entity id
@@ -1 +1 @@
1
- {"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAccessResponse.js","sourceRoot":"","sources":["../../../../src/core/types/IAccessResponse.ts"],"names":[],"mappings":""}
@@ -13,6 +13,7 @@ tslib_1.__exportStar(require("./auth"), exports);
13
13
  tslib_1.__exportStar(require("./categories"), exports);
14
14
  tslib_1.__exportStar(require("./content"), exports);
15
15
  tslib_1.__exportStar(require("./core"), exports);
16
+ tslib_1.__exportStar(require("./capabilities"), exports);
16
17
  tslib_1.__exportStar(require("./downloads"), exports);
17
18
  tslib_1.__exportStar(require("./extent"), exports);
18
19
  tslib_1.__exportStar(require("./groups"), exports);
@@ -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,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"}
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,yDAA+B;AAC/B,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HubInitiative.js","sourceRoot":"","sources":["../../../src/initiatives/HubInitiative.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubInitiative.js","sourceRoot":"","sources":["../../../src/initiatives/HubInitiative.ts"],"names":[],"mappings":"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"}
@@ -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 getBasePropertyMap_1 = require("../core/_internal/getBasePropertyMap");
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":"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"}
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"}