Refactor code structure for improved readability and maintainability
Some checks failed
Backend CI / lint (push) Failing after 1m29s
Backend CI / test (push) Failing after 1m36s

This commit is contained in:
JSC
2025-09-13 22:38:55 +02:00
parent 1388ede1dc
commit 92571f4de9
4 changed files with 269 additions and 121 deletions

View File

@@ -1,6 +1,6 @@
"""User schemas."""
from pydantic import BaseModel, Field
from pydantic import BaseModel, Field, field_validator
class UserUpdate(BaseModel):
@@ -15,3 +15,13 @@ class UserUpdate(BaseModel):
plan_id: int | None = Field(None, description="User plan ID")
credits: int | None = Field(None, ge=0, description="User credits")
is_active: bool | None = Field(None, description="Whether user is active")
role: str | None = Field(None, description="User role (admin or user)")
@field_validator("role")
@classmethod
def validate_role(cls, v: str | None) -> str | None:
"""Validate that role is either 'user' or 'admin'."""
if v is not None and v not in {"user", "admin"}:
msg = "Role must be either 'user' or 'admin'"
raise ValueError(msg)
return v