var express = require('express'); var app = express(); var mongoose = require('mongoose'); var Schema = mongoose.Schema; var bodyParser = require('body-parser'); //var methodOverride = require('method-override'); mongoose.connect('mongodb://127.0.0.1:27017/TodoAppDB'); app.use(express.static(__dirname + '/public')); app.use(bodyParser.json()); //app.use(methodOverride()); //============================================================================= // define Schema for all table in the DB //tasks Schema var TaskSchema = new Schema({ task_name: String, task_status: Boolean, DueDate: Date, Project_id: { type: Schema.Types.ObjectId, ref: 'Project' } //CreatedById: [{ type: Schema.Types.ObjectId, ref: 'User' }] }); var Task = mongoose.model('tasks', TaskSchema); // task model //projects Schema var ProjectSchema = new Schema({ project_name: String, //CreatedById: [{ type: Schema.Types.ObjectId, ref: 'User' }], project_status: Boolean }); var Project = mongoose.model('projects', ProjectSchema); //=============================================================================== //Task query app.get('/tasks', function(req, res) { console.log("I recived a get request."); Task.find().exec(function(err, tasks) { res.json(tasks); // }); }); app.post('/tasks', function(req, res) { Task.create(req.body, function(err, tasks) { res.json(tasks); }); }); app.put('/tasks/:id', function(req, res){ console.log(req.body); Task.update({_id:req.params.id},req.body,{upsert:true},function(err) { if(!err) { res.send('updated'); } else { console.log(err); res.send(404); } }); }); app.delete('/tasks/:id', function(req, res){ Task.remove({_id: req.params.id}, function(err) { if(!err) { res.send('deleted'); } else { console.log(err); res.send(404); } }); }); // ================================================================================== //Projects query app.get('/projects', function(req, res) { Project.find().exec(function(err, projects) { res.json(projects); }); }); app.post('/projects', function(req, res) { Project.create(req.body, function(err, projects) { res.json(projects); }); }); app.put('/projects/:id', function(req, res){ console.log(req.body); Project.update({_id:req.params.id},req.body,{upsert:true},function(err) { if(!err) { res.send('updated'); } else { console.log(err); res.send(404); } }); }); app.delete('/projects/:id', function(req, res){ Project.remove({_id: req.params.id}, function(err) { if(!err) { res.send('deleted'); } else { console.log(err); res.send(404); } }); }); // ================================================================================== app.listen(8080); console.log("Server started on port 8080...");