@esri/hub-common 12.0.0-alpha.1 → 12.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/esm/ArcGISContext.js +14 -0
  2. package/dist/esm/ArcGISContext.js.map +1 -1
  3. package/dist/esm/permissions/HubPermissionPolicies.js +53 -0
  4. package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -1
  5. package/dist/esm/permissions/_internal/checkAlphaGating.js +27 -0
  6. package/dist/esm/permissions/_internal/checkAlphaGating.js.map +1 -0
  7. package/dist/esm/permissions/_internal/checkAssertion.js +190 -0
  8. package/dist/esm/permissions/_internal/checkAssertion.js.map +1 -0
  9. package/dist/esm/permissions/_internal/checkAssertions.js +20 -0
  10. package/dist/esm/permissions/_internal/checkAssertions.js.map +1 -0
  11. package/dist/esm/permissions/_internal/checkAuthentication.js +15 -11
  12. package/dist/esm/permissions/_internal/checkAuthentication.js.map +1 -1
  13. package/dist/esm/permissions/_internal/checkEdit.js +6 -3
  14. package/dist/esm/permissions/_internal/checkEdit.js.map +1 -1
  15. package/dist/esm/permissions/_internal/checkEntityPolicy.js +14 -2
  16. package/dist/esm/permissions/_internal/checkEntityPolicy.js.map +1 -1
  17. package/dist/esm/permissions/_internal/checkLicense.js +21 -15
  18. package/dist/esm/permissions/_internal/checkLicense.js.map +1 -1
  19. package/dist/esm/permissions/_internal/checkOwner.js.map +1 -1
  20. package/dist/esm/permissions/_internal/checkPrivileges.js +19 -15
  21. package/dist/esm/permissions/_internal/checkPrivileges.js.map +1 -1
  22. package/dist/esm/permissions/_internal/getPolicyResponseCode.js +34 -16
  23. package/dist/esm/permissions/_internal/getPolicyResponseCode.js.map +1 -1
  24. package/dist/esm/permissions/checkPermission.js +3 -2
  25. package/dist/esm/permissions/checkPermission.js.map +1 -1
  26. package/dist/esm/permissions/types/Permission.js +5 -12
  27. package/dist/esm/permissions/types/Permission.js.map +1 -1
  28. package/dist/esm/projects/_internal/ProjectPermissionPolicies.js +6 -0
  29. package/dist/esm/projects/_internal/ProjectPermissionPolicies.js.map +1 -1
  30. package/dist/esm/projects/defaults.js +1 -0
  31. package/dist/esm/projects/defaults.js.map +1 -1
  32. package/dist/esm/sites/HubSites.js +10 -12
  33. package/dist/esm/sites/HubSites.js.map +1 -1
  34. package/dist/esm/sites/_internal/SitesPermissionPolicies.js +10 -0
  35. package/dist/esm/sites/_internal/SitesPermissionPolicies.js.map +1 -1
  36. package/dist/esm/sites/_internal/applyPermissionMigration.js +52 -0
  37. package/dist/esm/sites/_internal/applyPermissionMigration.js.map +1 -0
  38. package/dist/node/ArcGISContext.js +14 -0
  39. package/dist/node/ArcGISContext.js.map +1 -1
  40. package/dist/node/permissions/HubPermissionPolicies.js +53 -0
  41. package/dist/node/permissions/HubPermissionPolicies.js.map +1 -1
  42. package/dist/node/permissions/_internal/checkAlphaGating.js +31 -0
  43. package/dist/node/permissions/_internal/checkAlphaGating.js.map +1 -0
  44. package/dist/node/permissions/_internal/checkAssertion.js +194 -0
  45. package/dist/node/permissions/_internal/checkAssertion.js.map +1 -0
  46. package/dist/node/permissions/_internal/checkAssertions.js +24 -0
  47. package/dist/node/permissions/_internal/checkAssertions.js.map +1 -0
  48. package/dist/node/permissions/_internal/checkAuthentication.js +15 -11
  49. package/dist/node/permissions/_internal/checkAuthentication.js.map +1 -1
  50. package/dist/node/permissions/_internal/checkEdit.js +6 -3
  51. package/dist/node/permissions/_internal/checkEdit.js.map +1 -1
  52. package/dist/node/permissions/_internal/checkEntityPolicy.js +14 -2
  53. package/dist/node/permissions/_internal/checkEntityPolicy.js.map +1 -1
  54. package/dist/node/permissions/_internal/checkLicense.js +21 -15
  55. package/dist/node/permissions/_internal/checkLicense.js.map +1 -1
  56. package/dist/node/permissions/_internal/checkOwner.js.map +1 -1
  57. package/dist/node/permissions/_internal/checkPrivileges.js +19 -15
  58. package/dist/node/permissions/_internal/checkPrivileges.js.map +1 -1
  59. package/dist/node/permissions/_internal/getPolicyResponseCode.js +34 -16
  60. package/dist/node/permissions/_internal/getPolicyResponseCode.js.map +1 -1
  61. package/dist/node/permissions/checkPermission.js +3 -2
  62. package/dist/node/permissions/checkPermission.js.map +1 -1
  63. package/dist/node/permissions/types/Permission.js +5 -12
  64. package/dist/node/permissions/types/Permission.js.map +1 -1
  65. package/dist/node/projects/_internal/ProjectPermissionPolicies.js +7 -1
  66. package/dist/node/projects/_internal/ProjectPermissionPolicies.js.map +1 -1
  67. package/dist/node/projects/defaults.js +1 -0
  68. package/dist/node/projects/defaults.js.map +1 -1
  69. package/dist/node/sites/HubSites.js +10 -12
  70. package/dist/node/sites/HubSites.js.map +1 -1
  71. package/dist/node/sites/_internal/SitesPermissionPolicies.js +11 -1
  72. package/dist/node/sites/_internal/SitesPermissionPolicies.js.map +1 -1
  73. package/dist/node/sites/_internal/applyPermissionMigration.js +56 -0
  74. package/dist/node/sites/_internal/applyPermissionMigration.js.map +1 -0
  75. package/dist/types/ArcGISContext.d.ts +10 -0
  76. package/dist/types/permissions/_internal/checkAlphaGating.d.ts +10 -0
  77. package/dist/types/permissions/_internal/checkAssertion.d.ts +11 -0
  78. package/dist/types/permissions/_internal/checkAssertions.d.ts +10 -0
  79. package/dist/types/permissions/_internal/checkAuthentication.d.ts +1 -2
  80. package/dist/types/permissions/_internal/checkEdit.d.ts +1 -2
  81. package/dist/types/permissions/_internal/checkLicense.d.ts +1 -1
  82. package/dist/types/permissions/_internal/checkOwner.d.ts +1 -2
  83. package/dist/types/permissions/_internal/checkPrivileges.d.ts +1 -2
  84. package/dist/types/permissions/checkPermission.d.ts +1 -2
  85. package/dist/types/permissions/types/IAccessResponse.d.ts +5 -0
  86. package/dist/types/permissions/types/IEntityPermissionPolicy.d.ts +1 -1
  87. package/dist/types/permissions/types/IPermissionPolicy.d.ts +18 -9
  88. package/dist/types/permissions/types/Permission.d.ts +2 -2
  89. package/dist/types/permissions/types/PolicyResponse.d.ts +1 -1
  90. package/dist/types/projects/_internal/ProjectPermissionPolicies.d.ts +1 -0
  91. package/dist/types/sites/HubSites.d.ts +1 -1
  92. package/dist/types/sites/_internal/SitesPermissionPolicies.d.ts +5 -0
  93. package/dist/types/sites/_internal/applyPermissionMigration.d.ts +7 -0
  94. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectPermissionPolicies.js","sourceRoot":"","sources":["../../../../src/projects/_internal/ProjectPermissionPolicies.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACU,QAAA,yBAAyB,GAAwB;IAC5D;QACE,UAAU,EAAE,oBAAoB;QAChC,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,kBAAkB;QAC9B,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;CACF,CAAC"}
