diff --git a/routes/cameraRoutes.js b/routes/cameraRoutes.js index cce203d..499c83d 100644 --- a/routes/cameraRoutes.js +++ b/routes/cameraRoutes.js @@ -7,101 +7,6 @@ const router = express.Router(); // 1 = En cours de capture // 2 = Capture terminée -const minInterval = 3; // Minutes -const maxInterval = 60; // Minutes -var captureProjectID = -1; -var captureInterval = 0; // Minutes - -/** - * @swagger - * /procedure/start/: - * post: - * summary: Start the capture procedure - * description: Starts the capture procedure with the given project ID and interval. - * requestBody: - * required: true - * content: - * application/json: - * schema: - * type: object - * properties: - * projectId: - * type: integer - * description: The ID of the project to start capturing. - * interval: - * type: integer - * description: The interval in minutes for the capture. - * responses: - * 200: - * description: Capture procedure started successfully. - * content: - * application/json: - * schema: - * type: object - * properties: - * message: - * type: string - * example: "Procédure de capture démarrée avec succès, projet ID: 1, interval: 10 minutes." - * 500: - * description: Internal server error. - */ -router.post('/procedure/start/', async (req, res) => { - const { projectId, interval } = req.body; - try { - const result = startProcedure(projectId, interval); - res.status(200).json(result); - } catch (err) { - serverError(res, err); - } -}); - -function startProcedure(projectId, interval) { - console.log('Démarrage de la procédure de capture'); - captureProjectID = projectId; - if (interval < minInterval) { - throw new Error('L\'intervalle de capture doit être supérieur ou égal à ' + minInterval + ' minutes.'); - } - if (interval > maxInterval) { - throw new Error('L\'intervalle de capture doit être inférieur ou égal à ' + maxInterval + ' minutes.'); - } - captureInterval = interval; - console.log('Procédure de capture démarrée avec succès, projet ID: ' + projectId + ', interval: ' + interval + ' minutes.'); - return { message: 'Procédure de capture démarrée avec succès, projet ID: ' + projectId + ', interval: ' + interval + ' minutes.' }; -} - -/** - * @swagger - * /procedure/stop/: - * get: - * summary: Stop the capture procedure - * description: Stops the capture procedure. - * responses: - * 200: - * description: Capture procedure stopped successfully. - * content: - * application/json: - * schema: - * type: object - * properties: - * message: - * type: string - * example: "Procédure de capture arrêtée avec succès." - * 500: - * description: Internal server error. - */ -router.get('/procedure/stop/', async (req, res) => { - try { - const result = stopProcedure(); - res.status(200).json(result); - } catch (err) { - serverError(res, err); - } -}); - -function stopProcedure() { - console.log('Arrêt de la procédure de capture'); - return { message: 'Procédure de capture arrêtée avec succès.' }; -} export default router; diff --git a/routes/imageRoutes.js b/routes/imageRoutes.js index 26b51e6..23b829a 100644 --- a/routes/imageRoutes.js +++ b/routes/imageRoutes.js @@ -129,4 +129,101 @@ router.get('/images/:measurementId', (req, res) => { }); }); +const minInterval = 3; // Minutes +const maxInterval = 60; // Minutes + +var captureProjectID = -1; +var captureInterval = 0; // Minutes + +/** + * @swagger + * /procedure/start/: + * post: + * summary: Start the capture procedure + * description: Starts the capture procedure with the given project ID and interval. + * requestBody: + * required: true + * content: + * application/json: + * schema: + * type: object + * properties: + * projectId: + * type: integer + * description: The ID of the project to start capturing. + * interval: + * type: integer + * description: The interval in minutes for the capture. + * responses: + * 200: + * description: Capture procedure started successfully. + * content: + * application/json: + * schema: + * type: object + * properties: + * message: + * type: string + * example: "Procédure de capture démarrée avec succès, projet ID: 1, interval: 10 minutes." + * 500: + * description: Internal server error. + */ +router.post('/procedure/start/', async (req, res) => { + const { projectId, interval } = req.body; + try { + const result = startProcedure(projectId, interval); + res.status(200).json(result); + } catch (err) { + serverError(res, err); + } +}); + +function startProcedure(projectId, interval) { + console.log('Démarrage de la procédure de capture'); + captureProjectID = projectId; + if (interval < minInterval) { + throw new Error('L\'intervalle de capture doit être supérieur ou égal à ' + minInterval + ' minutes.'); + } + if (interval > maxInterval) { + throw new Error('L\'intervalle de capture doit être inférieur ou égal à ' + maxInterval + ' minutes.'); + } + captureInterval = interval; + console.log('Procédure de capture démarrée avec succès, projet ID: ' + projectId + ', interval: ' + interval + ' minutes.'); + return { message: 'Procédure de capture démarrée avec succès, projet ID: ' + projectId + ', interval: ' + interval + ' minutes.' }; +} + +/** + * @swagger + * /procedure/stop/: + * get: + * summary: Stop the capture procedure + * description: Stops the capture procedure. + * responses: + * 200: + * description: Capture procedure stopped successfully. + * content: + * application/json: + * schema: + * type: object + * properties: + * message: + * type: string + * example: "Procédure de capture arrêtée avec succès." + * 500: + * description: Internal server error. + */ +router.get('/procedure/stop/', async (req, res) => { + try { + const result = stopProcedure(); + res.status(200).json(result); + } catch (err) { + serverError(res, err); + } +}); + +function stopProcedure() { + console.log('Arrêt de la procédure de capture'); + return { message: 'Procédure de capture arrêtée avec succès.' }; +} + module.exports = router;