const fs = require('fs'); const path = require('path'); const crypto = require('crypto'); // Fonction pour générer un hash de dossier function generateFolderHash() { return crypto.randomBytes(16).toString('hex'); } // Fonction pour créer la structure de dossiers function createFolderStructure(folderHash) { console.log(`[FOLDER] Création de la structure pour le hash: ${folderHash}`); console.log(`[FOLDER] Répertoire de travail: ${process.cwd()}`); // Créer les dossiers racines s'ils n'existent pas const uploadsDir = 'uploads'; const cacheDir = 'cache'; console.log(`[FOLDER] Vérification de l'existence de ${uploadsDir}: ${fs.existsSync(uploadsDir)}`); console.log(`[FOLDER] Vérification de l'existence de ${cacheDir}: ${fs.existsSync(cacheDir)}`); if (!fs.existsSync(uploadsDir)) { fs.mkdirSync(uploadsDir, { recursive: true }); console.log(`[FOLDER] Dossier racine créé: ${uploadsDir}`); } if (!fs.existsSync(cacheDir)) { fs.mkdirSync(cacheDir, { recursive: true }); console.log(`[FOLDER] Dossier racine créé: ${cacheDir}`); } const folderPath = path.join(uploadsDir, folderHash); const cachePath = path.join(cacheDir, folderHash); console.log(`[FOLDER] Chemin du dossier uploads: ${folderPath}`); console.log(`[FOLDER] Chemin du dossier cache: ${cachePath}`); if (!fs.existsSync(folderPath)) { fs.mkdirSync(folderPath, { recursive: true }); console.log(`[FOLDER] Dossier uploads créé: ${folderPath}`); } if (!fs.existsSync(cachePath)) { fs.mkdirSync(cachePath, { recursive: true }); console.log(`[FOLDER] Dossier cache créé: ${cachePath}`); } return { folderPath, cachePath }; } // Test console.log('=== Test de création de dossier ==='); const folderHash = generateFolderHash(); console.log(`Hash généré: ${folderHash}`); const result = createFolderStructure(folderHash); console.log('Résultat:', result); console.log('\n=== Vérification des dossiers créés ==='); console.log('Dossiers uploads:', fs.readdirSync('uploads')); console.log('Dossiers cache:', fs.readdirSync('cache'));