1
+ {"version":3,"file":"ProjectPermissionPolicies.js","sourceRoot":"","sources":["../../../../src/projects/_internal/ProjectPermissionPolicies.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACU,QAAA,kBAAkB,GAAG;IAChC,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;CACV,CAAC;AAEE,QAAA,yBAAyB,GAAwB;IAC5D;QACE,UAAU,EAAE,oBAAoB;QAChC,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,kBAAkB;QAC9B,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;CACF,CAAC"}
@@ -39,6 +39,7 @@ exports.DEFAULT_PROJECT_MODEL = {
39
39
  view: {
40
40
  showMap: true,
41
41
  },
42
+ permissions: [],
42
43
  },
43
44
  };
44
45
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/projects/defaults.ts"],"names":[],"mappings":";;;AAAA,kCAAwD;AAG3C,QAAA,qBAAqB,GAAG,aAAa,CAAC;AAEnD;;GAEG;AACU,QAAA,eAAe,GAAyB;IACnD,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,CAAC,aAAa,CAAC;IAC7B,MAAM,EAAE,uBAAgB,CAAC,UAAU;IACnC,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;IAC7B,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,CAAC;CACjB,CAAC;AAEF;;GAEG;AACU,QAAA,qBAAqB,GAAW;IAC3C,IAAI,EAAE;QACJ,IAAI,EAAE,6BAAqB;QAC3B,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,CAAC,aAAa,CAAC;QAC7B,UAAU,EAAE;YACV,IAAI,EAAE,EAAE;YACR,aAAa,EAAE,CAAC;SACjB;KACF;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,uBAAgB,CAAC,UAAU;QACnC,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;SACd;KACF;CACmB,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/projects/defaults.ts"],"names":[],"mappings":";;;AAAA,kCAAwD;AAG3C,QAAA,qBAAqB,GAAG,aAAa,CAAC;AAEnD;;GAEG;AACU,QAAA,eAAe,GAAyB;IACnD,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,CAAC,aAAa,CAAC;IAC7B,MAAM,EAAE,uBAAgB,CAAC,UAAU;IACnC,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;IAC7B,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,CAAC;CACjB,CAAC;AAEF;;GAEG;AACU,QAAA,qBAAqB,GAAW;IAC3C,IAAI,EAAE;QACJ,IAAI,EAAE,6BAAqB;QAC3B,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,CAAC,aAAa,CAAC;QAC7B,UAAU,EAAE;YACV,IAAI,EAAE,EAAE;YACR,aAAa,EAAE,CAAC;SACjB;KACF;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,uBAAgB,CAAC,UAAU;QACnC,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;SACd;QACD,WAAW,EAAE,EAAE;KAChB;CACmB,CAAC"}
@@ -10,6 +10,7 @@ const _internal_1 = require("./_internal");
10
10
  const _enrichments_1 = require("../items/_enrichments");
11
11
  const parseInclude_1 = require("../search/_internal/parseInclude");
12
12
  const _internal_2 = require("../content/_internal");
13
+ const applyPermissionMigration_1 = require("./_internal/applyPermissionMigration");
13
14
  exports.HUB_SITE_ITEM_TYPE = "Hub Site Application";
14
15
  exports.ENTERPRISE_SITE_ITEM_TYPE = "Site Application";
15
16
  /**
@@ -180,7 +181,7 @@ function getSitePropertyMap() {
180
181
  itemProps.forEach((entry) => {
181
182
  map.push({ objectKey: entry, modelKey: `item.${entry}` });
182
183
  });
183
- const dataProps = ["catalog", "feeds"];
184
+ const dataProps = ["catalog", "feeds", "permissions"];
184
185
  dataProps.forEach((entry) => {
185
186
  map.push({ objectKey: entry, modelKey: `data.${entry}` });
186
187
  });
@@ -374,6 +375,7 @@ exports.deleteSite = deleteSite;
374
375
  async function fetchSite(identifier, requestOptions) {
375
376
  // get the model
376
377
  const model = await fetchSiteModel_1.fetchSiteModel(identifier, requestOptions);
378
+ // convert to IHubSite
377
379
  return convertModelToSite(model, requestOptions);
378
380
  }
379
381
  exports.fetchSite = fetchSite;
@@ -384,15 +386,19 @@ exports.fetchSite = fetchSite;
384
386
  * @returns
385
387
  */
386
388
  function convertModelToSite(model, requestOptions) {
389
+ // Add permissions based on Groups
390
+ // This may get moved to a formal schema migration in the future but for now
391
+ // we can do it here as there is no ux for managing permissions yet.
392
+ const modelWithPermissions = applyPermissionMigration_1.applyPermissionMigration(model);
387
393
  // convert to site
388
394
  const mapper = new PropertyMapper_1.PropertyMapper(getSitePropertyMap());
389
- const site = mapper.modelToObject(model, {});
395
+ const site = mapper.modelToObject(modelWithPermissions, {});
390
396
  let token;
391
397
  if (requestOptions.authentication) {
392
398
  const us = requestOptions.authentication;
393
399
  token = us.token;
394
400
  }
395
- site.thumbnailUrl = index_1.getItemThumbnailUrl(model.item, requestOptions, token);
401
+ site.thumbnailUrl = index_1.getItemThumbnailUrl(modelWithPermissions.item, requestOptions, token);
396
402
  return site;
397
403
  }
398
404
  exports.convertModelToSite = convertModelToSite;
@@ -405,15 +411,7 @@ exports.convertModelToSite = convertModelToSite;
405
411
  */
406
412
  async function convertItemToSite(item, requestOptions) {
407
413
  const model = await index_1.fetchModelFromItem(item, requestOptions);
408
- const mapper = new PropertyMapper_1.PropertyMapper(getSitePropertyMap());
409
- let token;
410
- if (requestOptions.authentication) {
411
- const session = requestOptions.authentication;
412
- token = session.token;
413
- }
414
- const site = mapper.modelToObject(model, {});
415
- site.thumbnailUrl = index_1.getItemThumbnailUrl(model.item, requestOptions, token);
416
- return site;
414
+ return convertModelToSite(model, requestOptions);
417
415
  }
418
416
  exports.convertItemToSite = convertItemToSite;
