Skip to content
This repository has been archived by the owner on Sep 8, 2021. It is now read-only.

Commit

Permalink
Add CRUD for models
Browse files Browse the repository at this point in the history
  • Loading branch information
Mikael Wide committed Apr 25, 2016
1 parent cabe3e2 commit 9ab0e73
Show file tree
Hide file tree
Showing 9 changed files with 227 additions and 9 deletions.
33 changes: 33 additions & 0 deletions controllers/councilmeeting.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,36 @@ module.exports.saveOne = (req, res) => {
});
});
};

module.exports.updateOne = (req, res) => {
CouncilMeeting
.update(req.body, req.params)
.then(councilMeeting => {
res.status(200).send(councilMeeting);
})
.catch(err => {
res.status(500).send({
message: "CouncilMeeting updateOne produced an error",
error: err,
});
});
};

module.exports.deleteOne = (req, res) => {
CouncilMeeting
.delete({id: req.params.id})
.then(deletedRows => {
if (deletedRows !== 0) {
res.status(200).send({message: "CouncilMeeting with id: " + req.params.id+ " successfully deleted"});
}
else {
res.status(404).send({message: "CouncilMeeting to delete with id: " + req.params.id + " was not found"})
}
})
.catch(err => {
res.status(500).send({
message: "CouncilMeeting deleteOne produced an error",
error: err,
});
});
};
34 changes: 33 additions & 1 deletion controllers/grader.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
"use strict";

const Grader = require("../models/grader");
// const Thesis = require("../models/thesis");

module.exports.findAll = (req, res) => {
Grader
Expand Down Expand Up @@ -30,3 +29,36 @@ module.exports.saveOne = (req, res) => {
});
});
};

module.exports.updateOne = (req, res) => {
Grader
.update(req.body, req.params)
.then(grader => {
res.status(200).send(grader);
})
.catch(err => {
res.status(500).send({
message: "Grader updateOne produced an error",
error: err,
});
});
};

module.exports.deleteOne = (req, res) => {
Grader
.delete({id: req.params.id})
.then(deletedRows => {
if (deletedRows !== 0) {
res.status(200).send({message: "Grader with id: " + req.params.id+ " successfully deleted"});
}
else {
res.status(404).send({message: "Grader to delete with id: " + req.params.id + " was not found"})
}
})
.catch(err => {
res.status(500).send({
message: "Grader deleteOne produced an error",
error: err,
});
});
};
33 changes: 33 additions & 0 deletions controllers/review.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,36 @@ module.exports.saveOne = (req, res) => {
});
});
};

module.exports.updateOne = (req, res) => {
Review
.update(req.body, req.params)
.then(review => {
res.status(200).send(review);
})
.catch(err => {
res.status(500).send({
message: "Review updateOne produced an error",
error: err,
});
});
};

module.exports.deleteOne = (req, res) => {
Review
.delete({id: req.params.id})
.then(deletedRows => {
if (deletedRows !== 0) {
res.status(200).send({message: "Review with id: " + req.params.id+ " successfully deleted"});
}
else {
res.status(404).send({message: "Review to delete with id: " + req.params.id + " was not found"})
}
})
.catch(err => {
res.status(500).send({
message: "Review deleteOne produced an error",
error: err,
});
});
};
44 changes: 39 additions & 5 deletions controllers/routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,41 +41,67 @@ router.get("/", index);

/* Thesis routes */
router.get("/thesis", auth.authenticate, thesisCtrl.findAll);
router.put("/thesis", thesisCtrl.updateOne);
router.post("/thesis", thesisCtrl.saveOne);
router.put("/thesis/:id", (req, res) => {
userCtrl.updateOne(req, res);
});router.post("/thesis", thesisCtrl.saveOne);
router.get("/thesis/:id", (req,res) => {
thesisCtrl.findOne(req.params.id, res);
thesisCtrl.findOne(req, res);
});
router.delete("/thesis/:id", (req, res) => {
thesisCtrl.deleteOne(req, res);
});

/* Councilmeeting routes */
router.get("/councilmeeting", councilmeetingCtrl.findAll);
router.post("/councilmeeting", councilmeetingCtrl.saveOne);
router.put("/councilmeeting/:id", (req, res) => {
councilmeeting.updateOne(req, res);
});
router.delete("/councilmeeting/:id", (req, res) => {
councilmeetingCtrl.deleteOne(req, res);
});

/* Review routes */
router.get("/review", auth.authenticate, reviewCtrl.findAll);
router.post("/review", auth.authenticate, reviewCtrl.saveOne);
router.put("/review/:id", (req, res) => {
reviewCtrl.updateOne(req, res);
});
router.delete("/review/:id", (req, res) => {
reviewCtrl.deleteOne(req, res);
});

/* Grader routes */
router.get("/grader", graderCtrl.findAll);
router.post("/grader", graderCtrl.saveOne);
router.put("/grader/:id", (req, res) => {
graderCtrl.updateOne(req, res);
});
router.delete("/grader/:id", (req, res) => {
graderCtrl.deleteOne(req, res);
});


