@@ -53,25 +53,42 @@ export const createFoldersSchema = (params: CreateFolderTypeDefsParams) => {
53
53
} ,
54
54
listFoldersCompressed : async ( _ , args : any , context ) => {
55
55
return resolve ( async ( ) => {
56
+ ensureAuthentication ( context ) ;
57
+
56
58
const [ entries ] = await context . aco . folder . list ( args ) ;
59
+ const foldersPromises = entries . map ( folder => {
60
+ const { folderLevelPermissions : flp } = context . aco ;
61
+
62
+ const canManageStructure = flp . canManageFolderStructure ( folder ) ;
63
+ const canManagePermissions = flp . canManageFolderPermissions ( folder ) ;
64
+ const canManageContent = flp . canManageFolderContent ( folder ) ;
65
+ const hasNonInheritedPermissions =
66
+ flp . permissionsIncludeNonInheritedPermissions ( folder . permissions ) ;
57
67
58
- const folders = entries . map ( folder => ( {
59
- ...folder ,
60
- hasNonInheritedPermissions :
61
- context . aco . folderLevelPermissions . permissionsIncludeNonInheritedPermissions (
62
- folder . permissions
63
- ) ,
64
- canManageStructure :
65
- context . aco . folderLevelPermissions . canManageFolderStructure ( folder ) ,
66
- canManagePermissions :
67
- context . aco . folderLevelPermissions . canManageFolderPermissions (
68
- folder
69
- ) ,
70
- canManageContent :
71
- context . aco . folderLevelPermissions . canManageFolderContent ( folder )
72
- } ) ) ;
68
+ return Promise . all ( [
69
+ canManageStructure ,
70
+ canManagePermissions ,
71
+ canManageContent ,
72
+ hasNonInheritedPermissions
73
+ ] ) . then (
74
+ ( [
75
+ canManageStructure ,
76
+ canManagePermissions ,
77
+ canManageContent ,
78
+ hasNonInheritedPermissions
79
+ ] ) => {
80
+ return {
81
+ ...folder ,
82
+ canManageStructure,
83
+ canManagePermissions,
84
+ canManageContent,
85
+ hasNonInheritedPermissions
86
+ } ;
87
+ }
88
+ ) ;
89
+ } ) ;
73
90
74
- return compress ( folders ) ;
91
+ return Promise . all ( foldersPromises ) . then ( compress ) ;
75
92
} ) ;
76
93
} ,
77
94
listFolderLevelPermissionsTargets : async ( _ , args : any , context ) => {
0 commit comments