| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- from pydantic import BaseModel, Field
- from typing import Optional
- from uuid import UUID
- class UserBase(BaseModel):
- name: str
- account: str
- phone: Optional[str] = None
- title: Optional[str] = None
- avatar: Optional[str] = None
- role_id: UUID
- campus_id: Optional[UUID] = None
- dept_id: Optional[UUID] = None
- status: str = Field(default="active")
- class UserCreate(UserBase):
- password: str
- class UserUpdate(BaseModel):
- name: Optional[str] = None
- phone: Optional[str] = None
- title: Optional[str] = None
- avatar: Optional[str] = None
- role_id: Optional[UUID] = None
- campus_id: Optional[UUID] = None
- dept_id: Optional[UUID] = None
- status: Optional[str] = None
- password: Optional[str] = None
- class UserResponse(UserBase):
- id: UUID
- class Config:
- from_attributes = True
- class CurrentUserResponse(UserResponse):
- permissions: list[str] = []
|