mirror of
https://codeberg.org/shroff/phylum.git
synced 2026-01-01 17:19:34 -06:00
[server] Do not allow moving root directory
This commit is contained in:
@@ -17,17 +17,15 @@ type copySrcDest struct {
|
||||
|
||||
func (r Resource) Move(target string, conflictResolution ResourceBindConflictResolution) (Resource, bool, error) {
|
||||
// Check source directory permissions
|
||||
if !r.f.fullAccess {
|
||||
if !r.ParentID().Valid {
|
||||
return Resource{}, false, ErrInsufficientPermissions
|
||||
}
|
||||
parent, err := r.f.ResourceByID(r.ParentID().Bytes)
|
||||
if err != nil {
|
||||
return Resource{}, false, err
|
||||
}
|
||||
if !parent.hasPermission(PermissionRead | PermissionWrite) {
|
||||
return Resource{}, false, ErrInsufficientPermissions
|
||||
}
|
||||
if !r.ParentID().Valid {
|
||||
return Resource{}, false, ErrInsufficientPermissions
|
||||
}
|
||||
parent, err := r.f.ResourceByID(r.ParentID().Bytes)
|
||||
if err != nil {
|
||||
return Resource{}, false, err
|
||||
}
|
||||
if !parent.hasPermission(PermissionRead | PermissionWrite) {
|
||||
return Resource{}, false, ErrInsufficientPermissions
|
||||
}
|
||||
|
||||
// Check destParent directory permissions (if applicable)
|
||||
|
||||
Reference in New Issue
Block a user