@webiny/shared-aco 6.3.0-beta.4 → 6.4.0-beta.0

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/constants.js CHANGED
@@ -1,3 +1,4 @@
1
- export const ROOT_FOLDER = "root";
1
+ const ROOT_FOLDER = "root";
2
+ export { ROOT_FOLDER };
2
3
 
3
4
  //# sourceMappingURL=constants.js.map
package/constants.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["ROOT_FOLDER"],"sources":["constants.ts"],"sourcesContent":["export const ROOT_FOLDER = \"root\";\n"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG,MAAM","ignoreList":[]}
1
+ {"version":3,"file":"constants.js","sources":["../src/constants.ts"],"sourcesContent":["export const ROOT_FOLDER = \"root\";\n"],"names":["ROOT_FOLDER"],"mappings":"AAAO,MAAMA,cAAc"}
package/flp/Path.js CHANGED
@@ -1,11 +1,10 @@
1
1
  import { ROOT_FOLDER } from "../constants.js";
2
- export class Path {
3
- static create(slug, parentPath) {
4
- if (parentPath) {
5
- return `${parentPath}/${slug}`;
2
+ class Path {
3
+ static create(slug, parentPath) {
4
+ if (parentPath) return `${parentPath}/${slug}`;
5
+ return `${ROOT_FOLDER}/${slug}`;
6
6
  }
7
- return `${ROOT_FOLDER}/${slug}`;
8
- }
9
7
  }
8
+ export { Path };
10
9
 
11
10
  //# sourceMappingURL=Path.js.map
package/flp/Path.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["ROOT_FOLDER","Path","create","slug","parentPath"],"sources":["Path.ts"],"sourcesContent":["import { ROOT_FOLDER } from \"~/constants.js\";\n\nexport class Path {\n static create(slug: string, parentPath?: string) {\n if (parentPath) {\n return `${parentPath}/${slug}`;\n }\n\n return `${ROOT_FOLDER}/${slug}`;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW;AAEpB,OAAO,MAAMC,IAAI,CAAC;EACd,OAAOC,MAAMA,CAACC,IAAY,EAAEC,UAAmB,EAAE;IAC7C,IAAIA,UAAU,EAAE;MACZ,OAAO,GAAGA,UAAU,IAAID,IAAI,EAAE;IAClC;IAEA,OAAO,GAAGH,WAAW,IAAIG,IAAI,EAAE;EACnC;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"flp/Path.js","sources":["../../src/flp/Path.ts"],"sourcesContent":["import { ROOT_FOLDER } from \"~/constants.js\";\n\nexport class Path {\n static create(slug: string, parentPath?: string) {\n if (parentPath) {\n return `${parentPath}/${slug}`;\n }\n\n return `${ROOT_FOLDER}/${slug}`;\n }\n}\n"],"names":["Path","slug","parentPath","ROOT_FOLDER"],"mappings":";AAEO,MAAMA;IACT,OAAO,OAAOC,IAAY,EAAEC,UAAmB,EAAE;QAC7C,IAAIA,YACA,OAAO,GAAGA,WAAW,CAAC,EAAED,MAAM;QAGlC,OAAO,GAAGE,YAAY,CAAC,EAAEF,MAAM;IACnC;AACJ"}
@@ -1,40 +1,33 @@
1
- export class Permissions {
2
- static create(permissions, parentFlp) {
3
- const parentFolderPermissions = parentFlp?.permissions || [];
4
- const currentFolderPermissions = permissions?.filter(p => p.inheritedFrom !== `parent:${parentFlp?.id}`) || [];
5
- if (!parentFolderPermissions.length) {
6
- return currentFolderPermissions;
7
- }
8
-
9
- // Merge parent and current folder permissions:
10
- // - current folder permissions take precedence over parent permissions
11
- // - only if parent permission's level is set to `no-access`, then we ignore the current folder permission
12
- const permissionsInheritedFromParentFolder = [];
13
- for (const parentFolderPermission of parentFolderPermissions) {
14
- if (parentFolderPermission.level === "no-access") {
15
- permissionsInheritedFromParentFolder.push({
16
- ...parentFolderPermission,
17
- inheritedFrom: `parent:${parentFlp.id}`
1
+ class Permissions {
2
+ static create(permissions, parentFlp) {
3
+ const parentFolderPermissions = parentFlp?.permissions || [];
4
+ const currentFolderPermissions = permissions?.filter((p)=>p.inheritedFrom !== `parent:${parentFlp?.id}`) || [];
5
+ if (!parentFolderPermissions.length) return currentFolderPermissions;
6
+ const permissionsInheritedFromParentFolder = [];
7
+ for (const parentFolderPermission of parentFolderPermissions){
8
+ if ("no-access" === parentFolderPermission.level) {
9
+ permissionsInheritedFromParentFolder.push({
10
+ ...parentFolderPermission,
11
+ inheritedFrom: `parent:${parentFlp.id}`
12
+ });
13
+ continue;
14
+ }
15
+ const currentFolderHasOverridePermission = currentFolderPermissions.some((permission)=>permission.target === parentFolderPermission.target);
16
+ if (!currentFolderHasOverridePermission) permissionsInheritedFromParentFolder.push({
17
+ ...parentFolderPermission,
18
+ inheritedFrom: `parent:${parentFlp.id}`
19
+ });
20
+ }
21
+ const applicableCurrentFolderPermissions = currentFolderPermissions.filter((permission)=>{
22
+ const alreadyInInheritedPermissions = permissionsInheritedFromParentFolder.some((p)=>p.target === permission.target);
23
+ return !alreadyInInheritedPermissions;
18
24
  });
19
- continue;
20
- }
21
- const currentFolderHasOverridePermission = currentFolderPermissions.some(permission => permission.target === parentFolderPermission.target);
22
- if (currentFolderHasOverridePermission) {
23
- continue;
24
- }
25
- permissionsInheritedFromParentFolder.push({
26
- ...parentFolderPermission,
27
- inheritedFrom: `parent:${parentFlp.id}`
28
- });
25
+ return [
26
+ ...applicableCurrentFolderPermissions,
27
+ ...permissionsInheritedFromParentFolder
28
+ ];
29
29
  }
30
-
31
- // Add current folder permissions that are not present in the parent folder permissions.
32
- const applicableCurrentFolderPermissions = currentFolderPermissions.filter(permission => {
33
- const alreadyInInheritedPermissions = permissionsInheritedFromParentFolder.some(p => p.target === permission.target);
34
- return !alreadyInInheritedPermissions;
35
- });
36
- return [...applicableCurrentFolderPermissions, ...permissionsInheritedFromParentFolder];
37
- }
38
30
  }
31
+ export { Permissions };
39
32
 
40
33
  //# sourceMappingURL=Permissions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Permissions","create","permissions","parentFlp","parentFolderPermissions","currentFolderPermissions","filter","p","inheritedFrom","id","length","permissionsInheritedFromParentFolder","parentFolderPermission","level","push","currentFolderHasOverridePermission","some","permission","target","applicableCurrentFolderPermissions","alreadyInInheritedPermissions"],"sources":["Permissions.ts"],"sourcesContent":["import type { FolderLevelPermission, FolderPermission } from \"~/flp/flp.types.js\";\n\nexport class Permissions {\n public static create(\n permissions?: FolderPermission[],\n parentFlp?: Pick<FolderLevelPermission, \"id\" | \"permissions\"> | null\n ): FolderPermission[] {\n const parentFolderPermissions = parentFlp?.permissions || [];\n const currentFolderPermissions =\n permissions?.filter(p => p.inheritedFrom !== `parent:${parentFlp?.id}`) || [];\n\n if (!parentFolderPermissions.length) {\n return currentFolderPermissions;\n }\n\n // Merge parent and current folder permissions:\n // - current folder permissions take precedence over parent permissions\n // - only if parent permission's level is set to `no-access`, then we ignore the current folder permission\n const permissionsInheritedFromParentFolder: FolderPermission[] = [];\n\n for (const parentFolderPermission of parentFolderPermissions) {\n if (parentFolderPermission.level === \"no-access\") {\n permissionsInheritedFromParentFolder.push({\n ...parentFolderPermission,\n inheritedFrom: `parent:${parentFlp!.id}`\n });\n continue;\n }\n\n const currentFolderHasOverridePermission = currentFolderPermissions.some(\n permission => permission.target === parentFolderPermission.target\n );\n\n if (currentFolderHasOverridePermission) {\n continue;\n }\n\n permissionsInheritedFromParentFolder.push({\n ...parentFolderPermission,\n inheritedFrom: `parent:${parentFlp!.id}`\n });\n }\n\n // Add current folder permissions that are not present in the parent folder permissions.\n const applicableCurrentFolderPermissions = currentFolderPermissions.filter(permission => {\n const alreadyInInheritedPermissions = permissionsInheritedFromParentFolder.some(\n p => p.target === permission.target\n );\n\n return !alreadyInInheritedPermissions;\n });\n\n return [...applicableCurrentFolderPermissions, ...permissionsInheritedFromParentFolder];\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,WAAW,CAAC;EACrB,OAAcC,MAAMA,CAChBC,WAAgC,EAChCC,SAAoE,EAClD;IAClB,MAAMC,uBAAuB,GAAGD,SAAS,EAAED,WAAW,IAAI,EAAE;IAC5D,MAAMG,wBAAwB,GAC1BH,WAAW,EAAEI,MAAM,CAACC,CAAC,IAAIA,CAAC,CAACC,aAAa,KAAK,UAAUL,SAAS,EAAEM,EAAE,EAAE,CAAC,IAAI,EAAE;IAEjF,IAAI,CAACL,uBAAuB,CAACM,MAAM,EAAE;MACjC,OAAOL,wBAAwB;IACnC;;IAEA;IACA;IACA;IACA,MAAMM,oCAAwD,GAAG,EAAE;IAEnE,KAAK,MAAMC,sBAAsB,IAAIR,uBAAuB,EAAE;MAC1D,IAAIQ,sBAAsB,CAACC,KAAK,KAAK,WAAW,EAAE;QAC9CF,oCAAoC,CAACG,IAAI,CAAC;UACtC,GAAGF,sBAAsB;UACzBJ,aAAa,EAAE,UAAUL,SAAS,CAAEM,EAAE;QAC1C,CAAC,CAAC;QACF;MACJ;MAEA,MAAMM,kCAAkC,GAAGV,wBAAwB,CAACW,IAAI,CACpEC,UAAU,IAAIA,UAAU,CAACC,MAAM,KAAKN,sBAAsB,CAACM,MAC/D,CAAC;MAED,IAAIH,kCAAkC,EAAE;QACpC;MACJ;MAEAJ,oCAAoC,CAACG,IAAI,CAAC;QACtC,GAAGF,sBAAsB;QACzBJ,aAAa,EAAE,UAAUL,SAAS,CAAEM,EAAE;MAC1C,CAAC,CAAC;IACN;;IAEA;IACA,MAAMU,kCAAkC,GAAGd,wBAAwB,CAACC,MAAM,CAACW,UAAU,IAAI;MACrF,MAAMG,6BAA6B,GAAGT,oCAAoC,CAACK,IAAI,CAC3ET,CAAC,IAAIA,CAAC,CAACW,MAAM,KAAKD,UAAU,CAACC,MACjC,CAAC;MAED,OAAO,CAACE,6BAA6B;IACzC,CAAC,CAAC;IAEF,OAAO,CAAC,GAAGD,kCAAkC,EAAE,GAAGR,oCAAoC,CAAC;EAC3F;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"flp/Permissions.js","sources":["../../src/flp/Permissions.ts"],"sourcesContent":["import type { FolderLevelPermission, FolderPermission } from \"~/flp/flp.types.js\";\n\nexport class Permissions {\n public static create(\n permissions?: FolderPermission[],\n parentFlp?: Pick<FolderLevelPermission, \"id\" | \"permissions\"> | null\n ): FolderPermission[] {\n const parentFolderPermissions = parentFlp?.permissions || [];\n const currentFolderPermissions =\n permissions?.filter(p => p.inheritedFrom !== `parent:${parentFlp?.id}`) || [];\n\n if (!parentFolderPermissions.length) {\n return currentFolderPermissions;\n }\n\n // Merge parent and current folder permissions:\n // - current folder permissions take precedence over parent permissions\n // - only if parent permission's level is set to `no-access`, then we ignore the current folder permission\n const permissionsInheritedFromParentFolder: FolderPermission[] = [];\n\n for (const parentFolderPermission of parentFolderPermissions) {\n if (parentFolderPermission.level === \"no-access\") {\n permissionsInheritedFromParentFolder.push({\n ...parentFolderPermission,\n inheritedFrom: `parent:${parentFlp!.id}`\n });\n continue;\n }\n\n const currentFolderHasOverridePermission = currentFolderPermissions.some(\n permission => permission.target === parentFolderPermission.target\n );\n\n if (currentFolderHasOverridePermission) {\n continue;\n }\n\n permissionsInheritedFromParentFolder.push({\n ...parentFolderPermission,\n inheritedFrom: `parent:${parentFlp!.id}`\n });\n }\n\n // Add current folder permissions that are not present in the parent folder permissions.\n const applicableCurrentFolderPermissions = currentFolderPermissions.filter(permission => {\n const alreadyInInheritedPermissions = permissionsInheritedFromParentFolder.some(\n p => p.target === permission.target\n );\n\n return !alreadyInInheritedPermissions;\n });\n\n return [...applicableCurrentFolderPermissions, ...permissionsInheritedFromParentFolder];\n }\n}\n"],"names":["Permissions","permissions","parentFlp","parentFolderPermissions","currentFolderPermissions","p","permissionsInheritedFromParentFolder","parentFolderPermission","currentFolderHasOverridePermission","permission","applicableCurrentFolderPermissions","alreadyInInheritedPermissions"],"mappings":"AAEO,MAAMA;IACT,OAAc,OACVC,WAAgC,EAChCC,SAAoE,EAClD;QAClB,MAAMC,0BAA0BD,WAAW,eAAe,EAAE;QAC5D,MAAME,2BACFH,aAAa,OAAOI,CAAAA,IAAKA,EAAE,aAAa,KAAK,CAAC,OAAO,EAAEH,WAAW,IAAI,KAAK,EAAE;QAEjF,IAAI,CAACC,wBAAwB,MAAM,EAC/B,OAAOC;QAMX,MAAME,uCAA2D,EAAE;QAEnE,KAAK,MAAMC,0BAA0BJ,wBAAyB;YAC1D,IAAII,AAAiC,gBAAjCA,uBAAuB,KAAK,EAAkB;gBAC9CD,qCAAqC,IAAI,CAAC;oBACtC,GAAGC,sBAAsB;oBACzB,eAAe,CAAC,OAAO,EAAEL,UAAW,EAAE,EAAE;gBAC5C;gBACA;YACJ;YAEA,MAAMM,qCAAqCJ,yBAAyB,IAAI,CACpEK,CAAAA,aAAcA,WAAW,MAAM,KAAKF,uBAAuB,MAAM;YAGrE,KAAIC,oCAIJF,qCAAqC,IAAI,CAAC;gBACtC,GAAGC,sBAAsB;gBACzB,eAAe,CAAC,OAAO,EAAEL,UAAW,EAAE,EAAE;YAC5C;QACJ;QAGA,MAAMQ,qCAAqCN,yBAAyB,MAAM,CAACK,CAAAA;YACvE,MAAME,gCAAgCL,qCAAqC,IAAI,CAC3ED,CAAAA,IAAKA,EAAE,MAAM,KAAKI,WAAW,MAAM;YAGvC,OAAO,CAACE;QACZ;QAEA,OAAO;eAAID;eAAuCJ;SAAqC;IAC3F;AACJ"}
package/flp/flp.types.js CHANGED
@@ -1,3 +0,0 @@
1
- export {};
2
-
3
- //# sourceMappingURL=flp.types.js.map
package/flp/index.js CHANGED
@@ -1,4 +1,2 @@
1
1
  export * from "./Path.js";
2
2
  export * from "./Permissions.js";
3
-
4
- //# sourceMappingURL=index.js.map
package/index.js CHANGED
@@ -1,4 +1,2 @@
1
1
  export * from "./flp/index.js";
2
2
  export * from "./constants.js";
3
-
4
- //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/shared-aco",
3
- "version": "6.3.0-beta.4",
3
+ "version": "6.4.0-beta.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./index.js",
@@ -22,8 +22,8 @@
22
22
  "directory": "dist"
23
23
  },
24
24
  "devDependencies": {
25
- "@webiny/build-tools": "6.3.0-beta.4",
25
+ "@webiny/build-tools": "6.4.0-beta.0",
26
26
  "typescript": "6.0.3"
27
27
  },
28
- "gitHead": "7cefe15431dbd65504e1f58147dc9e55bcbfa693"
28
+ "gitHead": "a545d7529828af07d08d49c3da1bcb967483b9ce"
29
29
  }
package/types.js CHANGED
@@ -1,3 +1 @@
1
1
  export * from "./flp/flp.types.js";
2
-
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["flp.types.ts"],"sourcesContent":["export type FolderAccessLevel = \"owner\" | \"viewer\" | \"editor\" | \"public\" | \"no-access\";\n\nexport interface FolderPermission {\n target: `admin:${string}` | `team:${string}`;\n level: FolderAccessLevel;\n inheritedFrom?: string;\n}\n\nexport interface FolderLevelPermission {\n id: string;\n parentId: string;\n slug: string;\n path: string;\n permissions: FolderPermission[];\n type: string;\n}\n"],"mappings":"","ignoreList":[]}
package/flp/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./Path.js\";\nexport * from \"./Permissions.js\";\n"],"mappings":"AAAA;AACA","ignoreList":[]}
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./flp/index.js\";\nexport * from \"./constants.js\";\n"],"mappings":"AAAA;AACA","ignoreList":[]}
package/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export * from \"./flp/flp.types.js\";\n"],"mappings":"AAAA","ignoreList":[]}