diff --git a/backend/Dockerfile b/backend/Dockerfile index 42b89a60dcdbfffd217d03d6127cf48dd64be510..557f9fd1376b61a734c25539d08542351d91db57 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 c51cb590685c8e736e2b20304aee636ad4b9cf6d..737e817870d0b2fd0d128798b804c647e772d9bd 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 67c66fe13516f4c97b73be5e5dfac93080f3decb..d25475509383547014b73860945ca561e0cad93c 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 9cce4d36cab344f4b707fe7aeb2850c4890e2c36..084ef96a8eaeff838f2b025bbdc380722f12c31d 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 f8dbe2f2ff6493a335f90b46712c545b0b8724ce..8d0d189fcb2f54a948683cc6ffe6bcec17673def 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: