From a29aa126045562f33aeff4a6f2ea8e535e380fa8 Mon Sep 17 00:00:00 2001 From: nemoNoboru Date: Mon, 13 Feb 2017 12:20:04 +0100 Subject: [PATCH] people backed finished --- backend/Dockerfile | 2 +- backend/app/db/db.js | 10 +++++++++- backend/app/index.js | 24 ++++++++++++++++++------ backend/app/people/people.js | 23 ++++++++++++++++++++++- backend/docker-compose.yml | 2 +- 5 files changed, 51 insertions(+), 10 deletions(-) diff --git a/backend/Dockerfile b/backend/Dockerfile index 42b89a6..557f9fd 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -14,4 +14,4 @@ COPY app /app EXPOSE 8080 -CMD [ "npm", "start" ] +CMD [ "node", "index.js" ] diff --git a/backend/app/db/db.js b/backend/app/db/db.js index c51cb59..737e817 100644 --- a/backend/app/db/db.js +++ b/backend/app/db/db.js @@ -1,6 +1,14 @@ var mongoose = require('mongoose') -mongoose.connect("mongodb://mongo:27017") +var MONGO_DB; + var DOCKER_DB = process.env.DB_1_PORT; + if ( DOCKER_DB ) { + MONGO_DB = DOCKER_DB.replace( "tcp", "mongodb" ) + "/dev_db"; + } else { + MONGO_DB = process.env.MONGODB; + } + +mongoose.connect(MONGO_DB) var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); diff --git a/backend/app/index.js b/backend/app/index.js index 67c66fe..d254755 100644 --- a/backend/app/index.js +++ b/backend/app/index.js @@ -3,6 +3,9 @@ var express = require('express') // bodyParser is a lib that parses POST & PUT data var bodyParser = require('body-parser') +// add some entities +var people = require("./people/people.js") + var app = express() var port = process.env.PORT || 8080; @@ -12,19 +15,28 @@ app.use(bodyParser.json()) var people_path = '/people' app.get(people_path,function (req,res) { - res.send('some people here') + people.model.find(function (err,people) { + res.send(people) + }) }) app.post(people_path,function (req,res) { - res.send('create a person here') + var person_name = req.body.name + people.create(person_name,function (err) { + res.send(err) + }) }) -app.put(people_path,function (req,res) { - res.send('modify a person') +app.put(people_path+"/:person_id",function (req,res) { + people.modify(req.params.person_id,req.body.name, function (err) { + res.send(err) + }) }) -app.delete(people_path,function (req,res) { - res.send('delete a person') +app.delete(people_path+"/:person_id",function (req,res) { + people.remove(req.params.person_id, function (err) { + res.send(err) + }) }) app.listen(port) diff --git a/backend/app/people/people.js b/backend/app/people/people.js index 9cce4d3..084ef96 100644 --- a/backend/app/people/people.js +++ b/backend/app/people/people.js @@ -1,6 +1,27 @@ var db = require('../db/db.js') var mongoose = require('mongoose') +var people = {} + db.once('open',function () { - // do things when connection opens + people.model = mongoose.model('People',{ name: String }) + + people.create = function (personName, callback) { + var newPeople = new people.model({ name: personName }) + newPeople.save(callback) + } + + people.modify = function (id,name,callback) { + people.model.findById(id).then(function (person) { + person.name = name + person.save(callback) + }) + } + + people.remove = function (id,callback) { + people.model.findById(id).remove(callback) + } + }) + +module.exports = people diff --git a/backend/docker-compose.yml b/backend/docker-compose.yml index f8dbe2f..8d0d189 100644 --- a/backend/docker-compose.yml +++ b/backend/docker-compose.yml @@ -6,7 +6,7 @@ db: web: build: . volumes: - - app:/app + - ./app:/app ports: - "8000:8080" links: -- 2.18.1