419
417
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"HubSites.js","sourceRoot":"","sources":["../../../src/sites/HubSites.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubSites.js","sourceRoot":"","sources":["../../../src/sites/HubSites.ts"],"names":[],"mappings":";;;AACA,iEAA+E;AAE/E,oCA0BkB;AAElB,oDAAoD;AACpD,qDAAkD;AAClD,qEAAgF;AAChF,2CAAkD;AAElD,wDAA6D;AAC7D,mEAAgE;AAChE,oDAAyD;AACzD,mFAAgF;AAEnE,QAAA,kBAAkB,GAAG,sBAAsB,CAAC;AAC5C,QAAA,yBAAyB,GAAG,kBAAkB,CAAC;AAE5D;;GAEG;AACH,MAAM,YAAY,GAAsB;IACtC,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC;IACrD,YAAY,EAAE;QACZ,cAAc;QACd,OAAO;QACP,SAAS;QACT,eAAe;QACf,iBAAiB;QACjB,kBAAkB;QAClB,YAAY;QACZ,UAAU;QACV,iBAAiB;QACjB,WAAW;QACX,eAAe;KAChB;IACD,OAAO,EAAE;QACP,aAAa,EAAE,CAAC;KACjB;IACD,SAAS,EAAE,EAAE;IACb,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE,EAAE;IAClB,QAAQ,EAAE,EAAE;IACZ,GAAG,EAAE,IAAI;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,IAAI;IACX,YAAY,EAAE;QACZ,aAAa,EAAE;YACb,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;YACT,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;SACf;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,kBAAkB,GAAW;IACjC,IAAI,EAAE;QACJ,6CAA6C;QAC7C,sCAAsC;QACtC,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC;QACrD,UAAU,EAAE;YACV,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,EAAE;YACb,eAAe,EAAE,EAAE;YACnB,cAAc,EAAE,EAAE;YAClB,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,GAAG;SACnB;QACD,GAAG,EAAE,EAAE;KACC;IACV,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,MAAM,EAAE,EAAE;SACX;QACD,KAAK,EAAE,EAAE;QACT,MAAM,EAAE;YACN,KAAK,EAAE,EAAE;YACT,eAAe,EAAE,EAAE;YACnB,cAAc,EAAE,EAAE;YAClB,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,EAAE;YACZ,GAAG,EAAE;gBACH,QAAQ,EAAE,EAAE;aACb;YACD,aAAa,EAAE,EAAE;YACjB,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;YACT,MAAM,EAAE;gBACN,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE;oBACN,SAAS,EAAE;wBACT,IAAI,EAAE,aAAa;wBACnB,QAAQ,EAAE;4BACR,SAAS,EAAE,KAAK;4BAChB,YAAY,EAAE,OAAO;4BACrB,SAAS,EAAE,EAAE;4BACb,KAAK,EAAE,EAAE;4BACT,OAAO,EAAE,EAAE;4BACX,KAAK,EAAE,cAAc;4BACrB,QAAQ,EAAE,EAAE;4BACZ,UAAU,EAAE,SAAS;4BACrB,aAAa,EAAE,CAAC;4BAChB,QAAQ,EAAE,IAAI;4BACd,SAAS,EAAE,IAAI;4BACf,IAAI,EAAE;gCACJ,OAAO,EAAE,EAAE;gCACX,KAAK,EAAE,OAAO;6BACf;4BACD,UAAU,EAAE,EAAE;4BACd,SAAS,EAAE,EAAE;4BACb,WAAW,EAAE;gCACX,QAAQ,EAAE,EAAE;gCACZ,OAAO,EAAE,EAAE;gCACX,SAAS,EAAE,EAAE;gCACb,OAAO,EAAE,EAAE;6BACZ;yBACF;qBACF;oBACD,UAAU,EAAE,KAAK;iBAClB;gBACD,MAAM,EAAE;oBACN,SAAS,EAAE;wBACT,IAAI,EAAE,aAAa;wBACnB,QAAQ,EAAE;4BACR,UAAU,EAAE,MAAM;4BAClB,QAAQ,EAAE,EAAE;4BACZ,aAAa,EAAE,GAAG;yBACnB;qBACF;oBACD,UAAU,EAAE,KAAK;iBAClB;aACF;YACD,YAAY,EAAE;gBACZ,aAAa,EAAE;oBACb,GAAG,EAAE,IAAI;oBACT,GAAG,EAAE,IAAI;oBACT,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,IAAI;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF;;;;;;;GAOG;AACH,SAAS,kBAAkB;IACzB,MAAM,SAAS,GAAG;QAChB,SAAS;QACT,SAAS;QACT,aAAa;QACb,QAAQ;QACR,IAAI;QACJ,UAAU;QACV,OAAO;QACP,SAAS;QACT,MAAM;QACN,cAAc;QACd,KAAK;QACL,MAAM;QACN,QAAQ;KACT,CAAC;IAEF,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,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IACtD,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,MAAM,UAAU,GAAG;QACjB,OAAO;QACP,OAAO;QACP,cAAc;QACd,WAAW;QACX,iBAAiB;QACjB,gBAAgB;QAChB,UAAU;QACV,eAAe;QACf,KAAK;QACL,WAAW;QACX,YAAY;KACb,CAAC;IACF,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,KAAK,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,2BAA2B;IAC3B,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,sBAAsB;KACjC,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,OAAO,GAAG,CAAC;AACb,CAAC;AAED,4CAA4C;AAE5C;;;;;;GAMG;AACI,KAAK,UAAU,UAAU,CAC9B,WAA8B,EAC9B,cAAkC;IAElC,MAAM,IAAI,mCAAQ,YAAY,GAAK,WAAW,CAAE,CAAC;IACjD,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC;IACzC,0DAA0D;IAC1D,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,QAAQ;QACjC,CAAC,CAAC,iCAAyB;QAC3B,CAAC,CAAC,0BAAkB,CAAC;IACvB,uDAAuD;IACvD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QACd,IAAI,CAAC,IAAI,GAAG,qBAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KACtD;IACD,yBAAyB;IACzB,wEAAwE;IACxE,uBAAuB;IACvB,IAAI,CAAC,YAAY,GAAG,sBAAc,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;QACnB,IAAI,CAAC,SAAS,GAAG,eAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACrC;IAED,IAAI,CAAC,SAAS,GAAG,MAAM,8BAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAE9E,UAAU;IACV,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;QAC5B,uEAAuE;QACvE,IAAI,CAAC,eAAe,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,IAAI,qBAAa,CACxE,oBAAY,CAAC,cAAc,CAAC,CAC7B,EAAE,CAAC;QAEJ,cAAc;QACd,IAAI,CAAC,GAAG,GAAG,WACT,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,eACnD,EAAE,CAAC;KACJ;SAAM;QACL,kDAAkD;QAClD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,GAAG,GAAG,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CACxD,eAAe,EACf,aAAa,CACd,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;KACzB;IAED,gEAAgE;IAChE,yEAAyE;IACzE,uEAAuE;IACvE,uCAAuC;IAEvC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IAE/B,8BAA8B;IAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;QACf,IAAI,CAAC,KAAK,GAAG,0BAAkB,CAAC,MAAM,CAAC,CAAC;KACzC;IAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;QACvB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;KAC3C;IAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;QACjB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;KAC/B;IACD,mCAAmC;IACnC,IAAI,CAAC,eAAO,CAAC,IAAI,EAAE,sBAAsB,CAAC,EAAE;QAC1C,eAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;KAC9D;IACD,gCAAgC;IAChC,IAAI,CAAC,eAAO,CAAC,IAAI,EAAE,wCAAwC,CAAC,EAAE;QAC5D,eAAO,CAAC,wCAAwC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACpE;IAED,0CAA0C;IAC1C,MAAM,MAAM,GAAG,IAAI,+BAAc,CAAoB,kBAAkB,EAAE,CAAC,CAAC;IAC3E,IAAI,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,mBAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACxE,0BAA0B;IAC1B,KAAK,GAAG,MAAM,mBAAW,CACvB,KAAK,EACL,cAAgD,CACjD,CAAC;IAEF,qBAAqB;IACrB,MAAM,YAAY,GAAG,MAAM,iCAAyB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC;IAEpD,mBAAmB;IACnB,MAAM,sBAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAE5C,mBAAmB;IACnB,MAAM,YAAY,GAAG,MAAM,mBAAW,CACpC,KAAK,EACL,cAAgD,CACjD,CAAC;IAEF,+CAA+C;IAC/C,OAAO,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,CAAa,CAAC;AAC5D,CAAC;AAjGD,gCAiGC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,UAAU,CAC9B,IAAc,EACd,cAAkC;IAElC,iEAAiE;IACjE,4BAA4B;IAC5B,MAAM,MAAM,GAAG,IAAI,+BAAc,CAAW,kBAAkB,EAAE,CAAC,CAAC;IAClE,kEAAkE;IAClE,iEAAiE;IACjE,gBAAgB;IAChB,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CACvC,IAAI,EACJ,mBAAW,CAAC,kBAAkB,CAAC,CAChC,CAAC;IACF,sCAAsC;IACtC,MAAM,YAAY,GAAG,MAAM,gBAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAC7D,4BAA4B;IAC5B,MAAM,+BAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAEtE,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;QAC3E,0BAA0B;QAC1B,YAAY,CAAC,IAAI,CAAC,YAAY,GAAG,sBAAc,CAC7C,YAAY,CAAC,IAAI,CAAC,YAAY,EAC9B,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAClC,CAAC;KACH;IAED,gDAAgD;IAChD,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC9D,mBAAmB;IACnB,MAAM,gBAAgB,GAAG,MAAM,mBAAW,CACxC,YAAY,EACZ,cAA6C,CAC9C,CAAC;IACF,sBAAsB;IACtB,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACjE,OAAO,WAAW,CAAC;AACrB,CAAC;AArCD,gCAqCC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,WAAW,CAC/B,EAAU,EACV,cAAkC;IAElC,sCAAsC;IACtC,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAClE,OAAO,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;AACxC,CAAC;AAPD,kCAOC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,UAAU,CAC9B,EAAU,EACV,cAAkC;IAElC,4DAA4D;IAC5D,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;QAC5B,MAAM,6BAAqB,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;KACjD;IACD,6BAA6B;IAC7B,MAAM,EAAE,GAAG,gCAAK,cAAc,GAAK,EAAE,EAAE,EAAE,CAAsB,CAAC;IAChE,MAAM,+BAAU,CAAC,EAAE,CAAC,CAAC;IACrB,OAAO;AACT,CAAC;AAZD,gCAYC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,SAAS,CAC7B,UAAkB,EAClB,cAAkC;IAElC,gBAAgB;IAChB,MAAM,KAAK,GAAG,MAAM,+BAAc,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC/D,sBAAsB;IACtB,OAAO,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACnD,CAAC;AARD,8BAQC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAChC,KAAa,EACb,cAA+B;IAE/B,kCAAkC;IAClC,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,oBAAoB,GAAG,mDAAwB,CAAC,KAAK,CAAC,CAAC;IAC7D,kBAAkB;IAClB,MAAM,MAAM,GAAG,IAAI,+BAAc,CAAoB,kBAAkB,EAAE,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,oBAAoB,EAAE,EAAE,CAAa,CAAC;IACxE,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,EAAE,GAAgB,cAAc,CAAC,cAA6B,CAAC;QACrE,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;KAClB;IAED,IAAI,CAAC,YAAY,GAAG,2BAAmB,CACrC,oBAAoB,CAAC,IAAI,EACzB,cAAc,EACd,KAAK,CACN,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAvBD,gDAuBC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,iBAAiB,CACrC,IAAW,EACX,cAA+B;IAE/B,MAAM,KAAK,GAAG,MAAM,0BAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7D,OAAO,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACnD,CAAC;AAND,8CAMC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,sBAAsB,CAC1C,IAAW,EACX,OAAiB,EACjB,cAAkC;IAElC,6BAA6B;IAC7B,MAAM,MAAM,GAAqB;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,KAAK;QAChB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW;QACzC,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,iBAAiB,EAAE,cAAc;QACjC,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACpC,iBAAiB,EAAE,eAAe;QAClC,MAAM,EAAE,iBAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,iBAAiB;YAC/B,SAAS,EAAE,iBAAiB;SAC7B;KACF,CAAC;IAEF,mBAAmB;IACnB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,iBAAiB;IACjB,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,cAAM,CAAC,CAAC;IACnD,qDAAqD;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,2BAAY,CAAC,CAAC;IACxC,+CAA+C;IAC/C,MAAM,WAAW,GAAG,aAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,cAAM,CAAC,CAAC;IAC9D,wBAAwB;IACxB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,WAAW,CAAC,MAAM,EAAE;QACtB,mEAAmE;QACnE,QAAQ,GAAG,MAAM,mCAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;KAC1E;IAED,yCAAyC;IACzC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,eAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,eAAe;IACf,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,2BAAmB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACnE,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;IAC7B,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,6BAAiB,CAC3C,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,EAAE,EACT,IAAI,CAAC,YAAY,CAClB,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AA1DD,wDA0DC"}
@@ -1,6 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SitesPermissionPolicies = void 0;
3
+ exports.SitesPermissionPolicies = exports.SitePermissions = void 0;
4
+ /**
5
+ * Site Permissions
6
+ * This feeds into the Permissions type
7
+ */
8
+ exports.SitePermissions = [
9
+ "hub:site:create",
10
+ "hub:site:delete",
11
+ "hub:site:edit",
12
+ "hub:site:view",
13
+ ];
4
14
  /**
5
15
  * Site permission policies
6
16
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"SitesPermissionPolicies.js","sourceRoot":"","sources":["../../../../src/sites/_internal/SitesPermissionPolicies.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACU,QAAA,uBAAuB,GAAwB;IAC1D;QACE,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;QACtC,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;QAC1D,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;CACF,CAAC"}
1
+ {"version":3,"file":"SitesPermissionPolicies.js","sourceRoot":"","sources":["../../../../src/sites/_internal/SitesPermissionPolicies.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACU,QAAA,eAAe,GAAG;IAC7B,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,eAAe;CACP,CAAC;AAEX;;;GAGG;AACU,QAAA,uBAAuB,GAAwB;IAC1D;QACE,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;QACtC,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;QAC1D,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;CACF,CAAC"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyPermissionMigration = void 0;
4
+ const index_1 = require("../../index");
5
+ /**
6
+ * Informal migration that creates default permission policies based on the
7
+ * Content and Collaboration Groups
8
+ * @param model
9
+ */
10
+ function applyPermissionMigration(model) {
11
+ // TODO: Once we formalize the permission mapping we need to
12
+ // bump the current schema version, and add it here so this gets
13
+ // applied once and then never again.
14
+ // const PERMISSION_SCHEMA_VERSION = 1.6
15
+ // if (
16
+ // getProp(model, "item.properties.schemaVersion") >= PERMISSION_SCHEMA_VERSION
17
+ // )
18
+ // return model;
19
+ const clone = index_1.cloneObject(model);
20
+ clone.data.permissions = clone.data.permissions || [];
21
+ const permissionMigrations = [
22
+ // Per discussion with @jaydev on 2022-12-01 we are going to
23
+ // allow content team members to create projects in the context
24
+ // of a site
25
+ {
26
+ prop: "item.properties.contentGroupId",
27
+ type: "group",
28
+ permissions: ["hub:project:create"],
29
+ },
30
+ {
31
+ prop: "item.owner",
32
+ type: "user",
33
+ permissions: ["hub:site:delete"],
34
+ },
35
+ ];
36
+ permissionMigrations.forEach((defn) => {
37
+ const value = index_1.getProp(clone, defn.prop);
38
+ if (value) {
39
+ defn.permissions.forEach((permission) => {
40
+ const present = clone.data.permissions.find((p) => p.permission === permission && p.collaborationId === value);
41
+ if (!present) {
42
+ clone.data.permissions.push({
43
+ permission,
44
+ collaborationType: defn.type,
45
+ collaborationId: value,
46
+ });
47
+ }
48
+ });
49
+ }
50
+ });
51
+ // TODO: Uncomment when we formalize the schema version this applies to
52
+ // clone.item.properties.schemaVersion = PERMISSION_SCHEMA_VERSION;
53
+ return clone;
54
+ }
55
+ exports.applyPermissionMigration = applyPermissionMigration;
56
+ //# sourceMappingURL=applyPermissionMigration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyPermissionMigration.js","sourceRoot":"","sources":["../../../../src/sites/_internal/applyPermissionMigration.ts"],"names":[],"mappings":";;;AAAA,uCAOqB;AAErB;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,KAAa;IACpD,4DAA4D;IAC5D,gEAAgE;IAChE,qCAAqC;IACrC,wCAAwC;IACxC,OAAO;IACP,iFAAiF;IACjF,IAAI;IACJ,kBAAkB;IAElB,MAAM,KAAK,GAAG,mBAAW,CAAC,KAAK,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IACtD,MAAM,oBAAoB,GAAG;QAC3B,4DAA4D;QAC5D,+DAA+D;QAC/D,YAAY;QACZ;YACE,IAAI,EAAE,gCAAgC;YACtC,IAAI,EAAE,OAA4B;YAClC,WAAW,EAAE,CAAC,oBAAoB,CAAiB;SACpD;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,MAA2B;YACjC,WAAW,EAAE,CAAC,iBAAiB,CAAiB;SACjD;KACF,CAAC;IAEF,oBAAoB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACpC,MAAM,KAAK,GAAG,eAAO,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAsB,EAAE,EAAE;gBAClD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CACzC,CAAC,CAA0B,EAAE,EAAE,CAC7B,CAAC,CAAC,UAAU,KAAK,UAAU,IAAI,CAAC,CAAC,eAAe,KAAK,KAAK,CAC7D,CAAC;gBACF,IAAI,CAAC,OAAO,EAAE;oBACZ,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;wBAC1B,UAAU;wBACV,iBAAiB,EAAE,IAAI,CAAC,IAAI;wBAC5B,eAAe,EAAE,KAAK;qBACvB,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IACH,uEAAuE;IACvE,mEAAmE;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AAjDD,4DAiDC"}
@@ -138,6 +138,11 @@ export interface IArcGISContext {
138
138
  * System status
139
139
  */
140
140
  systemStatus: HubSystemStatus;
141
+ /**
142
+ * Is this user in a Hub Alpha org?
143
+ * Derived from properties.alphaOrgs
144
+ */
145
+ isAlphaOrg: boolean;
141
146
  }
