added folder delete
This commit is contained in:
@@ -0,0 +1,6 @@
|
|||||||
|
DB_HOST=localhost
|
||||||
|
DB_USER=user
|
||||||
|
DB_PASSWORD=password
|
||||||
|
DB_NAME=dbName
|
||||||
|
|
||||||
|
PORT=5000
|
||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
@@ -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');
|
||||||
Reference in New Issue
Block a user