Ajout des fonctionnalités de gestion des projets : création, récupération et suppression de projets, avec gestion des dossiers associés.
This commit is contained in:
54
file_watcher.js
Normal file
54
file_watcher.js
Normal file
@@ -0,0 +1,54 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const db = require('./db'); // Assurez-vous d'importer le fichier db.js
|
||||
|
||||
const PROJECTS_DIR = path.join(__dirname, '../storage');
|
||||
|
||||
// Fonction pour créer un dossier pour un projet
|
||||
function createProjectDirectory(projectId) {
|
||||
const projectPath = path.join(PROJECTS_DIR, projectId.toString());
|
||||
|
||||
fs.mkdir(projectPath, { recursive: true }, (err) => {
|
||||
if (err) {
|
||||
console.error(`Erreur lors de la création du dossier du projet ${projectId}:`, err);
|
||||
return;
|
||||
}
|
||||
console.log(`Dossier créé pour le projet ${projectId} à ${projectPath}`);
|
||||
});
|
||||
}
|
||||
|
||||
// Fonction pour surveiller les changements dans le dossier de projets
|
||||
function watchProjects() {
|
||||
fs.watch(PROJECTS_DIR, (eventType, filename) => {
|
||||
if (eventType === 'rename') {
|
||||
const projectId = path.basename(filename);
|
||||
if (fs.existsSync(path.join(PROJECTS_DIR, filename))) {
|
||||
// Un nouveau projet a été créé
|
||||
console.log(`Nouveau projet détecté: ${projectId}`);
|
||||
createProjectDirectory(projectId);
|
||||
// Ajouter une entrée dans la base de données
|
||||
db.query('INSERT INTO public.projects (id, name) VALUES ($1, $2)', [projectId, projectId], (err) => {
|
||||
if (err) {
|
||||
console.error('Erreur lors de l\'ajout du projet à la base de données:', err);
|
||||
} else {
|
||||
console.log(`Projet ${projectId} ajouté à la base de données.`);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// Un projet a été supprimé
|
||||
console.log(`Projet supprimé: ${projectId}`);
|
||||
// Supprimer l'entrée de la base de données
|
||||
db.query('DELETE FROM public.projects WHERE id = $1', [projectId], (err) => {
|
||||
if (err) {
|
||||
console.error('Erreur lors de la suppression du projet de la base de données:', err);
|
||||
} else {
|
||||
console.log(`Projet ${projectId} supprimé de la base de données.`);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Démarrer la surveillance des projets
|
||||
watchProjects();
|
||||
Reference in New Issue
Block a user