From 90bcd44e0ac19c826e5b7a91fff5687ccd822ee5 Mon Sep 17 00:00:00 2001 From: msramalho <19508417+msramalho@users.noreply.github.com> Date: Thu, 6 Feb 2025 20:11:58 +0000 Subject: [PATCH] default group needs to be considered explicitly --- src/db/user_state.py | 2 +- src/shared/user_groups.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/db/user_state.py b/src/db/user_state.py index 5b81a15..9ae3135 100644 --- a/src/db/user_state.py +++ b/src/db/user_state.py @@ -44,7 +44,7 @@ class UserState: @property def user_groups_names(self): if not hasattr(self, '_user_groups_names'): - self._user_groups_names = crud.get_user_groups(self.email) + self._user_groups_names = crud.get_user_groups(self.email) + ["default"] return self._user_groups_names @property diff --git a/src/shared/user_groups.py b/src/shared/user_groups.py index a846439..5d8a1ce 100644 --- a/src/shared/user_groups.py +++ b/src/shared/user_groups.py @@ -65,6 +65,13 @@ class GroupPermissions(BaseModel): raise ValueError("priority must be either 'low' or 'high'.") return v + @field_validator('read', mode='before') + def validate_priority(cls, v): + if type(v) == list: + if "default" in v: + raise ValueError("The 'default' group is not used for archive permissions, please remove it.") + return v + class GroupModel(BaseModel): description: str