From 31b0e208e8c53619182243c8869ecd612c110f8c Mon Sep 17 00:00:00 2001 From: carrons <61310838+carrons@users.noreply.github.com> Date: Fri, 29 Dec 2023 15:49:14 +0100 Subject: [PATCH 1/4] Update teachers.js Changed getTeachers in order to let it work with major version upgrade of mongoose --- routes/teachers.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/routes/teachers.js b/routes/teachers.js index 3ae53d5..cdf7739 100644 --- a/routes/teachers.js +++ b/routes/teachers.js @@ -8,12 +8,7 @@ var Course = mongoose.model('Course'); function getTeachers(req, res){ var query = { }; - - var result = Teacher.find(query); - - result.exec((err, data) => { - res.json(data); - }); + Teacher.find(query).then((data)=>{res.json(data)}) } function addTeacher(req, res){ From 3dad9d7cf6d6e0b8b6c535e92ac7bec86136990b Mon Sep 17 00:00:00 2001 From: carrons Date: Sun, 28 Jan 2024 14:44:38 +0100 Subject: [PATCH 2/4] Update fillTestData.js Chsnged callback to promises --- models/fillTestData.js | 201 ++++++++++++++++++++++++++++++----------- 1 file changed, 148 insertions(+), 53 deletions(-) diff --git a/models/fillTestData.js b/models/fillTestData.js index 7e68dd1..344adaf 100644 --- a/models/fillTestData.js +++ b/models/fillTestData.js @@ -1,60 +1,155 @@ -var mongoose = require('mongoose'); -var Teacher = mongoose.model('Teacher'); -var Course = mongoose.model('Course'); -var q = require('q'); - -function saveCallback(err){ - if(err){ - console.log('Fill testdata failed, reason: %s', err) - } -}; +var mongoose = require("mongoose"); +var Teacher = mongoose.model("Teacher"); +var Course = mongoose.model("Course"); +var q = require("q"); +function fillTestCourses() { + Course.find({}).then(function (data) { + if (data.length == 0) { + console.log("Creating courses testdata"); + var course1 = new Course({ + _id: "mbd1", + name: "Hybrid Mobile Development", + description: "Making mobile apps with HTML5", + weightEC: 2, + block: 11, + content: [ + { week: 1, description: "introduction" }, + { week: 2, description: "JQuery UI" }, + ], + }); + var course2 = new Course({ + _id: "webs5", + name: "Cloud Services", + description: "Making cloud services with NodeJS", + weightEC: 4, + block: 11, + content: [ + { week: 1, description: "introduction" }, + { week: 2, description: "ReST" }, + ], + }); + var course3 = new Course({ + _id: "webs2", + name: "PHP", + description: "Yeah baby!", + weightEC: 2, + block: 7, + content: [], + }); + var course4 = new Course({ + _id: "idpat", + name: "Interaction Design Patterns", + description: "Mooie plaatjes", + weightEC: 2, + block: 7, + content: [], + }); -function fillTestCourses(callback){ - Course.find({}).then(function(data){ - if(data.length == 0){ - console.log('Creating courses testdata'); - new Course({_id: 'mbd1', name: 'Hybrid Mobile Development', description: 'Making mobile apps with HTML5', - weightEC: 2, block: 11, content: [{ week: 1, description: 'introduction'}, { week: 2, description: 'JQuery UI'}] - }).save(saveCallback); - new Course({_id: 'webs5', name: 'Cloud Services', description: 'Making cloud services with NodeJS', - weightEC: 4, block: 11, content: [{ week: 1, description: 'introduction'}, { week: 2, description: 'ReST'}] - }).save(saveCallback); - new Course({_id: 'webs2', name: 'PHP', description: 'Yeah baby!', - weightEC: 2, block: 7, content: [] - }).save(saveCallback); - new Course({_id: 'idpat', name: 'Interaction Design Patterns', description: 'Mooie plaatjes', - weightEC: 2, block: 7, content: [] - }).save(saveCallback); - } else{ - console.log('Skipping create courses testdata, allready present'); - } + Promise.all([ + course1.save(), + course2.save(), + course3.save(), + course4.save(), + ]) + .then(function () { + console.log("Courses testdata created"); + }) + .catch(function (err) { + console.log("Fill testdata failed, reason: %s", err); + }); + } else { + console.log("Skipping create courses testdata, already present"); + } + }); +} - return; - }); -}; +function fillTestTeachers() { + Teacher.find({}).then(function (data) { + if (data.length == 0) { + console.log("Creating teachers testdata"); -function fillTestTeachers(){ - Teacher.find({}).then(function(data){ - if(data.length == 0){ - console.log('Creating teachers testdata'); + var teacher1 = new Teacher({ + _id: "mmaaschu", + firstName: "Martijn", + lastName: "Schuurmans", + age: 26, + isActive: true, + courses: ["mbd1", "webs5", "idpat"], + }); + var teacher2 = new Teacher({ + _id: "ssmulder", + firstName: "Stijn", + lastName: "Smulders", + age: 24, + isActive: true, + courses: ["mbd1", "webs5", "webs2"], + }); + var teacher3 = new Teacher({ + _id: "piet", + firstName: "Piet", + lastName: "Pietersen", + age: 30, + isActive: true, + }); + var teacher4 = new Teacher({ + _id: "jan", + firstName: "Jan", + lastName: "Jansen", + age: 40, + isActive: true, + }); + var teacher5 = new Teacher({ + _id: "kees", + firstName: "Kees", + lastName: "Keessen", + age: 50, + isActive: true, + }); + var teacher6 = new Teacher({ + _id: "klaas", + firstName: "Klaas", + lastName: "Klaassen", + age: 60, + isActive: true, + }); + var teacher7 = new Teacher({ + _id: "karel", + firstName: "Karel", + lastName: "Karelsen", + age: 70, + isActive: true, + }); + var teacher8 = new Teacher({ + _id: "henk", + firstName: "Henk", + lastName: "Henksen", + age: 80, + isActive: true, + }); - new Teacher({_id: 'mmaaschu', firstName: 'Martijn', lastName: 'Schuurmans', age: 26, isActive: true, courses: ['mbd1', 'webs5', 'idpat'] }).save(saveCallback); - new Teacher({_id: 'ssmulder', firstName: 'Stijn', lastName: 'Smulders', age: 24, isActive: true, courses: ['mbd1', 'webs5', 'webs2'] }).save(saveCallback); - new Teacher({_id: 'piet', firstName: 'Piet', lastName: 'Pietersen', age: 30, isActive: true }).save(saveCallback); - new Teacher({_id: 'jan', firstName: 'Jan', lastName: 'Jansen', age: 40, isActive: true }).save(saveCallback); - new Teacher({_id: 'kees', firstName: 'Kees', lastName: 'Keessen', age: 50, isActive: true }).save(saveCallback); - new Teacher({_id: 'klaas', firstName: 'Klaas', lastName: 'Klaassen', age: 60, isActive: true }).save(saveCallback); - new Teacher({_id: 'karel', firstName: 'Karel', lastName: 'Karelsen', age: 70, isActive: true }).save(saveCallback); - new Teacher({_id: 'henk', firstName: 'Henk', lastName: 'Henksen', age: 80, isActive: true }).save(saveCallback); - } else{ - console.log('Skipping create teachers testdata, allready present'); - } + Promise.all([ + teacher1.save(), + teacher2.save(), + teacher3.save(), + teacher4.save(), + teacher5.save(), + teacher6.save(), + teacher7.save(), + teacher8.save(), + ]) + .then(function () { + console.log("Teachers testdata created"); + }) + .catch(function (err) { + console.log("Fill testdata failed, reason: %s", err); + }); + } else { + console.log("Skipping create teachers testdata, already present"); + } + }); +} - return; - }); +module.exports = function () { + q.fcall(fillTestCourses).then(fillTestTeachers); }; - -module.exports = function(){ - q.fcall(fillTestCourses).then(fillTestTeachers); -}; \ No newline at end of file From 464f3254ef58eb9d023796f307e560a264d43c36 Mon Sep 17 00:00:00 2001 From: carrons Date: Sun, 28 Jan 2024 14:55:10 +0100 Subject: [PATCH 3/4] Update teachers.js Created anaother way to populate in teachers.js --- routes/teachers.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/routes/teachers.js b/routes/teachers.js index cdf7739..5115473 100644 --- a/routes/teachers.js +++ b/routes/teachers.js @@ -8,7 +8,20 @@ var Course = mongoose.model('Course'); function getTeachers(req, res){ var query = { }; + + //Alternatief + // var result = Teacher.find(query); + // + // result.exec((err, data) => { + // if(err){console.log('err.message: '+err.message)} + // res.json(data); + // }); + + + //Of gebruik deze verkorte versie. Waar moet hier de populate komen? Teacher.find(query).then((data)=>{res.json(data)}) + + } function addTeacher(req, res){ From b7a2e6450a5bfa4444f2460f2b594069eac3a153 Mon Sep 17 00:00:00 2001 From: carrons <61310838+carrons@users.noreply.github.com> Date: Sun, 9 Feb 2025 13:50:09 +0100 Subject: [PATCH 4/4] Update teachers.js Comment txt uitgebreid --- routes/teachers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routes/teachers.js b/routes/teachers.js index 5115473..e4f8231 100644 --- a/routes/teachers.js +++ b/routes/teachers.js @@ -18,7 +18,7 @@ function getTeachers(req, res){ // }); - //Of gebruik deze verkorte versie. Waar moet hier de populate komen? + //Of gebruik deze verkorte versie. De populate ontbreekt nog. Waar moet deze komen te staan? Teacher.find(query).then((data)=>{res.json(data)})