From 674d995977a612b8840648ac2d65cb06f70fae87 Mon Sep 17 00:00:00 2001
From: Lucas Gabriel Lima <lgl15@inf.ufpr.br>
Date: Thu, 29 Sep 2016 09:47:02 -0300
Subject: [PATCH] Revert "resolve conflicts"

This reverts commit bfe64623b6769e7ec143ee61e04c8a256d19c870, reversing
changes made to 9c8cfa58a19fb5f1c837bf27f58a68909ea3df59.
---
 config.json.example              |  3 +-
 package.json                     |  4 --
 src/libs/app.js                  |  9 +---
 src/libs/db/mongoose.js          |  4 +-
 src/libs/middlewares/passport.js | 28 -----------
 src/libs/models/user.js          | 49 --------------------
 src/libs/routes/api.js           |  3 --
 src/libs/routes/user.js          | 79 --------------------------------
 src/server.js                    | 11 +----
 9 files changed, 6 insertions(+), 184 deletions(-)
 delete mode 100644 src/libs/middlewares/passport.js
 delete mode 100644 src/libs/models/user.js
 delete mode 100644 src/libs/routes/user.js

diff --git a/config.json.example b/config.json.example
index 26ded7f9..136ee928 100644
--- a/config.json.example
+++ b/config.json.example
@@ -11,8 +11,7 @@
         "nrConnections": "16"
     },
     "mongodb" : {
-        "uri": "mongodb://localhost/users",
-        "secret": "simcaqC3SL"
+        "uri": "mongodb://localhost/users"
     },
     "default": {
         "api": {
diff --git a/package.json b/package.json
index dc2908ee..87652e4a 100644
--- a/package.json
+++ b/package.json
@@ -10,7 +10,6 @@
   },
   "dependencies": {
     "apicache": "0.0.14",
-    "bcrypt": "^0.8.7",
     "body-parser": "^1.13.1",
     "chai": "^3.5.0",
     "chai-http": "^3.0.0",
@@ -24,14 +23,11 @@
     "faker": "^2.1.5",
     "forever": "^0.15.2",
     "js2xmlparser": "^1.0.0",
-    "jwt-simple": "^0.5.0",
     "method-override": "^2.3.3",
     "mocha": "^2.5.3",
     "monetdb-pool": "0.0.8",
     "mongoose": "^4.6.0",
     "nconf": "^0.6.x",
-    "passport": "^0.3.2",
-    "passport-jwt": "^2.1.0",
     "squel": "^5.4.2",
     "winston": "^2.2.0"
   },
diff --git a/src/libs/app.js b/src/libs/app.js
index 88767b82..b0390720 100644
--- a/src/libs/app.js
+++ b/src/libs/app.js
@@ -16,16 +16,11 @@ const app = express();
 
 const api = require(`${libs}/routes/api`);
 
-<<<<<<< HEAD
 const mongoose = require(`${libs}/db/mongoose`);
-=======
->>>>>>> auth
 
-const passport = require('passport');
+const db = mongoose();
 
-app.use(passport.initialize());
-
-require('./middlewares/passport')(passport); // pass passport for configuration
+process.env.NODE_ENV = process.env.NODE_ENV || 'development';
 
 app.use(bodyParser.json());
 app.use(bodyParser.urlencoded({ extended: false }));
diff --git a/src/libs/db/mongoose.js b/src/libs/db/mongoose.js
index 896438a8..13b3950d 100644
--- a/src/libs/db/mongoose.js
+++ b/src/libs/db/mongoose.js
@@ -6,14 +6,12 @@ const log = require(`${libs}/log`)(module);
 
 const mongoose = require('mongoose');
 
-mongoose.Promise = global.Promise;
-
 module.exports = () => {
     const mongoUri = config.get('mongodb:uri');
     log.debug(`Connecting to MongDB on URI ${mongoUri}`);
     const db = mongoose.connect(mongoUri);
 
-    mongoose.connection.once('open', () => { log.info('MongoDB connected'); });
+    mongoose.connection.once('open', () => { log.info("MongoDB connected"); });
 
     return db;
 };
diff --git a/src/libs/middlewares/passport.js b/src/libs/middlewares/passport.js
deleted file mode 100644
index 4b915419..00000000
--- a/src/libs/middlewares/passport.js
+++ /dev/null
@@ -1,28 +0,0 @@
-const JwtStrategy = require('passport-jwt').Strategy;
-const ExtractJwt = require('passport-jwt').ExtractJwt;
-const libs = `${process.cwd()}/libs`;
-const config = require(`${libs}/config`);
-const User = ('../models/user');
-
-module.exports = function(passport){
-    var opts = {};
-    opts.jwtFromRequest = ExtractJwt.fromAuthHeader();
-    opts.secretOrKey = config.get('mongodb:secret');
-    passport.use(new JwtStrategy(opts, function(jwt_payload, done){
-        User.find({id: jwt_payload.id}, function(err, user){
-            if (err) {
-                return done(err);
-            }
-
-            if (!user) {
-                return done(null, false, {message: 'Unknown user'});
-            }
-
-            if (!user.comparePassword(password)) {
-                return done(null, false, {message: 'Invalid password'});
-            }
-
-            return done(null, user);
-        });
-    }));
-};
diff --git a/src/libs/models/user.js b/src/libs/models/user.js
deleted file mode 100644
index 01124ec2..00000000
--- a/src/libs/models/user.js
+++ /dev/null
@@ -1,49 +0,0 @@
-const mongoose = require('mongoose');
-const bcrypt = require('bcrypt');
-const libs = `${process.cwd()}/libs`;
-const log = require(`${libs}/log`)(module);
-const Schema = mongoose.Schema;
-
-// set up a mongoose model
-var UserSchema = new Schema({
-    email: {
-        type: String,
-        unique: true,
-        required: true
-    },
-    password: {
-        type: String,
-        required: true
-    }
-});
-
-UserSchema.pre('save', function (next) {
-    var user = this;
-    if (this.isModified('password') || this.isNew) {
-        bcrypt.genSalt(10, function (err, salt) {
-            if (err) {
-                return next(err);
-            }
-            bcrypt.hash(user.password, salt, function (err, hash) {
-                if (err) {
-                    return next(err);
-                }
-                user.password = hash;
-                next();
-            });
-        });
-    } else {
-        return next();
-    }
-});
-
-UserSchema.methods.comparePassword = function (passw, cb) {
-    bcrypt.compare(passw, this.password, function (err, isMatch) {
-        if (err) {
-            return cb(err);
-        }
-        cb(null, isMatch);
-    });
-};
-
-module.exports = mongoose.model('User', UserSchema);
diff --git a/src/libs/routes/api.js b/src/libs/routes/api.js
index 5075f000..c3a870c6 100644
--- a/src/libs/routes/api.js
+++ b/src/libs/routes/api.js
@@ -12,8 +12,6 @@ const city = require('./city');
 
 const school = require('./school');
 
-const user = require('./user');
-
 api.get('/api/v1', (req, res) => {
     res.json({ msg: 'SimCAQ API is running' });
 });
@@ -24,6 +22,5 @@ api.use('/state', state);
 api.use('/region', region);
 api.use('/city', city);
 api.use('/school', school);
-api.use('/user', user);
 
 module.exports = api;
diff --git a/src/libs/routes/user.js b/src/libs/routes/user.js
deleted file mode 100644
index 4cb42c04..00000000
--- a/src/libs/routes/user.js
+++ /dev/null
@@ -1,79 +0,0 @@
-const express = require('express');
-
-const userApp = express();
-
-const libs = `${process.cwd()}/libs`;
-
-const config = require(`${libs}/config`);
-
-const log = require(`${libs}/log`)(module);
-
-const User = require('../models/user');
-
-const jwt = require('jwt-simple');
-
-
-function emailSyntax(email) {
-    const regex = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
-    return regex.test(email);
-}
-
-userApp.post('/', (req, res, next) => {
-    if (!req.body.email || !req.body.password) {
-        res.json({success: false, msg: 'Please pass email and password.'});
-    } else {
-        next();
-    }
-
-}, (req, res, next) => {
-    if(!emailSyntax(req.body.email)){
-        res.json({success: false, msg: 'Invalid email syntax.'});
-    } else {
-        next();
-    }
-
-}, (req, res, next) => {
-    var newUser = new User({
-        email: req.body.email,
-        password: req.body.password
-    });
-
-    // save the user
-    newUser.save((err) => {
-        if (err) {
-            res.json({success: false, msg: 'Email already in use.'});
-        } else {
-            res.json({success: true, msg: 'Successful created new user.'});
-        }
-    });
-});
-
-userApp.post('/authenticate', (req, res) => {
-    User.findOne({
-        email: req.body.email
-    }, (err, user) => {
-        if (err) throw err;
-
-        if(!user){
-            res.json({success: false, msg: 'Authentication failed. User not found.'});
-        }
-        else {
-            user.comparePassword(req.body.password, (err, isMatch) => {
-                if (isMatch && !err) {
-                    var secret = config.get('mongodb:secret');
-
-                    // if user is found and password is right create a token
-                    var token = jwt.encode(user, secret);
-
-                    //returns user info including token as json
-                    res.json({success: true, token: 'JWT ' + token});
-                }
-                else {
-                    res.json({success: false, msg: 'Authentication failed. Wrong password'});
-                }
-            })
-        }
-    })
-})
-
-module.exports = userApp;
diff --git a/src/server.js b/src/server.js
index 5f08052a..4dde9b8e 100644
--- a/src/server.js
+++ b/src/server.js
@@ -8,17 +8,10 @@ const log = require(`${libs}/log`)(module);
 
 const app = require(`${libs}/app`);
 
-const mongoose = require('./libs/db/mongoose');
-
-const db = mongoose();
-
-process.env.NODE_ENV = process.env.NODE_ENV || 'development';
-
-app.set('port', config.get('port') || 3000);
+app.set('port', process.env.PORT || config.get('port') || 3000);
 
 app.set('ip', process.env.IP || config.get('ip') || '127.0.0.1');
 
 const server = app.listen(app.get('port'), () => {
-    debug(`Express server listening on port ${server.address().port}`);
-    log.info(`Express server listening on port ${config.get('port')}`);
+    log.info(`Express server listening on port ${server.address().port}`);
 });
-- 
GitLab