foder route ok

This commit is contained in:
helori_ollivier
2026-04-24 23:28:53 +02:00
parent 6813dd23e1
commit 132b8cacd5
8 changed files with 91 additions and 36 deletions
+15 -15
View File
@@ -1,18 +1,18 @@
const mysql = require('mysql2');
const { Sequelize } = require('sequelize');
const connection = mysql.createConnection({
host: process.env.DB_HOST || 'localhost',
user: process.env.DB_USER || 'root',
password: process.env.DB_PASSWORD || '',
database: process.env.DB_NAME || 'my_database'
});
connection.connect((err) => {
if (err) {
console.error('Erreur de connexion à la BDD:', err);
} else {
console.log('Connecté à la base de données MariaDB');
// Connexion à la base de données MySQL
const db = new Sequelize(
process.env.DB_NAME, // Nom de la base de données
process.env.DB_USER, // Utilisateur
process.env.DB_PASSWORD, // Mot de passe
{
host: process.env.DB_HOST, // Hôte de la base de données (localhost ou IP)
dialect: 'mysql', // Type de base de données
logging: false, // Désactiver les logs de SQL (facultatif)
define: {
timestamps: false
}
});
}
);
module.exports = connection;
module.exports = db;
View File
+18
View File
@@ -0,0 +1,18 @@
const folder = require('../models/folder.model');
exports.getFoldersHierarchy = async (req, res) => {
const folders = await folder.findAll({
where: {
folderParent: null,
},
include: [
{
model: folder,
as: 'subFolders',
hierarchy: true,
}
]
});
res.json(folders);
}
+21 -20
View File
@@ -1,26 +1,27 @@
require('dotenv').config();
const express = require('express');
const bodyParser = require('body-parser');
const dotenv = require('dotenv')
const errorHandler = require('./utils/error.handler');
dotenv.config()
const app = express();
// Middleware pour parser le corps des requêtes
app.use(bodyParser.json());
const folderRoutes = require('./routes/folder.routes');
const db = require('./config/db');
// Middleware pour le parsing des JSON
app.use(express.json());
// Routes
// Utilisation des routes
app.use('/api', folderRoutes);
// Gestion des erreurs
app.use(errorHandler);
// Lancer le serveur
const PORT = process.env.PORT || 5000;
app.listen(PORT, () => {
console.log(`Serveur en écoute sur le port ${PORT}`);
});
// Démarrer l'application et connecter la base de données
const port = process.env.PORT || 5000
db
.authenticate()
.then(() => {
console.log('Connexion à la base de données réussie');
app.listen(port, () => {
console.log(`Serveur démarré sur le port ${port}`);
});
})
.catch((error) => {
console.error('Impossible de se connecter à la base de données:', error);
});
View File
+28
View File
@@ -0,0 +1,28 @@
const {Sequelize, DataTypes} = require('sequelize');
const db = require('../config/db')
const folder = db.define('Folders', {
folderid: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
},
folderName: {
type: DataTypes.STRING,
allowNull: false,
},
folderParent: {
type: DataTypes.INTEGER,
allowNull: true,
references: {
model: 'File',
key: 'folderId',
},
},
});
folder.hasMany(folder, { as: 'subFolders', foreignKey: 'folderParent' });
module.exports = folder;
View File
+8
View File
@@ -0,0 +1,8 @@
const express = require('express');
const router = express.Router();
const folderController = require('../controller/folder.controller')
router.get('/folders', folderController.getFoldersHierarchy);
module.exports = router;