Refactor code structure for improved readability and maintainability
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user