142
147
  /**
143
148
  * Options for the ArcGISContext constructor
@@ -227,6 +232,11 @@ export declare class ArcGISContext implements IArcGISContext {
227
232
  * Return boolean indicating if authenticatio is present
228
233
  */
229
234
  get isAuthenticated(): boolean;
235
+ /**
236
+ * Is the users org in the alpha orgs list?
237
+ * Alpha orgs are passed in via properties.alphaOrgs
238
+ */
239
+ get isAlphaOrg(): boolean;
230
240
  /**
231
241
  * Return `IUserRequestOptions`, which is used for REST-JS
232
242
  * functions which require authentication information.
@@ -0,0 +1,10 @@
1
+ import { IArcGISContext } from "../../ArcGISContext";
2
+ import { IPermissionPolicy, IPolicyCheck } from "../types";
3
+ /**
4
+ * Validate entityOwner policy
5
+ * @param policy
6
+ * @param context
7
+ * @param entity
8
+ * @returns
9
+ */
10
+ export declare function checkAlphaGating(policy: IPermissionPolicy, context: IArcGISContext, entity?: Record<string, any>): IPolicyCheck[];
@@ -0,0 +1,11 @@
1
+ import { IArcGISContext } from "../../ArcGISContext";
2
+ import { IPolicyAssertion, IPolicyCheck } from "../types";
3
+ /**
4
+ * Check a specific EntityAssertion
5
+ * Exported purely for testing. Not exported from the package.
6
+ * @param assertion
7
+ * @param entity
8
+ * @param context
9
+ * @returns
10
+ */
11
+ export declare function checkAssertion(assertion: IPolicyAssertion, entity: Record<string, any>, context: IArcGISContext): IPolicyCheck;
@@ -0,0 +1,10 @@
1
+ import { IArcGISContext } from "../../ArcGISContext";
2
+ import { IPermissionPolicy, IPolicyCheck } from "../types";
3
+ /**
4
+ * Validate entityOwner policy
5
+ * @param policy
6
+ * @param context
7
+ * @param entity
8
+ * @returns
9
+ */
10
+ export declare function checkAssertions(policy: IPermissionPolicy, context: IArcGISContext, entity?: Record<string, any>): IPolicyCheck[];
@@ -1,5 +1,4 @@
1
1
  import { IArcGISContext } from "../../ArcGISContext";
