44 lines
990 B
Python
44 lines
990 B
Python
from pydantic import BaseModel
|
|
from typing import List, Optional
|
|
|
|
|
|
# --- Request / Response schemas ---
|
|
|
|
class UserCreate(BaseModel):
|
|
email: str = ""
|
|
display_name: str = ""
|
|
photo_url: str = ""
|
|
uid: str = ""
|
|
phone_number: str = ""
|
|
status: str = ""
|
|
bio: str = ""
|
|
userTitle: str = ""
|
|
settingsPIN: str = ""
|
|
quickSettingsPIN: str = ""
|
|
|
|
|
|
class UserUpdate(BaseModel):
|
|
email: Optional[str] = None
|
|
display_name: Optional[str] = None
|
|
photo_url: Optional[str] = None
|
|
phone_number: Optional[str] = None
|
|
status: Optional[str] = None
|
|
bio: Optional[str] = None
|
|
userTitle: Optional[str] = None
|
|
settingsPIN: Optional[str] = None
|
|
quickSettingsPIN: Optional[str] = None
|
|
|
|
|
|
class UserInDB(UserCreate):
|
|
id: str
|
|
created_time: str = ""
|
|
lastActive: str = ""
|
|
createdAt: str = ""
|
|
friendsList: List[str] = []
|
|
friendsInvited: List[str] = []
|
|
|
|
|
|
class UserListResponse(BaseModel):
|
|
users: List[UserInDB]
|
|
total: int
|