| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- """
- Pydantic schemas for User model.
- """
- from datetime import datetime
- from pydantic import BaseModel, EmailStr
- class UserBase(BaseModel):
- """Base user schema."""
- email: EmailStr
- full_name: str | None = None
- phone: str | None = None
- class UserCreate(UserBase):
- """Schema for creating a user."""
- password: str
- role: str = "viewer"
- organization_id: int
- class UserUpdate(BaseModel):
- """Schema for updating a user."""
- full_name: str | None = None
- phone: str | None = None
- role: str | None = None
- status: str | None = None
- notes: str | None = None
- class UserResponse(UserBase):
- """Schema for user response."""
- id: int
- role: str
- status: str
- organization_id: int | None
- email_verified: bool
- last_login_at: datetime | None
- created_at: datetime
- notes: str | None = None
- class Config:
- from_attributes = True
- class UserListResponse(BaseModel):
- """Schema for list of users."""
- users: list[UserResponse]
- total: int
|