2
- import { HubEntity } from "../../core";
3
2
  import { IPermissionPolicy, IPolicyCheck } from "../types";
4
3
  /**
5
4
  * Validate authentication policy
@@ -8,4 +7,4 @@ import { IPermissionPolicy, IPolicyCheck } from "../types";
8
7
  * @param entity
9
8
  * @returns
10
9
  */
11
- export declare function checkAuthentication(policy: IPermissionPolicy, context: IArcGISContext, entity?: HubEntity): IPolicyCheck[];
10
+ export declare function checkAuthentication(policy: IPermissionPolicy, context: IArcGISContext, entity?: Record<string, any>): IPolicyCheck[];
@@ -1,5 +1,4 @@
1
1
  import { IArcGISContext } from "../../ArcGISContext";
2
- import { HubEntity } from "../../core";
3
2
  import { IPermissionPolicy, IPolicyCheck } from "../types";
4
3
  /**
5
4
  * Validate entityEdit policy
@@ -8,4 +7,4 @@ import { IPermissionPolicy, IPolicyCheck } from "../types";
8
7
  * @param entity
9
8
  * @returns
10
9
  */
11
- export declare function checkEdit(policy: IPermissionPolicy, context: IArcGISContext, entity?: HubEntity): IPolicyCheck[];
10
+ export declare function checkEdit(policy: IPermissionPolicy, context: IArcGISContext, entity?: Record<string, any>): IPolicyCheck[];
@@ -7,4 +7,4 @@ import { IPermissionPolicy, IPolicyCheck } from "../types";
7
7
  * @param context
