jira-ai-fixer/app/schemas/user.py

42 lines
899 B
Python

"""User schemas."""
from datetime import datetime
from typing import Optional
from pydantic import BaseModel, EmailStr
class UserBase(BaseModel):
email: EmailStr
full_name: Optional[str] = None
class UserCreate(UserBase):
password: str
class LoginRequest(BaseModel):
email: EmailStr
password: str
class UserUpdate(BaseModel):
email: Optional[EmailStr] = None
full_name: Optional[str] = None
avatar_url: Optional[str] = None
password: Optional[str] = None
class UserRead(UserBase):
id: int
avatar_url: Optional[str] = None
is_active: bool
email_verified: bool
created_at: datetime
last_login: Optional[datetime] = None
class Config:
from_attributes = True
class Token(BaseModel):
access_token: str
refresh_token: str
token_type: str = "bearer"
class TokenData(BaseModel):
user_id: int
email: str