feat(database): Implement DatabaseManager for managing database structure and initialization
All checks were successful
SSH Backend Deploy / ssh-deploy (push) Successful in 1m51s

feat(routes): Add camera, image, measurement, project, and video routes with Swagger documentation

feat(services): Create storageService and videoService for file management and video processing

fix(errorHandler): Enhance error handling with standardized responses and database operation wrappers
This commit is contained in:
2025-04-27 01:02:33 +02:00
parent 792bdca965
commit 4513af3aa0
30 changed files with 3006 additions and 763 deletions

View File

@@ -0,0 +1,99 @@
// src/routes/measurementRoutes.js
const express = require('express');
const router = express.Router();
const MeasurementController = require('../controllers/measurementController');
/**
* @swagger
* /measurements:
* get:
* summary: Récupère toutes les mesures
* responses:
* 200:
* description: Liste de toutes les mesures
* 404:
* description: Aucune mesure trouvée
* 500:
* description: Erreur serveur
*/
router.get('/measurements', MeasurementController.getAllMeasurements);
/**
* @swagger
* /measurements/{id}:
* get:
* summary: Récupère une mesure par ID
* parameters:
* - in: path
* name: id
* required: true
* schema:
* type: integer
* description: ID de la mesure
* responses:
* 200:
* description: Détails de la mesure
* 400:
* description: ID de mesure invalide
* 404:
* description: Mesure non trouvée
* 500:
* description: Erreur serveur
*/
router.get('/measurements/:id', MeasurementController.getMeasurementById);
/**
* @swagger
* /measurements/{projectId}/{orderId}:
* get:
* summary: Récupère une mesure par projet ID et ordre ID
* parameters:
* - in: path
* name: projectId
* required: true
* schema:
* type: integer
* description: ID du projet
* - in: path
* name: orderId
* required: true
* schema:
* type: integer
* description: ID d'ordre
* responses:
* 200:
* description: Détails de la mesure
* 400:
* description: IDs invalides
* 404:
* description: Mesure non trouvée
* 500:
* description: Erreur serveur
*/
router.get('/measurements/:projectId/:orderId', MeasurementController.getMeasurementByProjectAndOrderId);
/**
* @swagger
* /measurements/{id}:
* delete:
* summary: Supprime une mesure
* parameters:
* - in: path
* name: id
* required: true
* schema:
* type: integer
* description: ID de la mesure
* responses:
* 200:
* description: Mesure supprimée avec succès
* 400:
* description: ID de mesure invalide
* 404:
* description: Mesure non trouvée
* 500:
* description: Erreur serveur
*/
router.delete('/measurements/:id', MeasurementController.deleteMeasurement);
module.exports = router;