8
8
  * @returns
9
9
  */
10
- export declare function checkLicense(policy: IPermissionPolicy, context: IArcGISContext): IPolicyCheck[];
10
+ export declare function checkLicense(policy: IPermissionPolicy, context: IArcGISContext, entity?: Record<string, any>): IPolicyCheck[];
@@ -1,5 +1,4 @@
1
1
  import { IArcGISContext } from "../../ArcGISContext";
2
- import { HubEntity } from "../../core";
3
2
  import { IPermissionPolicy, IPolicyCheck } from "../types";
4
3
  /**
5
4
  * Validate entityOwner policy
@@ -8,4 +7,4 @@ import { IPermissionPolicy, IPolicyCheck } from "../types";
8
7
  * @param entity
9
8
  * @returns
10
9
  */
11
- export declare function checkOwner(policy: IPermissionPolicy, context: IArcGISContext, entity?: HubEntity): IPolicyCheck[];
10
+ export declare function checkOwner(policy: IPermissionPolicy, context: IArcGISContext, entity?: Record<string, any>): IPolicyCheck[];
@@ -1,5 +1,4 @@
1
1
  import { IArcGISContext } from "../../ArcGISContext";
2
- import { HubEntity } from "../../core";
3
2
  import { IPermissionPolicy, IPolicyCheck } from "../types";
4
3
  /**
5
4
  * Validate privilege policy
@@ -8,4 +7,4 @@ import { IPermissionPolicy, IPolicyCheck } from "../types";
8
7
  * @param entity
9
8
  * @returns
10
9
  */
11
- export declare function checkPrivileges(policy: IPermissionPolicy, context: IArcGISContext, entity?: HubEntity): IPolicyCheck[];
10
+ export declare function checkPrivileges(policy: IPermissionPolicy, context: IArcGISContext, entity?: Record<string, any>): IPolicyCheck[];
@@ -1,5 +1,4 @@
1
1
  import { IArcGISContext } from "../ArcGISContext";
2
- import { HubEntity } from "../core";
3
2
  import { IAccessResponse, Permission } from "./types";
4
3
  /**
5
4
  * Check a permission against the system policies, and possibly an entity policy
@@ -8,4 +7,4 @@ import { IAccessResponse, Permission } from "./types";
8
7
  * @param entity
9
8
  * @returns
10
9
  */
