mirror of
http://88.130.71.182:3000/BlitTech/badoHair_be.git
synced 2026-06-12 23:23:22 +00:00
Initial Commit
This commit is contained in:
50
app/models/auth.py
Normal file
50
app/models/auth.py
Normal file
@@ -0,0 +1,50 @@
|
||||
from pydantic import BaseModel, EmailStr, Field
|
||||
|
||||
|
||||
class RegisterRequest(BaseModel):
|
||||
email: EmailStr
|
||||
password: str = Field(min_length=8)
|
||||
# Accept either `name` (frontend) or `full_name`
|
||||
name: str | None = Field(None, min_length=2, max_length=100)
|
||||
full_name: str | None = Field(None, min_length=2, max_length=100)
|
||||
phone: str | None = None
|
||||
|
||||
def resolved_name(self) -> str:
|
||||
return self.name or self.full_name or ""
|
||||
|
||||
|
||||
class LoginRequest(BaseModel):
|
||||
email: EmailStr
|
||||
password: str
|
||||
|
||||
|
||||
class TokenResponse(BaseModel):
|
||||
access_token: str
|
||||
refresh_token: str
|
||||
token_type: str = "bearer"
|
||||
expires_in: int
|
||||
|
||||
|
||||
class RefreshRequest(BaseModel):
|
||||
refresh_token: str
|
||||
|
||||
|
||||
class ForgotPasswordRequest(BaseModel):
|
||||
email: EmailStr
|
||||
|
||||
|
||||
class ResetPasswordRequest(BaseModel):
|
||||
new_password: str = Field(min_length=8)
|
||||
|
||||
|
||||
class ProfileOut(BaseModel):
|
||||
id: str
|
||||
email: str
|
||||
full_name: str | None = None
|
||||
phone: str | None = None
|
||||
role: str
|
||||
|
||||
|
||||
class UpdateProfileRequest(BaseModel):
|
||||
full_name: str | None = Field(None, min_length=2, max_length=100)
|
||||
phone: str | None = None
|
||||
Reference in New Issue
Block a user