Files

57 lines
1.1 KiB
Python
Raw Permalink Normal View History

from pydantic import BaseModel, EmailStr, field_validator
class RegisterRequest(BaseModel):
business_name: str
business_type: str
timezone: str = "UTC"
email: EmailStr
password: str
@field_validator("password")
@classmethod
def password_strength(cls, v: str) -> str:
if len(v) < 8:
raise ValueError("La contraseña debe tener al menos 8 caracteres")
return v
@field_validator("business_name")
@classmethod
def business_name_not_empty(cls, v: str) -> str:
if not v.strip():
raise ValueError("El nombre del negocio no puede estar vacío")
return v.strip()
class TokenResponse(BaseModel):
access_token: str
token_type: str = "bearer"
class RegisterResponse(TokenResponse):
business_id: int
user_id: int
class LoginRequest(BaseModel):
email: EmailStr
password: str
class RefreshRequest(BaseModel):
access_token: str
class MetaCallbackRequest(BaseModel):
code: str
redirect_uri: str
class UserRead(BaseModel):
id: int
business_id: int
email: str
role: str
model_config = {"from_attributes": True}