Skip to content

Commit c89ba63

Browse files
committed
Import do modulo de rotas das cervejas
1 parent c774aee commit c89ba63

File tree

6 files changed

+195
-11
lines changed

6 files changed

+195
-11
lines changed

app.js

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
1-
var express = require('express'),
2-
bodyParser = require('body-parser'),
3-
methodOverride = require('method-override'),
4-
errorHandler = require('errorhandler'),
5-
morgan = require('morgan'),
6-
routes = require('./routes'),
7-
partials = require('./routes/partials'),
8-
api = require('./routes/api'),
9-
http = require('http'),
10-
path = require('path');
1+
var express = require('express')
2+
, bodyParser = require('body-parser')
3+
, methodOverride = require('method-override')
4+
, errorHandler = require('errorhandler')
5+
, morgan = require('morgan')
6+
, routes = require('./routes')
7+
, partials = require('./routes/partials')
8+
, api = require('./routes/api')
9+
, http = require('http')
10+
, path = require('path')
11+
, modulesAPI = {}
12+
;
13+
14+
modulesAPI.beers = require('./modules/beers/routes/api');
1115

1216
var app = module.exports = express();
1317

modules/beers/controller.js

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
var Model = require('./model')
2+
, msg = ''
3+
, Controller = {
4+
create: function(req, res) {
5+
var dados = req.body
6+
, model = new Model(dados);
7+
model.save(function (err, data) {
8+
if (err){
9+
console.log('Erro: ', err);
10+
msg = err;
11+
}
12+
else{
13+
console.log('Sucesso:', data);
14+
msg = data;
15+
}
16+
res.json(msg);
17+
});
18+
}
19+
, retrieve: function(req, res) {
20+
var query = {};
21+
Model.find(query, function (err, data) {
22+
if (err){
23+
console.log('Erro: ', err);
24+
msg = err;
25+
}
26+
else{
27+
console.log('Sucesso:', data);
28+
msg = data;
29+
}
30+
res.json(msg);
31+
});
32+
}
33+
, get: function(req, res) {
34+
var query = {_id: req.params.id};
35+
Model.findOne(query, function (err, data) {
36+
if (err){
37+
console.log('Erro: ', err);
38+
msg = err;
39+
}
40+
else{
41+
console.log('Sucesso:', data);
42+
msg = data;
43+
}
44+
res.json(msg);
45+
});
46+
}
47+
, update: function(req, res) {
48+
var query = {_id: req.params.id}
49+
, mod = req.body;
50+
51+
Model.update(query, mod, function (err, data) {
52+
if (err){
53+
console.log('Erro: ', err);
54+
msg = err;
55+
}
56+
else{
57+
console.log('Sucesso:', data);
58+
msg = data;
59+
}
60+
res.json(msg);
61+
});
62+
}
63+
, delete: function(req, res) {
64+
var query = {_id: req.params.id};
65+
66+
Model.remove(query, function (err, data) {
67+
if (err){
68+
console.log('Erro: ', err);
69+
msg = err;
70+
}
71+
else{
72+
console.log('Sucesso:', data);
73+
msg = data;
74+
}
75+
res.json(msg);
76+
});
77+
}
78+
, renderList: function(req, res) {
79+
var query = {};
80+
Model.find(query, function (err, data) {
81+
if (err){
82+
console.log('Erro: ', err);
83+
res.render('error', err);
84+
}
85+
else{
86+
console.log('Sucesso:', data);
87+
res.render('list', {beers: data});
88+
}
89+
});
90+
}
91+
, renderGet: function(req, res) {
92+
var query = {_id: req.params.id};
93+
Model.findOne(query, function (err, data) {
94+
if (err){
95+
console.log('Erro: ', err);
96+
res.render('error', err);
97+
}
98+
else{
99+
console.log('Sucesso:', data);
100+
res.render('get', {beer: data});
101+
}
102+
});
103+
}
104+
, renderEdit: function(req, res) {
105+
var query = {_id: req.params.id};
106+
Model.findOne(query, function (err, data) {
107+
if (err){
108+
console.log('Erro: ', err);
109+
res.render('error', err);
110+
}
111+
else{
112+
console.log('Sucesso:', data);
113+
res.render('edit', {beer: data});
114+
}
115+
});
116+
}
117+
, renderCreate: function(req, res) {
118+
res.render('create');
119+
}
120+
}
121+
;
122+
123+
module.exports = Controller;
124+
125+
126+

modules/beers/model.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
var mongoose = require('mongoose');
2+
mongoose.connect('mongodb://localhost/workshop-online-julho-2015');
3+
4+
var db = mongoose.connection;
5+
db.on('error', function(err){
6+
console.log('Erro de conexao.', err);
7+
});
8+
db.on('open', function () {
9+
console.log('Conexão aberta.');
10+
});
11+
db.on('connected', function(err){
12+
console.log('Conectado');
13+
});
14+
db.on('disconnected', function(err){
15+
console.log('Desconectado');
16+
});
17+
18+
var Schema = mongoose.Schema
19+
, _schema = {
20+
name: { type: String, default: '' }
21+
, description: { type: String, default: '' }
22+
, alcohol: { type: Number, min: 0, default: '' }
23+
, price: { type: Number, min: 0, default: '' }
24+
, category: { type: String, default: ''}
25+
, created_at: { type: Date, default: Date.now() }
26+
}
27+
, ModelSchema = new Schema(_schema)
28+
, Model = mongoose.model('Beer', ModelSchema)
29+
;
30+
31+
module.exports = Model;

modules/beers/routes/api.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
var express = require('express');
2+
var router = express.Router();
3+
var Controller = require('./../controller');
4+
5+
router.get('/', Controller.retrieve);
6+
router.get('/:id', Controller.get);
7+
8+
router.post('/', Controller.create);
9+
router.put('/:id', Controller.update);
10+
router.delete('/:id', Controller.delete);
11+
12+
module.exports = router;

modules/beers/routes/index.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
var express = require('express');
2+
var router = express.Router();
3+
var Controller = require('./../controller');
4+
5+
router.get('/', Controller.renderList);
6+
router.get('/create', Controller.renderCreate);
7+
router.get('/:id', Controller.renderGet);
8+
router.get('/:id/edit', Controller.renderEdit);
9+
10+
module.exports = router;

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"private": true,
55
"scripts": {
66
"prestart": "npm install",
7-
"start": "node bin/www"
7+
"start": "nodemon bin/www"
88
},
99
"dependencies": {
1010
"body-parser": "^1.0.2",
@@ -13,6 +13,7 @@
1313
"express": "~4.1.1",
1414
"jade": "~0.31.2",
1515
"method-override": "^1.0.0",
16+
"mongoose": "^4.1.0",
1617
"morgan": "^1.0.0"
1718
}
1819
}

0 commit comments

Comments
 (0)