Skip to content

Commit

Permalink
Users Endpoing
Browse files Browse the repository at this point in the history
  • Loading branch information
wbruno committed Mar 31, 2015
1 parent d8b6065 commit f77a708
Show file tree
Hide file tree
Showing 7 changed files with 93 additions and 3 deletions.
11 changes: 11 additions & 0 deletions crud-nodejs/Db/mysql.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : 'nodecrud'
});

connection.connect();

module.exports = connection;
44 changes: 44 additions & 0 deletions crud-nodejs/controller/UsersController.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
var UsersModel = require('../model/UsersModel');
var Promise = require('bluebird');


function UsersController(Model) {
this.Model = Promise.promisifyAll(Model);
}

UsersController.prototype.create = function(req, res) {

};

UsersController.prototype.findOne = function(req, res) {
var _id = req.params._id;

this.Model.findOneAsync(_id)
.then(function(result) {
res.json(result[0] || []);
})
.catch(function(err) {
console.log(err)
});
};

UsersController.prototype.findAll = function(req, res) {
this.Model.findAllAsync()
.then(function(result) {
res.json(result || []);
})
.catch(function(err) {
console.log(err)
});
};

UsersController.prototype.update = function(req, res) {

};


UsersController.prototype.delete = function(req, res) {

};

module.exports = new UsersController(UsersModel);
Empty file.
2 changes: 0 additions & 2 deletions crud-nodejs/model/ProductsModel.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ ProductsModel.prototype.create = function(data, callback) {
};

ProductsModel.prototype.findOne = function(_id, callback) {
console.log('model _id', _id);

mongo.collection('products').findOne({ "_id": mongo.ObjectId(_id) }, callback);
};

Expand Down
31 changes: 31 additions & 0 deletions crud-nodejs/model/UsersModel.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
var mysql = require('../Db/mysql');

function UsersModel() {

}

UsersModel.prototype.create = function(data, callback) {

};

UsersModel.prototype.findOne = function(_id, callback) {
mysql.query('SELECT id, name, age FROM users WHERE id = ' + _id, function(err, rows, fields) {
callback(err, rows);
});
};

UsersModel.prototype.findAll = function(callback) {
mysql.query('SELECT id, name, age FROM users', function(err, rows, fields) {
callback(err, rows);
});
};

UsersModel.prototype.update = function(data, _id, callback) {

};

UsersModel.prototype.delete = function(_id, callback) {

};

module.exports = new UsersModel();
3 changes: 2 additions & 1 deletion crud-nodejs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@
"body-parser": "^1.12.2",
"express": "^4.12.3",
"method-override": "^2.3.2",
"mongojs": "^0.18.2"
"mongojs": "^0.18.2",
"mysql": "^2.6.1"
},
"devDependencies": {
"mocha": "^2.2.1",
Expand Down
5 changes: 5 additions & 0 deletions crud-nodejs/routes/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,16 @@ var express = require('express');
var router = express.Router();

var ProductsController = require('../controller/ProductsController');
var UsersController = require('../controller/UsersController');

router.get ('/products', ProductsController.findAll.bind(ProductsController));
router.get ('/products/:_id', ProductsController.findOne.bind(ProductsController));
router.post('/products', ProductsController.create.bind(ProductsController));
router.put ('/products/:_id', ProductsController.update.bind(ProductsController));
router.delete('/products/:_id', ProductsController.delete.bind(ProductsController));


router.get ('/users', UsersController.findAll.bind(UsersController));
router.get ('/users/:_id', UsersController.findOne.bind(UsersController));

module.exports = router;

0 comments on commit f77a708

Please sign in to comment.