foder route ok
This commit is contained in:
+15
-15
@@ -1,18 +1,18 @@
|
|||||||
const mysql = require('mysql2');
|
const { Sequelize } = require('sequelize');
|
||||||
|
|
||||||
const connection = mysql.createConnection({
|
// Connexion à la base de données MySQL
|
||||||
host: process.env.DB_HOST || 'localhost',
|
const db = new Sequelize(
|
||||||
user: process.env.DB_USER || 'root',
|
process.env.DB_NAME, // Nom de la base de données
|
||||||
password: process.env.DB_PASSWORD || '',
|
process.env.DB_USER, // Utilisateur
|
||||||
database: process.env.DB_NAME || 'my_database'
|
process.env.DB_PASSWORD, // Mot de passe
|
||||||
});
|
{
|
||||||
|
host: process.env.DB_HOST, // Hôte de la base de données (localhost ou IP)
|
||||||
connection.connect((err) => {
|
dialect: 'mysql', // Type de base de données
|
||||||
if (err) {
|
logging: false, // Désactiver les logs de SQL (facultatif)
|
||||||
console.error('Erreur de connexion à la BDD:', err);
|
define: {
|
||||||
} else {
|
timestamps: false
|
||||||
console.log('Connecté à la base de données MariaDB');
|
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
);
|
||||||
|
|
||||||
module.exports = connection;
|
module.exports = db;
|
||||||
@@ -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
@@ -1,26 +1,27 @@
|
|||||||
|
require('dotenv').config();
|
||||||
|
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
const bodyParser = require('body-parser');
|
|
||||||
|
|
||||||
const dotenv = require('dotenv')
|
|
||||||
|
|
||||||
const errorHandler = require('./utils/error.handler');
|
|
||||||
|
|
||||||
dotenv.config()
|
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
|
|
||||||
// Middleware pour parser le corps des requêtes
|
const folderRoutes = require('./routes/folder.routes');
|
||||||
app.use(bodyParser.json());
|
const db = require('./config/db');
|
||||||
|
|
||||||
|
// Middleware pour le parsing des JSON
|
||||||
|
app.use(express.json());
|
||||||
|
|
||||||
// Routes
|
// Utilisation des routes
|
||||||
|
app.use('/api', folderRoutes);
|
||||||
|
|
||||||
|
// Démarrer l'application et connecter la base de données
|
||||||
// Gestion des erreurs
|
const port = process.env.PORT || 5000
|
||||||
app.use(errorHandler);
|
db
|
||||||
|
.authenticate()
|
||||||
// Lancer le serveur
|
.then(() => {
|
||||||
const PORT = process.env.PORT || 5000;
|
console.log('Connexion à la base de données réussie');
|
||||||
app.listen(PORT, () => {
|
app.listen(port, () => {
|
||||||
console.log(`Serveur en écoute sur le port ${PORT}`);
|
console.log(`Serveur démarré sur le port ${port}`);
|
||||||
});
|
});
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
console.error('Impossible de se connecter à la base de données:', error);
|
||||||
|
});
|
||||||
@@ -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;
|
||||||
@@ -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;
|
||||||
Reference in New Issue
Block a user