from datetime import datetime from pydantic import BaseModel, EmailStr class UserCreate(BaseModel): email: EmailStr username: str password: str full_name: str phone: str | None = None timezone: str = "Asia/Jakarta" class UserUpdate(BaseModel): email: EmailStr | None = None username: str | None = None password: str | None = None full_name: str | None = None phone: str | None = None timezone: str | None = None status: str | None = None class UserResponse(BaseModel): id: str email: str username: str tenant_id: str | None status: str created_at: datetime class Config: from_attributes = True class UserProfileResponse(BaseModel): full_name: str phone: str | None timezone: str | None class Config: from_attributes = True class UserDetailResponse(UserResponse): profile: UserProfileResponse | None = None class LoginRequest(BaseModel): login: str password: str class LoginResponse(BaseModel): access_token: str token_type: str = "bearer" user: UserDetailResponse