tracker.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. const Tracker = require("../models/tracker.js");
  2. module.exports = {
  3. /*
  4. POST: create a new tracker
  5. req.body = {
  6. name: String
  7. project: String
  8. description: String
  9. start: Date
  10. }
  11. */
  12. create: function(req, res){
  13. let tracker = new Tracker({
  14. name: req.body.name,
  15. project: req.body.project,
  16. description: req.body.description,
  17. start: new Date(req.body.start),
  18. pauses: []
  19. });
  20. tracker.save()
  21. .then((tracker)=>{
  22. return res.json(tracker);
  23. })
  24. .catch((err)=>{
  25. console.error(err);
  26. return res.json(err);
  27. });
  28. },
  29. /*
  30. PUT: update data on a tracker
  31. req.body = {
  32. id: String
  33. name: String
  34. project: String
  35. description: String
  36. end: Date
  37. }
  38. */
  39. update: function(req, res){
  40. Tracker.findOne({_id: req.body.id})
  41. .then((tracker)=>{
  42. if(!tracker) throw "tracker";
  43. if(req.body.name) tracker.name = req.body.name;
  44. if(req.body.project) tracker.project = req.body.project;
  45. if(req.body.description) tracker.description = req.body.description;
  46. if(req.body.end) tracker.end = new Date(req.body.end);
  47. return tracker.save();
  48. })
  49. .then((tracker)=>{
  50. return res.json(tracker);
  51. })
  52. .catch((err)=>{
  53. if(err === "tracker") return res.json("Could not find tracker");
  54. console.error(err);
  55. return res.json(err);
  56. });
  57. }
  58. }