learn.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. const Course = require("../models/course.js");
  2. module.exports = {
  3. /*
  4. POST: creates a new course
  5. req.body = {
  6. groupTitle: String,
  7. title: String,
  8. video: String,
  9. description: String,
  10. documents: [{
  11. title: String,
  12. link: String
  13. }],
  14. exercises: [String]
  15. }
  16. */
  17. createLecture: function(req, res){
  18. Course.find({groupTitle: req.body.groupTitle})
  19. .then((courses)=>{
  20. let max = 0;
  21. for(let i = 0; i < courses.length; i++){
  22. let num = parseInt(courses[i].courseId.split("-")[1]);
  23. if(num > max) max = num;
  24. }
  25. //from StackOverflow user "RobG"
  26. function pad(n, length) {
  27. var len = length - (''+n).length;
  28. return (len > 0 ? new Array(++len).join('0') : '') + n;
  29. }
  30. let newCourse = new Course({
  31. courseId: `${courses[0].courseId.split("-")[0]}-${pad(max++)}`,
  32. groupTitle: courses[0].groupTitle,
  33. title: req.body.title,
  34. video: req.body.video,
  35. thumbNail: courses[0].thumbNail,
  36. description: req.body.description,
  37. documents: req.body.documents,
  38. exercises: req.body.exercises
  39. });
  40. return newCourse.save();
  41. })
  42. .then((course)=>{
  43. return res.redirect("/");
  44. })
  45. .catch((err)=>{
  46. return res.json("Something went wrong");
  47. });
  48. },
  49. getCourseGroups: function(req, res){
  50. console.log("something");
  51. }
  52. }