var mongoose = require('mongoose'); var express = require('express'); var app = express(); var db = mongoose.connection; //var Professor = require('./models/professor'); var bodyParser = require('body-parser'); app.use(express.static(__dirname)); app.use(bodyParser.json()); db.on('error', console.error); db.once('open', function() { var assitanceSchema = new mongoose.Schema({ day: String, assistance: Boolean }); var studentSchema = new mongoose.Schema({ id: Number, name: String, lastname: String, email: String, assistance: Number, btaddress: String, assistanceTotal: [assitanceSchema] }); var sectionSchema = new mongoose.Schema({ name: String, code: String, course: String, semester: String, students: [studentSchema] }); var courseSchema = new mongoose.Schema({ code: String, name: String, credits: Number, description: String, sections: [sectionSchema] }); var professorSchema = new mongoose.Schema({ id: Number, name: String, lastname: String, email: String, number: String, role: String, password: String, courses: [courseSchema] }); var Professor = mongoose.model('Professor', professorSchema); //Professor CRUD app.get('/professors', function(req, res){ console.log('Received GET ALL professors request'); Professor.find(function(err, docs){ //console.log(docs); res.json(docs); }) }); app.get('/professors/:id', function(req, res){ console.log('Received GET professor request'); console.log(req.params); Professor.findById(req.params.id, function(err, docs){ console.log(docs); res.json(docs); }) }); app.post('/professors', function(req, res){ console.log('Received ADD professor request'); //console.log(req.body); var professor = new Professor({ id: req.body.id, name: req.body.name, lastname: req.body.lastname, email: req.body.email, number: req.body.number, role: req.body.role, password: req.body.password, course: [ { name:"Materia" } ] }) professor.save( function(err, docs){ //console.log(docs); res.json(docs); }) }); app.delete('/professors/:id', function(req, res){ console.log("Received DELETE professor request..."); console.log(req.params); Professor.findByIdAndRemove(req.params.id, function(err, docs){ //console.log(docs); res.json(docs); }); }); app.put('/professors/:id', function(req, res){ console.log("Received UPDATE professor request"); console.log("params:" + req.params); console.log("body:" + req.body); Professor.findById(req.params.id, function (err, professor) { if (err) res.send(err); if (typeof req.body.email != 'undefined') professor.email = req.body.email; if (typeof req.body.number != 'undefined') professor.number = req.body.number; if (typeof req.body.courses != 'undefined') professor.courses = req.body.courses; professor.save(function(err, docs){ if (err) res.send(err); console.log(docs); res.json(docs); }); }); }); }); mongoose.connect('mongodb://localhost/AttendanceDB'); app.listen(3000); console.log("server running on port 3000");