@oondemand/oon-core-back 0.4.20 → 0.4.21

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oondemand/oon-core-back",
3
- "version": "0.4.20",
3
+ "version": "0.4.21",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/oondemand/oon-platform.git",
@@ -14,7 +14,7 @@ const SUPPORTED_MODULES = Object.freeze([
14
14
  ]);
15
15
  const SUPPORTED_TENANCY_MODELS = Object.freeze(["none", "single_tenant", "multi_tenant"]);
16
16
  const SUPPORTED_AVAILABILITIES = Object.freeze(["system", "common", "licensed"]);
17
- const SUPPORTED_ACCESS_MODES = Object.freeze(["tenant_members", "explicit_users"]);
17
+ const SUPPORTED_ACCESS_MODES = Object.freeze(["tenant_members", "explicit_users", "authenticated_users"]);
18
18
  const SUPPORTED_AUTHORIZATION_MODES = Object.freeze(["none", "rbac"]);
19
19
  // Compatibilidade de leitura para manifestos anteriores à separação das duas dimensões.
20
20
  const SUPPORTED_ACCESS_POLICIES = Object.freeze(["tenant_members", "explicit_users", "rbac"]);
@@ -264,6 +264,23 @@ function validateAppManifest(input, { coreVersion = corePackage.version } = {})
264
264
  if (dimensions.tenancyModel === "none" && dimensions.accessMode === "tenant_members") {
265
265
  addIssue(issues, "accessMode", "tenant_members exige uma aplicação tenant-aware.");
266
266
  }
267
+ if (dimensions.accessMode === "authenticated_users") {
268
+ if (dimensions.tenancyModel !== "none") {
269
+ addIssue(issues, "tenancyModel", "authenticated_users exige tenancyModel=none.");
270
+ }
271
+ if (dimensions.availability !== "common") {
272
+ addIssue(issues, "availability", "authenticated_users exige availability=common.");
273
+ }
274
+ if (dimensions.authorizationMode !== "rbac") {
275
+ addIssue(issues, "authorizationMode", "authenticated_users exige authorizationMode=rbac.");
276
+ }
277
+ if (dimensions.deploymentMode !== "singleton") {
278
+ addIssue(issues, "deploymentMode", "authenticated_users exige deploymentMode=singleton.");
279
+ }
280
+ }
281
+ if (dimensions.tenancyModel === "single_tenant" && dimensions.deploymentMode === "shared") {
282
+ addIssue(issues, "deploymentMode", "single_tenant não pode usar deploymentMode=shared; use dedicated.");
283
+ }
267
284
  if (!isPlainObject(input.modules)) {
268
285
  addIssue(issues, "modules", "deve ser um objeto.");
269
286
  } else {