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'))