@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 +2 -1
- package/constants.js.map +1 -1
- package/flp/Path.js +5 -6
- package/flp/Path.js.map +1 -1
- package/flp/Permissions.js +28 -35
- package/flp/Permissions.js.map +1 -1
- package/flp/flp.types.js +0 -3
- package/flp/index.js +0 -2
- package/index.js +0 -2
- package/package.json +3 -3
- package/types.js +0 -2
- package/flp/flp.types.js.map +0 -1
- package/flp/index.js.map +0 -1
- package/index.js.map +0 -1
- package/types.js.map +0 -1
package/constants.js
CHANGED
package/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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,"
|
|
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"}
|
package/flp/Permissions.js
CHANGED
|
@@ -1,40 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
package/flp/Permissions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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
package/flp/index.js
CHANGED
package/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/shared-aco",
|
|
3
|
-
"version": "6.
|
|
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.
|
|
25
|
+
"@webiny/build-tools": "6.4.0-beta.0",
|
|
26
26
|
"typescript": "6.0.3"
|
|
27
27
|
},
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "a545d7529828af07d08d49c3da1bcb967483b9ce"
|
|
29
29
|
}
|
package/types.js
CHANGED
package/flp/flp.types.js.map
DELETED
|
@@ -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":[]}
|