refactor: rename Announcement.Write to Announcement.ReadWrite

The permission gates reading the full announcement state (including
disabled ones) as well as writing it, so name it ReadWrite to match the
other management permissions (Accounts.ReadWrite, Settings.ReadWrite, ...)
and use the READWRITE operation.
This commit is contained in:
Dominik Schmidt committed 2026-07-29 08:40:29 +02:00
1 parent 809d32c4d8
commit e29d961be3
3 files changed
+11 -11

No files matched your search

@@ -80,7 +80,7 @@ func ServiceAccountBundle() *settingsmsg.Bundle {
},
Settings: []*settingsmsg.Setting{
AccountManagementPermission(All),
AnnouncementWritePermission(All),
AnnouncementReadWritePermission(All),
ChangeLogoPermission(All),
CollaborationPublishNotificationPermission(All),
CollaborationManageFontsPermission(All),
@@ -118,7 +118,7 @@ func generateBundleAdminRole() *settingsmsg.Bundle {
},
Settings: []*settingsmsg.Setting{
AccountManagementPermission(All),
AnnouncementWritePermission(All),
AnnouncementReadWritePermission(All),
AutoAcceptSharesPermission(Own),
ChangeLogoPermission(All),
CollaborationPublishNotificationPermission(All),
@@ -29,19 +29,19 @@ func AccountManagementPermission(c settingsmsg.Permission_Constraint) *settingsm
}
}
// AnnouncementWritePermission is the permission to manage the web announcement banner
func AnnouncementWritePermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
// AnnouncementReadWritePermission is the permission to read and manage the web announcement banner
func AnnouncementReadWritePermission(c settingsmsg.Permission_Constraint) *settingsmsg.Setting {
return &settingsmsg.Setting{
Id: "52b1994b-1bdb-4c8d-a887-1967dbe8cb11",
Name: "Announcement.Write",
Name: "Announcement.ReadWrite",
DisplayName: "Manage announcement",
Description: "This permission permits to manage the announcement banner shown to all users.",
Description: "This permission permits to read and manage the announcement banner shown to all users.",
Resource: &settingsmsg.Resource{
Type: settingsmsg.Resource_TYPE_SYSTEM,
},
Value: &settingsmsg.Setting_PermissionValue{
PermissionValue: &settingsmsg.Permission{
Operation: settingsmsg.Permission_OPERATION_WRITE,
Operation: settingsmsg.Permission_OPERATION_READWRITE,
Constraint: c,
},
},
+4 -4
View File
@@ -13,8 +13,8 @@ import (
"github.com/opencloud-eu/reva/v2/pkg/rgrpc/todo/pool"
)
// _writePermission is the settings permission required to manage the announcement.
const _writePermission = "Announcement.Write"
// _permission is the settings permission required to read and manage the announcement.
const _permission = "Announcement.ReadWrite"
// _maxBodySize caps the announcement request body. The info text is Markdown and ends up in
// the public config.json that every client loads on bootstrap, so it must stay small.
@@ -83,7 +83,7 @@ func (s Service) Get(w http.ResponseWriter, r *http.Request) {
return
}
rsp, err := gatewayClient.CheckPermission(r.Context(), &permissionsapi.CheckPermissionRequest{
Permission: _writePermission,
Permission: _permission,
SubjectRef: &permissionsapi.SubjectReference{
Spec: &permissionsapi.SubjectReference_UserId{
UserId: user.GetId(),
@@ -125,7 +125,7 @@ func (s Service) Set(w http.ResponseWriter, r *http.Request) {
return
}
rsp, err := gatewayClient.CheckPermission(r.Context(), &permissionsapi.CheckPermissionRequest{
Permission: _writePermission,
Permission: _permission,
SubjectRef: &permissionsapi.SubjectReference{
Spec: &permissionsapi.SubjectReference_UserId{
UserId: user.GetId(),