Guest User

Untitled

a guest
May 22nd, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.75 KB | None | 0 0
  1. var express = require('express');
  2.  
  3. var app = express();
  4.  
  5.  
  6. var bodyParser = require('body-parser');
  7.  
  8.  
  9. var allowCors = function(req, res, next) {
  10. res.header('Access-Control-Allow-Origin', '127.0.0.1');
  11. res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
  12. res.header('Access-Control-Allow-Headers', 'Content-Type');
  13. res.header('Access-Control-Allow-Credentials', 'true');
  14.  
  15. next();
  16. }
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23. var mongoose = require('mongoose');
  24.  
  25. var validator = require('validator');
  26.  
  27. var User;
  28.  
  29. mongoose.connect('mongodb://localhost/api01');
  30. var db = mongoose.connection;
  31. db.on('error', console.error.bind(console, 'connection error...'));
  32. db.once('open', function () {
  33. var userSchema = mongoose.Schema({
  34. fullname: String,
  35. email: String,
  36. password: String,
  37. created_at: Date
  38. });
  39. User = mongoose.model('User', userSchema);
  40. });
  41.  
  42.  
  43.  
  44. app.listen(5000);
  45.  
  46. app.use(allowCors);
  47.  
  48. app.use(bodyParser.json());
  49. app.use(bodyParser.urlencoded ({
  50. extended: true
  51. }));
  52.  
  53. app.get ('/', function(req, res){
  54. res.end('Server ON');
  55. });
  56.  
  57. app.get ('/users', function(req, res){
  58.  
  59. User.find({}, function(error, users) {
  60. if(error) {
  61. res.json({error: 'Nao foi possivel listar'});
  62.  
  63. }else {
  64. res.json(users);
  65. }
  66. });
  67.  
  68.  
  69. });
  70. app.get ('/users/:id', function(req, res){
  71.  
  72. var id = validator.trim(validator.escape(req.param('id')));
  73.  
  74. User.findById(id, function(error, user) {
  75. if(error) {
  76. res.json({error: 'Nao foi possivel listar'});
  77.  
  78. }else {
  79. res.json(user);
  80. }
  81. });
  82. });
  83. app.post ('/users', function(req, res){
  84.  
  85. var fullname = req.param('fullname');
  86. var email = req.param('email');
  87. var password = req.param('password');
  88.  
  89.  
  90. new User({
  91. 'fullname': fullname,
  92. 'email': email,
  93. 'password': password,
  94. 'created_at': new Date()
  95. }).save(function(error, user) {
  96. if(error) {
  97. res.json({error: 'Não foi possível salvar o usuário'});
  98. } else {
  99. res.json(user);
  100. }
  101. });
  102. });
  103. app.put ('/users/:id', function(req, res){
  104.  
  105. var fullname = req.param('fullname');
  106. var email = req.param('email');
  107. var password = req.param('password');
  108. var id = req.param('id');
  109.  
  110.  
  111.  
  112. User.findById(id, function(error, user) {
  113.  
  114. if(fullname) {
  115. user.fullname = fullname;
  116. }
  117. if(email) {
  118. user.email = email;
  119. }
  120. if(password) {
  121. user.password = password;
  122. }
  123.  
  124. user.save(function(error, user) {
  125. if(error) {
  126. res.json({error: 'Não foi possível salvar o usuário'});
  127. } else {
  128. res.json(user);
  129. }
  130. });
  131. });
  132.  
  133.  
  134. });
  135.  
  136. app.delete ('/users/:id', function(req, res){
  137. var id = req.param('id');
  138.  
  139. User.findById(id, function(error, user) {
  140. if(error) {
  141. res.json({error: 'Nao foi possivel listar'});
  142.  
  143. }else {
  144. user.remove(function(error){
  145. if(!error) {
  146. res.json({response: 'Usuario excluido'});
  147. }
  148. });
  149. }
  150. });
  151. });
Add Comment
Please, Sign In to add comment