Configurer Docker avec un Dockerfile et mettre à jour docker-compose.yml pour utiliser la construction d'image

This commit is contained in:
2025-03-10 14:46:29 +01:00
parent 7785bfa10f
commit 39a7b897bf
3 changed files with 70 additions and 47 deletions

View File

@@ -1,7 +1,6 @@
const express = require('express');
import express from 'express';
import serverError from '../utils/serverError.js';
const router = express.Router();
const db = require('../db');
const serverError = require('../utils/serverError');
// Status du Projet :
// 0 = En attente de capture
@@ -14,45 +13,6 @@ const maxInterval = 60; // Minutes
var captureProjectID = -1;
var captureInterval = 0; // Minutes
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.' };
}
function stopProcedure() {
console.log('Arrêt de la procédure de capture');
return { message: 'Procédure de capture arrêtée avec succès.' };
}
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);
}
}
);
router.get('/procedure/stop/', async (req, res) => {
try {
const result = stopProcedure();
res.status(200).json(result);
} catch (err) {
serverError(res, err);
}
});
/**
* @swagger
* /procedure/start/:
@@ -82,10 +42,36 @@ router.get('/procedure/stop/', async (req, res) => {
* properties:
* message:
* type: string
* example: Procédure de capture démarrée avec succès, projet ID: 1, interval: 10 minutes.
* 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
@@ -100,9 +86,22 @@ router.get('/procedure/stop/', async (req, res) => {
* properties:
* message:
* type: string
* example: Procédure de capture arrêtée avec succès.
* 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;