/* Thesisprogress routes */
router.get("/thesisprogress", thesisprogressCtrl.findAll);
router.get("/thesisprogress/:id", (req,res) => {
thesisprogressCtrl.findOne(req.params.id, res);
thesisprogressCtrl.findOne(req, res);
});
router.post("/thesisprogress", thesisprogressCtrl.saveOne);

/* User routes */
router.get("/user", userCtrl.findAll);
router.post("/user", userCtrl.saveOne);
router.get("/user/:id", (req,res) => {
userCtrl.findOne(req.params.id, res);
userCtrl.findOne(req, res);
});
router.put("/user/:id", (req, res) => {
userCtrl.updateOne(req, res);
});
router.post("/login", userCtrl.loginUser);
router.delete("/user/:id", (req, res) => {
userCtrl.deleteOne(req, res);
});

/* Emailstatus routes */
router.get("/emailstatus", emailstatusCtrl.findAll);
Expand All @@ -88,6 +114,14 @@ router.get("/email/remind", emailCtrl.sendReminder);

/* Studyfield routes */
router.get("/studyfield", studyfieldCtrl.findAll);
router.post("/studyfield", studyfieldCtrl.saveOne);
router.put("/studyfield/:id", (req, res) => {
studyfieldCtrl.updateOne(req, res);
});
router.delete("/studyfield/:id", (req, res) => {
studyfieldCtrl.deleteOne(req, res);
});


/* /dbdump for getting all entries in database */
router.get("/dbdump", dump);
Expand Down
45 changes: 45 additions & 0 deletions controllers/studyfield.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,48 @@ module.exports.findAll = (req, res) => {
});
});
};
module.exports.saveOne = (req, res) => {
StudyField
.saveOne(req.body)
.then(studyfield => {
res.status(200).send(studyfield);
})
.catch(err => {
res.status(500).send({
message: "StudyField saveOne produced an error",
error: err,
});
});
};
module.exports.updateOne = (req, res) => {
StudyField
.update(req.body, req.params)
.then(studyfield => {
res.status(200).send(studyfield);
})
.catch(err => {
res.status(500).send({
message: "StudyField updateOne produced an error",
error: err,
});
});
};

module.exports.deleteOne = (req, res) => {
StudyField
.delete({id: req.params.id})
.then(deletedRows => {
if (deletedRows !== 0) {
res.status(200).send({message: "StudyField with id: " + req.params.id+ " successfully deleted"});
}
else {
res.status(404).send({message: "StudyField to delete with id: " + req.params.id + " was not found"})
}
})
.catch(err => {
res.status(500).send({
message: "StudyField deleteOne produced an error",
error: err,
});
});
};
21 changes: 20 additions & 1 deletion controllers/thesis.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ module.exports.findAll = (req, res) => {

module.exports.findOne = (req, res) => {
Thesis
.findOne({id: req})
.findOne({id: req.params.id})
.then(thesis => {
res.status(200).send(thesis);
})
Expand Down Expand Up @@ -56,6 +56,25 @@ module.exports.updateOne = (req, res) => {
});
};

module.exports.deleteOne = (req, res) => {
Thesis
.delete({id: req.params.id})
.then(deletedRows => {
if (deletedRows !== 0) {
res.status(200).send({message: "Thesis with id: " + req.params.id+ " successfully deleted"});
}
else {
res.status(404).send({message: "Thesis to delete with id: " + req.params.id + " was not found"})
}
})
.catch(err => {
res.status(500).send({
message: "Thesis deleteOne produced an error",
error: err,
});
});
};

/*
* Saves a single thesis, links it to a bunch of stuff and sends an email
*
Expand Down
2 changes: 1 addition & 1 deletion controllers/thesisprogress.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ module.exports.findAll = (req, res) => {

module.exports.findOne = (req, res) => {
ThesisProgress
.findOne({id: req})
.findOne({id: req.params.id})
.then(thesisprogress => {
res.status(200).send(thesisprogress);
})
Expand Down
21 changes: 20 additions & 1 deletion controllers/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ module.exports.updateOne = (req, res) => {

module.exports.findOne = (req, res) => {
User
.findOne({id: req})
.findOne({id: req.params.id})
.then(user => {
res.status(200).send(user);
})
Expand All @@ -60,6 +60,25 @@ module.exports.saveOne = (req, res) => {
});
};

module.exports.deleteOne = (req, res) => {
User
.delete({id: req.params.id})
.then(deletedRows => {
if (deletedRows !== 0) {
res.status(200).send({message: "User with id: " + req.params.id+ " successfully deleted"});
}
else {
res.status(404).send({message: "User to delete with id: " + req.params.id + " was not found"})
}
})
.catch(err => {
res.status(500).send({
message: "User deleteOne produced an error",
error: err,
});
});
};

module.exports.loginUser = (req, res) => {
User
.findOne({ email: req.body.email, password: req.body.password})
Expand Down
3 changes: 3 additions & 0 deletions models/base_model.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ class BaseModel {
findOne(params) {
return this.Models[this.modelname].findOne({ where: params });
}
delete(params) {
return this.Models[this.modelname].destroy({where: params});
}
/*
* Returns all the rows from a table.
*
Expand Down

0 comments on commit 9ab0e73

Please sign in to comment.