All checks were successful
SSH Backend Deploy / ssh-deploy (push) Successful in 10s
136 lines
3.9 KiB
JavaScript
136 lines
3.9 KiB
JavaScript
// src/routes/measurementRoutes.js
|
|
const express = require('express');
|
|
const router = express.Router();
|
|
const MeasurementController = require('../controllers/measurementController');
|
|
|
|
/**
|
|
* @swagger
|
|
* /measurements:
|
|
* get:
|
|
* tags:
|
|
* - Mesures
|
|
* summary: Récupère toutes les mesures
|
|
* description: Retourne la liste complète des mesures de tous les projets
|
|
* responses:
|
|
* 200:
|
|
* description: Liste de toutes les mesures
|
|
* content:
|
|
* application/json:
|
|
* schema:
|
|
* type: array
|
|
* items:
|
|
* $ref: '#/components/schemas/Measurement'
|
|
* 404:
|
|
* $ref: '#/components/responses/NotFound'
|
|
* 500:
|
|
* $ref: '#/components/responses/ServerError'
|
|
*/
|
|
router.get('/measurements', MeasurementController.getAllMeasurements);
|
|
|
|
/**
|
|
* @swagger
|
|
* /measurements/{id}:
|
|
* get:
|
|
* tags:
|
|
* - Mesures
|
|
* summary: Récupère une mesure par ID
|
|
* description: Retourne les détails d'une mesure spécifique
|
|
* parameters:
|
|
* - in: path
|
|
* name: id
|
|
* required: true
|
|
* schema:
|
|
* type: integer
|
|
* description: ID de la mesure
|
|
* responses:
|
|
* 200:
|
|
* description: Détails de la mesure
|
|
* content:
|
|
* application/json:
|
|
* schema:
|
|
* $ref: '#/components/schemas/Measurement'
|
|
* 400:
|
|
* $ref: '#/components/responses/BadRequest'
|
|
* 404:
|
|
* $ref: '#/components/responses/NotFound'
|
|
* 500:
|
|
* $ref: '#/components/responses/ServerError'
|
|
*/
|
|
router.get('/measurements/:id', MeasurementController.getMeasurementById);
|
|
|
|
/**
|
|
* @swagger
|
|
* /measurements/{projectId}/{orderId}:
|
|
* get:
|
|
* tags:
|
|
* - Mesures
|
|
* summary: Récupère une mesure par projet ID et ordre ID
|
|
* description: Retourne les détails d'une mesure en fonction du projet et de son numéro d'ordre
|
|
* 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 séquentiel de la mesure dans le projet
|
|
* responses:
|
|
* 200:
|
|
* description: Détails de la mesure
|
|
* content:
|
|
* application/json:
|
|
* schema:
|
|
* $ref: '#/components/schemas/Measurement'
|
|
* 400:
|
|
* $ref: '#/components/responses/BadRequest'
|
|
* 404:
|
|
* $ref: '#/components/responses/NotFound'
|
|
* 500:
|
|
* $ref: '#/components/responses/ServerError'
|
|
*/
|
|
router.get('/measurements/:projectId/:orderId', MeasurementController.getMeasurementByProjectAndOrderId);
|
|
|
|
/**
|
|
* @swagger
|
|
* /measurements/{id}:
|
|
* delete:
|
|
* tags:
|
|
* - Mesures
|
|
* summary: Supprime une mesure
|
|
* description: Supprime une mesure et l'image associée
|
|
* parameters:
|
|
* - in: path
|
|
* name: id
|
|
* required: true
|
|
* schema:
|
|
* type: integer
|
|
* description: ID de la mesure à supprimer
|
|
* responses:
|
|
* 200:
|
|
* description: Mesure supprimée avec succès
|
|
* content:
|
|
* application/json:
|
|
* schema:
|
|
* type: object
|
|
* properties:
|
|
* message:
|
|
* type: string
|
|
* example: Mesure supprimée avec succès
|
|
* id:
|
|
* type: integer
|
|
* example: 123
|
|
* 400:
|
|
* $ref: '#/components/responses/BadRequest'
|
|
* 404:
|
|
* $ref: '#/components/responses/NotFound'
|
|
* 500:
|
|
* $ref: '#/components/responses/ServerError'
|
|
*/
|
|
router.delete('/measurements/:id', MeasurementController.deleteMeasurement);
|
|
|
|
module.exports = router; |