Déplacer la logique de capture de cameraRoutes.js vers imageRoutes.js

This commit is contained in:
2025-03-10 14:55:32 +01:00
parent 8319ae9685
commit 44d1d6a24e
2 changed files with 97 additions and 95 deletions

View File

@@ -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;

View File

@@ -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;