🗒️ Descripción
Implementar los DTOs (Data Transfer Objects) necesarios para manejar las solicitudes y respuestas del microservicio de autenticación, junto con un Mapper que permita convertir entre las entidades del dominio (AuthUser) y los DTOs de entrada/salida.
Esto permitirá mantener una arquitectura limpia, desacoplando la capa de presentación (API) de la lógica interna del modelo, y facilitando la validación y transformación de datos.
🎯 Objetivo
Garantizar que el intercambio de datos entre cliente y servidor sea seguro, claro y mantenible, reduciendo el acoplamiento entre capas.
🔧 Tareas
- Crear los siguientes DTOs:
RegisterRequest: para recibir datos de registro (email, password, etc.).
LoginRequest: para iniciar sesión con email y contraseña.
AuthUserResponse: para devolver datos no sensibles del usuario (id, email, fecha de creación).
- Implementar un
AuthUserMapper (con MapStruct o manualmente) que convierta entre:
RegisterRequest → AuthUser
AuthUser → AuthUserResponse
- Añadir validaciones básicas en los DTOs (ej.
@Email, @NotBlank, @Size).
- Crear pruebas unitarias del mapper para asegurar la conversión correcta.
✔️ Criterios de aceptación
- [Happy path] Los DTOs permiten registrar y loguear un usuario correctamente.
- [Not happy path] Si los datos no cumplen las validaciones, se lanza error 400 con mensaje descriptivo.
- [Edge case 1] El mapper transforma correctamente entidades con campos nulos.
- [Edge case 2] El
AuthUserResponse nunca devuelve datos sensibles (contraseña o tokens).
🗒️ Descripción
Implementar los DTOs (Data Transfer Objects) necesarios para manejar las solicitudes y respuestas del microservicio de autenticación, junto con un Mapper que permita convertir entre las entidades del dominio (
AuthUser) y los DTOs de entrada/salida.Esto permitirá mantener una arquitectura limpia, desacoplando la capa de presentación (API) de la lógica interna del modelo, y facilitando la validación y transformación de datos.
🎯 Objetivo
Garantizar que el intercambio de datos entre cliente y servidor sea seguro, claro y mantenible, reduciendo el acoplamiento entre capas.
🔧 Tareas
RegisterRequest: para recibir datos de registro (email, password, etc.).LoginRequest: para iniciar sesión con email y contraseña.AuthUserResponse: para devolver datos no sensibles del usuario (id, email, fecha de creación).AuthUserMapper(con MapStruct o manualmente) que convierta entre:RegisterRequest→AuthUserAuthUser→AuthUserResponse@Email,@NotBlank,@Size).✔️ Criterios de aceptación
AuthUserResponsenunca devuelve datos sensibles (contraseña o tokens).