Direcciones - bootcamp-uchile-2026/grupo-2-backend GitHub Wiki
Direcciones
Funcionalidad
Permite al usuario autenticado consultar, agregar y eliminar las direcciones de envío asociadas a su cuenta.
Objetivo
Proporcionar al usuario la capacidad de consultar y gestionar las direcciones de envío asociadas a su cuenta.
Responsabilidad del Backend
El backend deberá:
- Entregar al usuario autenticado las direcciones de envío asociadas a su cuenta.
- Validar y almacenar nuevas direcciones proporcionadas por el usuario.
- Permitir la eliminación de direcciones pertenecientes al usuario autenticado.
- Verificar que las operaciones sobre direcciones correspondan exclusivamente al usuario autenticado.
Contrato de API
Endpoint asociado:
DELETE /usuarios/me/direcciones/{direccionId}
DTO de entrada:
DTO de salida:
La definición completa del método HTTP, query parameters y respuestas se encuentra centralizada en Endpoints.
La estructura completa de los datos devueltos se encuentra centralizada en DTOs.
Reglas de negocio
- El usuario debe estar autenticado para consultar, agregar o eliminar direcciones.
- Cada dirección debe estar asociada a un único usuario.
- Una dirección debe contener, como mínimo, calle/dirección, número, comuna y ciudad.
- Un usuario podrá almacenar como máximo 3 direcciones.
- Un usuario solo podrá consultar y eliminar sus propias direcciones.
- No se podrá agregar una nueva dirección cuando el usuario ya tenga 3 direcciones almacenadas.
Relación con Página de Mi Cuenta
flowchart TD
A[Cuenta de Usuario] --> B[Direcciones]
B --> C[Consultar direcciones]
B --> D[Agregar dirección]
B --> E[Eliminar dirección]
C --> F[GET /usuarios/me/direcciones]
D --> G[POST /usuarios/me/direcciones]
E --> H[DELETE /usuarios/me/direcciones/:direccionId]
F --> I[DireccionDto]
G -->|Body| J[DireccionNuevaDto]
J --> K[Dirección agregada]
H --> L[Dirección eliminada]