Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
201 changes: 148 additions & 53 deletions models/fillTestData.js
Original file line number Diff line number Diff line change
@@ -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);
};
16 changes: 12 additions & 4 deletions routes/teachers.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,19 @@ var Course = mongoose.model('Course');
function getTeachers(req, res){
var query = { };

var result = Teacher.find(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. De populate ontbreekt nog. Waar moet deze komen te staan?
Teacher.find(query).then((data)=>{res.json(data)})


result.exec((err, data) => {
res.json(data);
});
}

function addTeacher(req, res){
Expand Down