This commit is contained in:
2025-08-29 00:31:56 +02:00
parent cbcf1f245b
commit 1360ccb46c
5 changed files with 114 additions and 10 deletions

View File

@@ -1,11 +1,107 @@
Autenticación y autorización
# Galerías Fotográficas - Documentación API
Endpoints de usuarios
## Autenticación y autorización
Endpoints de imágenes y colecciones
POST `/auth/login` -> Inicia sesión y devuelve un token de autenticación.
Endpoints de sesiones y feedback
POST `/auth/logout` -> Cierra sesión y revoca el token de autenticación.
Endpoints de pagos
## Endpoints de usuarios
Códigos de error y manejo de excepciones
GET `/users/` -> Obtiene la lista de usuarios.
GET `/users/{id}` -> Obtiene los detalles de un usuario específico.
POST `/users/` -> Crea un nuevo usuario. Se espera que el cuerpo de la solicitud contenga los datos del usuario.
PUT `/users/{id}` -> Actualiza los detalles de un usuario específico. Se espera que el cuerpo de la solicitud contenga los datos actualizados del usuario.
DELETE `/users/{id}` -> Elimina un usuario específico.
## Endpoints de imágenes
GET `/images/` -> Obtiene la lista de imágenes. En el body se incluirá una variable indicando si tiene que devolver las imágenes de un usuario específico o de un profesional.
POST `/images/` -> Crea una nueva imagen. Se espera que el cuerpo de la solicitud contenga los datos de la imagen, incluidos los metadatos.
GET `/images/{id}` -> Obtiene los detalles de una imagen específica. Incluye los metadatos asociados a la imagen. Según la querystring, devolverá la imagen en 360p, 720p o 1080p.
PUT `/images/{id}` -> Actualiza los detalles de una imagen específica. Se espera que el cuerpo de la solicitud contenga los datos actualizados de la imagen.
DELETE `/images/{id}` -> Elimina una imagen específica.
## Endpoints de eventos
GET `/events/` -> Obtiene la lista de eventos. En el body se incluirá una variable indicando si tiene que devolver los eventos de un usuario específico o de un profesional.
POST `/events/` -> Crea un nuevo evento. Se espera que el cuerpo de la solicitud contenga los datos del evento, incluidos los metadatos.
GET `/events/{id}` -> Obtiene los detalles de un evento específico. Incluye los metadatos asociados al evento.
PUT `/events/{id}` -> Actualiza los detalles de un evento específico. Se espera que el cuerpo de la solicitud contenga los datos actualizados del evento.
DELETE `/events/{id}` -> Elimina un evento específico.
## Endpoints de colecciones
GET `/collection/` -> Obtiene la lista de colecciones. En el body se incluirá una variable indicando si tiene que devolver las colecciones de un usuario específico o de un profesional.
POST `/collection/` -> Crea una nueva colección. Devuelve los detalles de la colección creada.
GET `/collection/{id}` -> Obtiene los detalles de una colección específica. En el body se indica el ID del usuario que la consulta, si no está relacionado con esa colección, se devolverá un error 404 (Not Found).
PUT `/collection/{id}` -> Actualiza una colección existente.
DELETE `/collection/{id}` -> Elimina una colección.
GET `/collection/{id}/images` -> Obtiene la lista de imágenes de una colección específica. Cada imagen incluirá información como el ID de la imagen, la URL de la imagen y los metadatos asociados.
POST `/collection/{id}/images` -> Crea una nueva imagen en una colección específica. Se espera que el cuerpo de la solicitud contenga los datos de la imagen, incluidos los metadatos.
GET `/collection/{id}/images/{id}` -> Obtiene los detalles de una imagen específica de una colección. Incluye los metadatos asociados a la imagen.
PUT `/collection/{id}/images/{id}` -> Actualiza los detalles de una imagen específica de una colección. Se espera que el cuerpo de la solicitud contenga los datos actualizados de la imagen.
DELETE `/collection/{id}/images/{id}` -> Elimina una imagen específica de una colección.
## Endpoints de sesiones
GET `/session/` -> Obtiene la lista de sesiones. En el body se incluirá una variable indicando si tiene que devolver las sesiones activas de un usuario específico o de un profesional.
POST `/session/` -> Crea una nueva sesión. Devuelve los detalles de la sesión creada.
GET `/session/{id}` -> Obtiene los detalles de una sesión específica. En el body se indica el ID del usuario que la consulta, si no está relacionado con esa sesión, se devolverá un error 404 (Not Found).
PUT `/session/{id}` -> Actualiza una sesión existente.
DELETE `/session/{id}` -> Elimina una sesión.
GET `/session/{id}/image/` -> Obtiene la lista de imágenes de una sesión específica. Cada imagen incluirá información como el ID de la imagen, la URL de la imagen y los metadatos asociados y el feedback asociado.
POST `/session/{sessionId}/image` -> Crea una nueva imagen en una sesión específica. Se espera que el cuerpo de la solicitud contenga los datos de la imagen, incluidos los metadatos.
GET `/session/{sessionId}/image/{imageId}` -> Obtiene los detalles de una imagen específica de una sesión. Incluye el feedback asociado a la imagen.
PUT `/session/{sessionId}/image/{imageId}` -> Actualiza los detalles de una imagen específica de una sesión. Incluye el feedback asociado a la imagen.
PATCH `/session/{sessionId}/image/{imageId}` -> Actualiza el feedback asociado a una imagen específica de una sesión.
DELETE `/session/{sessionId}/image/{imageId}` -> Elimina una imagen específica de una sesión.
GET `/session/{sessionId}/image/{imageId}/revision/{revisionId}` -> Obtiene los detalles de una revisión específica de una imagen en una sesión.
POST `/session/{sessionId}/image/{imageId}/revision/{revisionId}` -> Crea una nueva revisión para una imagen específica en una sesión. Se espera que el cuerpo de la solicitud contenga los datos de la revisión.
PUT `/session/{sessionId}/image/{imageId}/revision/{revisionId}` -> Actualiza los detalles de una revisión específica de una imagen en una sesión.
DELETE `/session/{sessionId}/image/{imageId}/revision/{revisionId}` -> Elimina una revisión específica de una imagen en una sesión.
## Endpoints de pagos
TODO
## Códigos de error y manejo de excepciones
Todos los errores se manejarán mediante el patrón `Response<T>` descrito anteriormente.
En caso de que sean errores de validación, se devolverá un código de estado 400 (Bad Request) junto con una lista de errores detallados.
En cualquier otro caso, se tratarán mediante el estandar Problem Details.

