27 lines
668 B
Python
27 lines
668 B
Python
from pydantic import BaseModel, EmailStr, Field
|
|
|
|
|
|
class RegisterRequest(BaseModel):
|
|
name: str = Field(min_length=2, max_length=160)
|
|
email: EmailStr
|
|
password: str = Field(min_length=10, max_length=128)
|
|
|
|
|
|
class LoginRequest(BaseModel):
|
|
email: EmailStr
|
|
password: str = Field(min_length=1, max_length=128)
|
|
|
|
|
|
class SetPasswordRequest(BaseModel):
|
|
password: str = Field(min_length=10, max_length=128)
|
|
current_password: str | None = Field(default=None, max_length=128)
|
|
|
|
|
|
class UserResponse(BaseModel):
|
|
id: str
|
|
email: EmailStr
|
|
name: str
|
|
avatar_url: str | None
|
|
email_verified: bool
|
|
has_password: bool
|
|
providers: list[str]
|