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