commit affc743063922dac70796be2e60d73f7f730f7eb Author: Märt Kalmo Date: Mon Mar 27 14:58:24 2017 +0300 1st diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c129c5e --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +node_modules +bower_components + +/.settings +/.classpath +/.project + +/.idea +*.iml +*.log diff --git a/dao.js b/dao.js new file mode 100644 index 0000000..e6a7818 --- /dev/null +++ b/dao.js @@ -0,0 +1,25 @@ +'use strict'; + +const mongodb = require('mongodb'); +const ObjectID = require('mongodb').ObjectID; +const COLLECTION = 'test-collection'; + +class Dao { + + connect(url) { + return mongodb.MongoClient.connect(url) + .then(db => this.db = db); + } + + findAll() { + return this.db.collection(COLLECTION).find().toArray(); + } + + close() { + if (this.db) { + this.db.close(); + } + } +} + +module.exports=Dao; diff --git a/mongo.js b/mongo.js new file mode 100644 index 0000000..e4b6d80 --- /dev/null +++ b/mongo.js @@ -0,0 +1,26 @@ +'use strict'; + +const mongodb = require('mongodb'); +const ObjectID = mongodb.ObjectID; + +var url = 'mongodb://...'; + +// insert({ key: 'value1' }); +// findAll().then(data => console.log(JSON.stringify(data))); + +function insert(data) { + mongodb.MongoClient.connect(url).then(db => { + var c = db.collection('test-collection'); + c.insertOne(data).then(() => db.close()); + }); +} + +function findAll() { + return mongodb.MongoClient.connect(url).then(db => { + var c = db.collection('test-collection'); + return c.find().toArray().then(data => { + db.close(); + return data; + }); + }); +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..38e5131 --- /dev/null +++ b/package.json @@ -0,0 +1,13 @@ +{ + "name": "exback", + "version": "1.0.0", + "scripts": { + "start": "nodemon server.js" + }, + "devDependencies": { + "body-parser": "^1.17.1", + "express": "^4.15.2", + "mongodb": "^2.2.25", + "nodemon": "^1.11.0" + } +} diff --git a/server.js b/server.js new file mode 100644 index 0000000..21dbefc --- /dev/null +++ b/server.js @@ -0,0 +1,20 @@ +'use strict'; + +const express = require('express'); +const app = express(); + +app.get('/api/contacts', getContacts); +app.get('/api/contacts/:id', getContact); + +app.listen(3000); + +function getContacts(request, response) { + response.set('Content-Type', 'application/json'); + response.end(JSON.stringify([{ id: 1 }, { id: 2 }])); +} + +function getContact(request, response) { + var id = request.params.id; + response.set('Content-Type', 'application/json'); + response.end(JSON.stringify({ id: id })); +}