finai/backend/app/schemas/user.py

41 lines
928 B
Python

from datetime import datetime
from pydantic import BaseModel, Field
class UserCreate(BaseModel):
phone: str = Field(min_length=6, max_length=32)
name: str = Field(min_length=1, max_length=80)
department: str | None = None
unit_id: int | None = None
role_codes: list[str] = []
is_superuser: bool = False
class UserUpdate(BaseModel):
name: str | None = None
department: str | None = None
unit_id: int | None = None
status: str | None = None
role_codes: list[str] | None = None
is_superuser: bool | None = None
class UserResponse(BaseModel):
id: int
phone: str
name: str
department: str | None
unit_id: int | None = None
unit_name: str | None = None
status: str
role_codes: list[str]
is_superuser: bool
created_at: datetime | None = None
class BulkImportResult(BaseModel):
created: int
skipped: int
errors: list[str] = []