41 lines
928 B
Python
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] = []
|