diff --git a/internal/http/services/owncloud/ocs/conversions/role.go b/internal/http/services/owncloud/ocs/conversions/role.go index e7a97b4ddd6..b4f83eb20f4 100644 --- a/internal/http/services/owncloud/ocs/conversions/role.go +++ b/internal/http/services/owncloud/ocs/conversions/role.go @@ -105,7 +105,10 @@ func (r *Role) WebDAVPermissions(isDir, isShared, isMountpoint, isPublic bool) s fmt.Fprintf(&b, "D") // TODO oc10 shows received shares as deletable } if r.ocsPermissions.Contain(PermissionWrite) { - fmt.Fprintf(&b, "NV") + // Single file public link shares cannot be renamed + if !isPublic || (isPublic && r.cS3ResourcePermissions.Move) { + fmt.Fprintf(&b, "NV") + } if !isDir { fmt.Fprintf(&b, "W") } diff --git a/internal/http/services/owncloud/ocs/data/capabilities.go b/internal/http/services/owncloud/ocs/data/capabilities.go index 134f5720d86..f619adb2154 100644 --- a/internal/http/services/owncloud/ocs/data/capabilities.go +++ b/internal/http/services/owncloud/ocs/data/capabilities.go @@ -168,6 +168,7 @@ type CapabilitiesFilesSharingPublic struct { SupportsUploadOnly ocsBool `json:"supports_upload_only" xml:"supports_upload_only" mapstructure:"supports_upload_only"` Password *CapabilitiesFilesSharingPublicPassword `json:"password" xml:"password"` ExpireDate *CapabilitiesFilesSharingPublicExpireDate `json:"expire_date" xml:"expire_date" mapstructure:"expire_date"` + CanEdit ocsBool `json:"can_edit" xml:"can_edit" mapstructure:"can_edit"` } // CapabilitiesFilesSharingPublicPassword TODO document