@@ -87,15 +87,18 @@ class ACLChecker {
87
87
}
88
88
let accessDenied = aclCheck . accessDenied ( acl . graph , resource , directory , aclFile , agent , modes , agentOrigin , trustedOrigins , originTrustedModes )
89
89
90
+ function accessDeniedForAccessTo ( mode ) {
91
+ const accessDeniedAccessTo = aclCheck . accessDenied ( acl . graph , directory , null , aclFile , agent , [ ACL ( mode ) ] , agentOrigin , trustedOrigins , originTrustedModes )
92
+ const accessResult = ! accessDenied && ! accessDeniedAccessTo
93
+ accessDenied = accessResult ? false : accessDenied || accessDeniedAccessTo
94
+ // debugCache('accessDenied result ' + accessDenied)
95
+ }
90
96
// For create and update HTTP methods
91
97
if ( ( method === 'PUT' || method === 'PATCH' || method === 'COPY' ) && directory ) {
92
98
// if resource and acl have same parent container,
93
99
// and resource does not exist, then accessTo Append from parent is required
94
100
if ( directory . value === dirname ( aclFile . value ) + '/' && ! resourceExists ) {
95
- const accessDeniedAccessTo = aclCheck . accessDenied ( acl . graph , directory , null , aclFile , agent , [ ACL ( 'Append' ) ] , agentOrigin , trustedOrigins , originTrustedModes )
96
- const accessResult = ! accessDenied && ! accessDeniedAccessTo
97
- accessDenied = accessResult ? false : accessDenied || accessDeniedAccessTo
98
- // debugCache('accessDenied result ' + accessDenied)
101
+ accessDeniedForAccessTo ( 'Append' )
99
102
}
100
103
}
101
104
@@ -104,10 +107,7 @@ class ACLChecker {
104
107
// if resource and acl have same parent container,
105
108
// then accessTo Write from parent is required
106
109
if ( directory . value === dirname ( aclFile . value ) + '/' ) {
107
- const accessDeniedAccessTo = aclCheck . accessDenied ( acl . graph , directory , null , aclFile , agent , [ ACL ( 'Write' ) ] , agentOrigin , trustedOrigins , originTrustedModes )
108
- const accessResult = ! accessDenied && ! accessDeniedAccessTo
109
- accessDenied = accessResult ? false : accessDenied || accessDeniedAccessTo
110
- // debugCache('accessDenied result ' + accessDenied)
110
+ accessDeniedForAccessTo ( 'Write' )
111
111
}
112
112
}
113
113
if ( accessDenied && user ) {
0 commit comments