11
- export declare function checkPermission(permission: Permission, context: IArcGISContext, entity?: HubEntity): IAccessResponse;
10
+ export declare function checkPermission(permission: Permission, context: IArcGISContext, entity?: Record<string, any>): IAccessResponse;
@@ -21,6 +21,11 @@ export interface IAccessResponse {
21
21
  * Reason for the access response
22
22
  */
23
23
  response: PolicyResponse;
24
+ /**
25
+ * Message with details access response. Typically used to return additional
26
+ * information about assertion failures
27
+ */
28
+ message?: string;
24
29
  /**
25
30
  * List of all the policies that were checked, and their responses
26
31
  * For debugging / observability
@@ -19,4 +19,4 @@ export interface IEntityPermissionPolicy {
19
19
  /**
20
20
  * Type of collaboration set. Used when associating a permission with a set of collaborators
21
21
  */
22
- export declare type CollaborationType = "user" | "group" | "group-admin" | "org";
22
+ export declare type CollaborationType = "user" | "group" | "group-admin" | "org" | "authenticated" | "anonymous";
@@ -20,29 +20,38 @@ export interface IPermissionPolicy {
20
20
  /**
21
21
  * Must the user authenticated?
22
22
  */
23
- authenticated: boolean;
23
+ authenticated?: boolean;
24
24
  /**
25
25
  * What licenses are required for this permission to be granted.
26
26
  * This is checking the licese of the current user's org. It is not transitive to the entity being accessed.
27
27
  * e.g. If a user is in a Partner "hub-basic" org, they can not create "premium" entities (e.g. Projects)
28
28
  */
29
- licenses: HubLicense[];
29
+ licenses?: HubLicense[];
30
30
  /**
31
31
  * Any platform level privileges required for this permission to be granted
32
32
  * e.g. "portal:user:createItem"
33
33
  */
34
34
  privileges?: PlatformPrivilege[];
35
35
  /**
36
- * Does the user need to be in a specific platform role to be granted this permission?
37
- * This is likely extremely rare.
38
- */
39
- roles?: string[];
40
- /**
41
- * Does the user require edit access to the entity to be granted this permission?
36
+ * Is the user an owner of the entity being accessed?
42
37
  */
43
38
  entityEdit?: boolean;
44
39
  /**
45
- * Does the user need to be the owner of the entity to be granted this permission?
40
+ * Must the user be the owner of the entity being accessed?
46
41
  */
47
42
  entityOwner?: boolean;
43
+ /**
44
+ * Is this gated to alpha orgs?
45
+ */
46
+ alpha?: boolean;
47
+ /**
48
+ * More complex policies can be defined with a set of assertions
49
+ */
50
+ assertions?: IPolicyAssertion[];
51
+ }
52
+ export interface IPolicyAssertion {
53
+ property: string;
54
+ type: AssertionType;
55
+ value: any;
48
56
  }
57
+ export declare type AssertionType = "eq" | "neq" | "gt" | "lt" | "contains" | "contains-all" | "without" | "included-in" | "is-group-admin" | "is-group-member" | "is-group-owner";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Defines the values for Permissions
3
- * Note: This needs to be managed as a single list or typechecking does not work
4
- * We use an array so we can check for valid permissions
3
+ * It's critical that the arrays defined in the modules use `as const`
4
+ * otherwise Permission devolves into just a string type
5
5
  */
6
6
  declare const validPermissions: readonly ["hub:site:create", "hub:site:delete", "hub:site:edit", "hub:site:view", "hub:project:create", "hub:project:delete", "hub:project:edit", "hub:project:view"];
7
7
  /**
@@ -1,4 +1,4 @@
1
1
  /**`
2
2
  * Human readable response from a policy check
3
3
  */
4
- export declare type PolicyResponse = "granted" | "org-member" | "not-org-member" | "group-member" | "not-group-member" | "not-group-admin" | "is-user" | "not-owner" | "not-licensed" | "not-licensed-available" | "not-available" | "not-granted" | "no-edit-access" | "invalid-permission" | "privilege-required" | "system-offline" | "system-maintenance" | "entity-required" | "not-authenticated";
4
+ export declare type PolicyResponse = "granted" | "org-member" | "not-org-member" | "group-member" | "not-group-member" | "not-group-admin" | "is-user" | "not-owner" | "not-licensed" | "not-licensed-available" | "not-available" | "not-granted" | "no-edit-access" | "edit-access" | "invalid-permission" | "privilege-required" | "system-offline" | "system-maintenance" | "entity-required" | "not-authenticated" | "not-alpha-org" | "property-missing" | "property-not-array" | "array-contains-invalid-value" | "array-missing-required-value" | "property-mismatch" | "user-not-group-member" | "user-not-group-manager" | "user-not-group-owner" | "assertion-property-not-found" | "assertion-failed" | "assertion-requires-numeric-values" | "property-match";
@@ -4,4 +4,5 @@ import { IPermissionPolicy } from "../../permissions/types";
4
4
  * These define the requirements any user must meet to perform related actions
5
5
  * @private
6
6
  */
7
+ export declare const ProjectPermissions: readonly ["hub:project:create", "hub:project:delete", "hub:project:edit", "hub:project:view"];
7
8
  export declare const ProjectPermissionPolicies: IPermissionPolicy[];
@@ -57,7 +57,7 @@ export declare function fetchSite(identifier: string, requestOptions: IHubReques
57
57
  * @param requestOptions
58
58
  * @returns
59
59
  */
60
- export declare function convertModelToSite(model: IModel, requestOptions: IHubRequestOptions): IHubSite;
60
+ export declare function convertModelToSite(model: IModel, requestOptions: IRequestOptions): IHubSite;
61
61
  /**
62
62
  * Convert a Hub Site Application item into a Hub Site, fetching any
63
63
  * additional information that may be required
@@ -1,4 +1,9 @@
1
1
  import { IPermissionPolicy } from "../../permissions/types";
2
+ /**
3
+ * Site Permissions
4
+ * This feeds into the Permissions type
5
+ */
6
+ export declare const SitePermissions: readonly ["hub:site:create", "hub:site:delete", "hub:site:edit", "hub:site:view"];
2
7
  /**
3
8
  * Site permission policies
4
9
  * @private
@@ -0,0 +1,7 @@
1
+ import { IModel } from "../../index";
2
+ /**
3
+ * Informal migration that creates default permission policies based on the
4
+ * Content and Collaboration Groups
5
+ * @param model
6
+ */
7
+ export declare function applyPermissionMigration(model: IModel): IModel;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "12.0.0-alpha.1",
3
+ "version": "12.0.0-alpha.2",
4
4
  "description": "Common TypeScript types and utility functions for @esri/hub.js.",
5
5
  "main": "dist/node/index.js",
6
6
  "module": "dist/esm/index.js",