← Volver a SalonPhotosController

📸 Gestión de Fotos de Salones

Endpoints para la gestión CRUD completa de fotos de salones del sistema

Descripción General

Los endpoints de Gestión de Fotos de Salones proporcionan las operaciones fundamentales para administrar las fotografías de los salones del sistema RestMaster. Estos endpoints manejan el almacenamiento y recuperación de imágenes de identificación visual de los diferentes salones y áreas del restaurante.

🎯 Características de la Gestión de Fotos de Salones

  • Almacenamiento binario: Imágenes guardadas como byte[] en la base de datos
  • Relación 1:1: Cada salón puede tener una única foto
  • Identificación visual: Fotos para identificar áreas del restaurante
  • Integración con salones: Relación directa con el modelo Salones
  • Validación de archivos: Verificación de integridad de las imágenes

Endpoints Disponibles

GET /Master/SalonPhotos/GetSalonPhoto/{salon}

Obtiene la foto de un salón específico por su ID. Este endpoint devuelve la imagen de identificación del salón en formato binario.
Parámetros de ruta:
  • salon (double, requerido): ID del salón
Parámetros de consulta:
  • initialCatalog (string, requerido): Nombre de la base de datos
  • userID (string, opcional): ID de usuario de la base de datos
  • password (string, opcional): Contraseña de la base de datos
200 OK
Foto del salón devuelta exitosamente
{ "salon": 1.0, "imagen": [base64_encoded_image_data] }
404 Not Found
Foto del salón no encontrada
500 Internal Server Error
Error interno del servidor

POST /Master/SalonPhotos/AddSalonPhoto

Crea una nueva foto para un salón en el sistema. Este endpoint permite agregar una imagen de identificación para un salón.
Body (JSON):
{ "salon": 1.0, "imagen": [base64_encoded_image_data] }
Parámetros de consulta:
  • initialCatalog (string, requerido): Nombre de la base de datos
  • userID (string, opcional): ID de usuario de la base de datos
  • password (string, opcional): Contraseña de la base de datos
201 Created
Foto del salón creada exitosamente
{ "salon": 1.0, "imagen": [base64_encoded_image_data] }
500 Internal Server Error
Error interno del servidor

PUT /Master/SalonPhotos/UpdateSalonPhoto/{salon}

Actualiza la foto de un salón existente en el sistema. Este endpoint permite modificar la imagen de identificación de un salón.
Parámetros de ruta:
  • salon (double, requerido): ID del salón
Body (JSON):
{ "salon": 1.0, "imagen": [new_base64_encoded_image_data] }
Parámetros de consulta:
  • initialCatalog (string, requerido): Nombre de la base de datos
  • userID (string, opcional): ID de usuario de la base de datos
  • password (string, opcional): Contraseña de la base de datos
200 OK
Foto del salón actualizada exitosamente
404 Not Found
Foto del salón no encontrada
500 Internal Server Error
Error interno del servidor

DELETE /Master/SalonPhotos/DeleteSalonPhoto/{salon}

Elimina la foto de un salón del sistema. Este endpoint permite remover la imagen de identificación de un salón.
Parámetros de ruta:
  • salon (double, requerido): ID del salón
Parámetros de consulta:
  • initialCatalog (string, requerido): Nombre de la base de datos
  • userID (string, opcional): ID de usuario de la base de datos
  • password (string, opcional): Contraseña de la base de datos
200 OK
Foto del salón eliminada exitosamente
{ "message": "Salon photo deleted successfully", "salonPhoto": { "salon": 1.0, "imagen": [base64_encoded_image_data] } }
404 Not Found
Foto del salón no encontrada
500 Internal Server Error
Error interno del servidor

Modelo de Datos - SalonesFoto

Propiedades del modelo SalonesFoto:
  • Salon (double): ID del salón (clave primaria)
  • Imagen (byte[]): Datos de la imagen en formato binario

🔑 Características del Modelo

  • Clave primaria: El campo Salon es la clave primaria única
  • Relación 1:1: Cada salón puede tener una única foto
  • Almacenamiento binario: Imágenes guardadas como array de bytes
  • Integración: Se relaciona directamente con el modelo Salones
  • Tabla: SALONES_FOTO en la base de datos

Servicio Utilizado

ISalonPhotosService - Servicio para la gestión de fotos de salones
  • GetSalonPhoto(): Obtiene la foto de un salón por ID
  • AddSalonPhoto(): Crea una nueva foto para un salón
  • UpdateSalonPhoto(): Actualiza la foto de un salón existente
  • DeleteSalonPhoto(): Elimina la foto de un salón

Casos de Uso Comunes

🎯 Escenarios de Aplicación

  • Identificación visual: Mostrar fotos de salones en la aplicación
  • Gestión de áreas: Mantener fotos actualizadas de los salones
  • Reportes visuales: Incluir fotos en reportes de salones
  • Configuración de mesas: Visualizar la distribución de mesas por salón
  • Documentación: Mantener registro visual de las áreas del restaurante

⚠️ Consideraciones de Seguridad

  • Las fotos de salones pueden contener información sensible del restaurante
  • Se recomienda implementar control de acceso a las imágenes
  • Validar el formato y tamaño de las imágenes subidas
  • Considerar la privacidad de clientes que puedan aparecer en las fotos
  • Implementar auditoría de cambios en las fotos
  • Verificar que el usuario tenga permisos para gestionar fotos

📝 Consideraciones Técnicas

  • Tamaño de archivo: Considerar límites de tamaño para las imágenes
  • Formato de imagen: Asegurar que las imágenes sean válidas
  • Rendimiento: Optimizar el almacenamiento y recuperación de imágenes
  • Compresión: Considerar compresión de imágenes para ahorrar espacio
  • Cache: Implementar cache para imágenes frecuentemente accedidas
  • Respaldo: Considerar estrategias de respaldo para las imágenes