added folder delete

This commit is contained in:
helori_ollivier
2026-04-26 15:54:13 +02:00
parent d9f173d028
commit 2e5f38096e
5 changed files with 56 additions and 2 deletions
+6
View File
@@ -0,0 +1,6 @@
DB_HOST=localhost
DB_USER=user
DB_PASSWORD=password
DB_NAME=dbName
PORT=5000
+13 -1
View File
@@ -63,7 +63,7 @@ exports.createFolder = async (req, res) => {
exports.updateFolder = async (req, res) => { exports.updateFolder = async (req, res) => {
const folderId = req.params.id const folderId = req.params.id;
const jsonFolder = req.body; const jsonFolder = req.body;
await folder.update({ await folder.update({
@@ -79,6 +79,18 @@ exports.updateFolder = async (req, res) => {
res.status(200).json("ok"); res.status(200).json("ok");
} }
exports.deleteFolder = async (req, res) => {
const folderId = req.params.id;
await folder.destroy({
where: {
folderId:folderId,
},
});
res.status(200).json("ok");
}
function findByValue(list, key, value) { function findByValue(list, key, value) {
for (el of list) { for (el of list) {
+1 -1
View File
@@ -23,6 +23,6 @@ const folder = db.define('Folders', {
}, },
}); });
folder.hasMany(folder, { as: 'subFolders', foreignKey: 'folderParent' }); folder.hasMany(folder, { as: 'subFolders', foreignKey: 'folderParent', onDelete: 'CASCADE' });
module.exports = folder; module.exports = folder;
+2
View File
@@ -9,5 +9,7 @@ router.get('/folders/:id', folderController.getFoldersById);
router.post('/folders', folderController.createFolder); router.post('/folders', folderController.createFolder);
router.put('/folders/:id', folderController.updateFolder); router.put('/folders/:id', folderController.updateFolder);
router.delete('/folders/:id', folderController.deleteFolder);
module.exports = router; module.exports = router;
+34
View File
@@ -0,0 +1,34 @@
DROP TABLE IF EXISTS Pages;
DROP TABLE IF EXISTS Folders;
-- CREATE TABLES
CREATE TABLE Folders (
folderId INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
folderName VARCHAR(50) NOT NULL,
folderParent INT UNSIGNED,
CONSTRAINT sf_folderParent_folderId FOREIGN KEY (folderParent) REFERENCES Folders(folderId) ON DELETE CASCADE
);
CREATE TABLE Pages (
pageId INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
pageTitle VARCHAR(50) NOT NULL,
pageFolder INT UNSIGNED,
pageContent TEXT,
CONSTRAINT fk_pages_folder FOREIGN KEY (pageFolder) REFERENCES Folders(folderId) ON DELETE CASCADE
);
-- Populate Tables
INSERT INTO Folders (folderId, folderName, folderParent) VALUES
(1, "animaux", NULL),
(2, "mamifère", 1),
(3, "plantes", NULL);
INSERT INTO Pages (pageTitle, pageFolder, pageContent) VALUES
('Vache', 2, 'La vache est un mamifères'),
('Pin des Landes', NULL, 'Le pin des landes est un pin que lon retrouve dans les landes'),
('Le lézard', 1, 'Le lézard est un reptile à sang froid');