View File

@@ -1,3 +1,5 @@
<!-- TODO:
Paleta de colores y tipografías
Componentes reutilizables de Angular
@@ -6,4 +8,4 @@ Patrones de diseño UX/UI
Responsive design guidelines
Accesibilidad
Accesibilidad -->

View File

@@ -1,7 +1,9 @@
<!-- TODO:
Guía para profesionales
Guía para clientes
FAQ y resolución de problemas
Videos tutoriales (cuando aplique)
Videos tutoriales (cuando aplique) -->

View File

@@ -1,3 +1,5 @@
<!-- TODO:
Fase 1: Configuración inicial y autenticación
Fase 2: Gestión básica de usuarios y almacenamiento
@@ -8,4 +10,4 @@ Fase 4: Funcionalidades de colaboración y feedback
Fase 5: Sistema de pagos y comercialización
Fase 6: Optimizaciones y características avanzadas
Fase 6: Optimizaciones y características avanzadas -->

View File

@@ -1,3 +1,5 @@
<!-- TODO:
Pruebas unitarias: Backend y frontend
Pruebas de integración: APIs y base de datos
@@ -6,4 +8,4 @@ Pruebas E2E: Flujos completos de usuario
Pruebas de rendimiento: Carga de imágenes
Criterios de aceptación
Criterios de aceptación -->