JSON WEBTOKENS!!

This commit is contained in:
2026-04-26 16:24:29 -06:00
parent 30efa0e098
commit 0e85231bae
12 changed files with 628 additions and 13 deletions

View File

@@ -1,4 +1,4 @@
from pydantic import BaseModel
from pydantic import BaseModel, Field
from datetime import datetime
from typing import Optional
@@ -7,6 +7,10 @@ class UserCreateRequest(BaseModel):
nombre: str
apellido: str
email: str
contraseña: Optional[str] = Field(
default=None,
description="Contraseña del usuario. Si no se proporciona, se usa 'passwd123' por defecto"
)
fecha_nacimiento: datetime
url_foto_perfil: Optional[str] = None
biografia: Optional[str] = None
@@ -18,6 +22,18 @@ class UserUpdateRequest(BaseModel):
url_foto_perfil: Optional[str] = None
biografia: Optional[str] = None
class UserLoginRequest(BaseModel):
"""Solicitud para login de usuario"""
email: str = Field(..., description="Email del usuario")
contraseña: str = Field(..., description="Contraseña del usuario")
class UserLoginResponse(BaseModel):
"""Respuesta de login con token JWT"""
access_token: str = Field(..., description="Token JWT de acceso")
token_type: str = Field(default="bearer", description="Tipo de token")
user_id: int = Field(..., description="ID del usuario")
email: str = Field(..., description="Email del usuario")
class UserResponse(BaseModel):
"""Respuesta con datos de usuario"""
user_id: int
@@ -33,3 +49,4 @@ class UserResponse(BaseModel):
class Config:
from_attributes = True