diff --git a/backend/app/index.js b/backend/app/index.js index 436f4fb4260ac9c2749e0e91878841450534e6ce..39998fc9ba8ca224e3cc689cf693726bdfd472a2 100644 --- a/backend/app/index.js +++ b/backend/app/index.js @@ -16,6 +16,14 @@ app.use(cors()) var people_path = '/people' +function end(res,err) { + if (err) { + return res.status(500).send(err) + }else{ + res.send("ok") + } +} + app.get(people_path,function (req,res) { people.index(function (err,people) { res.send(people) @@ -24,20 +32,32 @@ app.get(people_path,function (req,res) { app.post(people_path,function (req,res) { var person_name = req.body.name - people.create(person_name,function (err) { - res.send(err) + people.create(person_name, function (err) { + end(res,err) }) }) app.put(people_path+"/:person_id",function (req,res) { - people.modify(req.params.person_id,req.body.name, function (err) { - res.send(err) + people.modify(req.params.person_id,req.body.name, function (err) { + end(res,err) }) }) app.delete(people_path+"/:person_id",function (req,res) { - people.remove(req.params.person_id, function (err) { - res.send(err) + people.remove(req.params.person_id, function (err) { + end(res,err) + }) +}) + +app.post(people_path+"/pets",function (req,res) { + people.addPet(req.body.id,req.body.petname, function (err) { + end(res,err) + }) +}) + +app.delete(people_path+"/pets",function (req,res) { + people.removePet(req.body.id,req.body.petname, function (err) { + end(res,err) }) }) diff --git a/backend/app/people/people.js b/backend/app/people/people.js index 3862716610013869cd4a8d6de56ae9ad382dc19f..eb26dfaf32ea78df21d3137eb8a9c748f744856e 100644 --- a/backend/app/people/people.js +++ b/backend/app/people/people.js @@ -4,10 +4,10 @@ var mongoose = require('mongoose') var people = {} db.once('open',function () { - people.model = mongoose.model('People',{ name: String }) + people.model = mongoose.model('People',{ name: String, pets: Array }) people.index = function (callback) { - people.model.find({},'name',callback) + people.model.find({},callback) } people.create = function (personName, callback) { @@ -26,6 +26,20 @@ db.once('open',function () { people.model.findById(id).remove(callback) } + people.addPet = function (id,pet_name,callback) { + people.model.findById(id).then(function (person) { + person.pets.push(pet_name) + person.save(callback) + }) + } + + people.removePet = function (id, pet_name , callback) { + people.model.findById(id).then(function (person) { + person.pets.remove(pet_name) + person.save(callback) + }) + } + }) module.exports = people