feat(roles): simplify roles to only Viewer, Editor, Admin

┌────────┬──────┬─────────┬────────┬────────┬───────┬────────┐
  │  Role  │ read │ comment │ create │ update │ share │ delete │
  ├────────┼──────┼─────────┼────────┼────────┼───────┼────────┤
  │ viewer │  ✓   │         │        │        │       │        │
  ├────────┼──────┼─────────┼────────┼────────┼───────┼────────┤
  │ editor │  ✓   │    ✓    │   ✓    │   ✓    │       │        │
  ├────────┼──────┼─────────┼────────┼────────┼───────┼────────┤
  │ admin  │  ✓   │    ✓    │   ✓    │   ✓    │   ✓   │   ✓    │
  └────────┴──────┴─────────┴────────┴────────┴───────┴────────┘
This commit is contained in:
Edouard Vanbelle
2026-05-24 23:06:16 +02:00
parent d64beb43a7
commit 12466d4b83
2 changed files with 11 additions and 7 deletions
+6 -2
View File
@@ -133,9 +133,9 @@ impl From<Permission> for PermissionDto {
#[serde(rename_all = "lowercase")]
pub enum Role {
Viewer,
Commenter,
//Commenter,
Editor,
Manager,
//Manager,
Admin,
}
@@ -146,13 +146,16 @@ impl Role {
pub fn expand(self) -> &'static [Permission] {
match self {
Role::Viewer => &[Permission::Read],
/* reserved for future
Role::Commenter => &[Permission::Read, Permission::Comment],
*/
Role::Editor => &[
Permission::Read,
Permission::Comment,
Permission::Create,
Permission::Update,
],
/* reserved for future
Role::Manager => &[
Permission::Read,
Permission::Comment,
@@ -160,6 +163,7 @@ impl Role {
Permission::Update,
Permission::Share,
],
*/
Role::Admin => &[
Permission::Read,
Permission::Comment,