diff --git a/.gitignore b/.gitignore index a5199f68783884ee18f14773981c20b7608c7153..88069f17f8f3c68a0cdf977955274f63be8e3b12 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ node_modules/ -.idea \ No newline at end of file +.idea +db-config \ No newline at end of file diff --git a/adapters/allcalorie-db-adapter.js b/adapters/allcalorie-db-adapter.js index 34042ca9863d9a156a2016c9f662d92af3cbadb8..cc90e6b504900acfa96c51d5350274f35ac3630b 100644 --- a/adapters/allcalorie-db-adapter.js +++ b/adapters/allcalorie-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); var pool = mysql.createPool(dbConfig); diff --git a/adapters/appdaily-db-adapter.js b/adapters/appdaily-db-adapter.js index 531e5d3f68f4fbd9dbceebb8a81d2ba30162820e..f79e5308a0091f84e1c5882dc865c6fb333a2503 100644 --- a/adapters/appdaily-db-adapter.js +++ b/adapters/appdaily-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/appuser-db-adapter.js b/adapters/appuser-db-adapter.js index 38c4fcda876db46f35dff4783d07a9b95c8845d8..d81f729cdbc973ebe906430dcc4ebdf756e357c2 100644 --- a/adapters/appuser-db-adapter.js +++ b/adapters/appuser-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/appuserjson-db-adapter.js b/adapters/appuserjson-db-adapter.js index e9de807d06e6657232e23b7e7ec4e76d18c46a9e..cc00441906ca724167f09cebc9aba051159d7c24 100644 --- a/adapters/appuserjson-db-adapter.js +++ b/adapters/appuserjson-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/calorie-db-adapter.js b/adapters/calorie-db-adapter.js index cad75f32b0979fc74097eeae4bd0e05d85cc87e6..4e506e09260a786da2e92c1c81f7b16d8d986fa7 100644 --- a/adapters/calorie-db-adapter.js +++ b/adapters/calorie-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); var pool = mysql.createPool(dbConfig); diff --git a/adapters/foodlist-db-adapter.js b/adapters/foodlist-db-adapter.js index 4988492d96ce18184fe6905afc60443483dc0312..3cc884837f7a92bc5a2bffc076fecdd7ba2e57e3 100644 --- a/adapters/foodlist-db-adapter.js +++ b/adapters/foodlist-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/login-db-adapter.js b/adapters/login-db-adapter.js index ce017a73fa992ca6eafe81129f9b1959d936ca50..a6806b76cfceb639b082a45b60251f086571b134 100644 --- a/adapters/login-db-adapter.js +++ b/adapters/login-db-adapter.js @@ -1,18 +1,20 @@ +var bcrypt = require('bcrypt-nodejs'); var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); var pool = mysql.createPool(dbConfig); var adapter = {}; -var loginSearchQuery = 'SELECT * FROM appuser WHERE id=? AND password=?'; // id/pw를 이용하여 유저 정보 search +var loginSearchQuery = 'SELECT * FROM appuser WHERE id=?'; // id를 이용하여 유저 정보 search adapter.loginSearch = function(id, password, cb) { var resultCode = dbResult.Fail; @@ -24,16 +26,25 @@ adapter.loginSearch = function(id, password, cb) { connection.release(); cb(resultCode, []); } else { // db연결성공 - connection.query(loginSearchQuery, [id, password], function(err, rows) { + connection.query(loginSearchQuery, [id], function(err, rows) { if (err) { // 로그인 실패 console.log(err); resultCode = dbResult.Fail; connection.release(); cb(resultCode, []); } else { // 로그인 성공 - resultCode = dbResult.OK; - connection.release(); - cb(resultCode, rows); + bcrypt.compare(password, rows[0].password, function(err, res) { + if (res) { + console.log(res); + resultCode = dbResult.OK; + connection.release(); + cb(resultCode, rows); + } else { + resultCode = dbResult.Fail; + connection.release(); + cb(resultCode, []); + } + }); } }); } diff --git a/adapters/signup-db-adapter.js b/adapters/signup-db-adapter.js index ab2e998dcc572540b4c36fa91b27e2abfe2abe09..d506c9877d4e0f2efe080cff38f6d86d90c07472 100644 --- a/adapters/signup-db-adapter.js +++ b/adapters/signup-db-adapter.js @@ -1,11 +1,13 @@ +var bcrypt = require('bcrypt-nodejs'); var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); var pool = mysql.createPool(dbConfig); @@ -16,7 +18,8 @@ var userWriteQuery = 'INSERT INTO appuser(id, password, name, email) VALUE (?,?, adapter.signupWrite = function(user, cb) { var resultCode = dbResult.Fail; - + var password = user.password; + console.log(user); pool.getConnection(function(err, connection) { if (err) { console.log(err) @@ -33,19 +36,21 @@ adapter.signupWrite = function(user, cb) { connection.release(); cb(resultCode); } else { - connection.query(userWriteQuery, [user.id, user.password, user.name, user.email], - function(err) { - if (err) { - console.log(err) - resultCode = dbResult.Fail; - connection.release(); - cb(resultCode); - } else { - console.log("signup success"); - resultCode = dbResult.OK; - connection.release(); - cb(resultCode); - } + bcrypt.hash(password, null, null, function(err, hash) { + password = hash; + connection.query(userWriteQuery, [user.id, password, user.name, user.email], function(err) { + if (err) { + console.log(err) + resultCode = dbResult.Fail; + connection.release(); + cb(resultCode); + } else { + console.log("signup success"); + resultCode = dbResult.OK; + connection.release(); + cb(resultCode); + } + }); }); } } else { // query가 오지 않는 경우 diff --git a/adapters/trainer-db-adapter.js b/adapters/trainer-db-adapter.js index c4dc50f36e78d11980d5e0ce24150824a5d98ff6..5999afa208d7024372e40d1bb90fe2368eaef1c8 100644 --- a/adapters/trainer-db-adapter.js +++ b/adapters/trainer-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/trainer-login-db-adapter.js b/adapters/trainer-login-db-adapter.js index 37ee2097b42874c5e6df24081b20566184912985..3cf609fffa91a2a72e4264c9596e4b0a7955ca1e 100644 --- a/adapters/trainer-login-db-adapter.js +++ b/adapters/trainer-login-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/userinput-db-adapter.js b/adapters/userinput-db-adapter.js index 1d80bc3f3e4960192b559a3eae61b0c67ed13dc4..c7211173365f0a477a81f6a59d3ddd5fb12c0e0e 100644 --- a/adapters/userinput-db-adapter.js +++ b/adapters/userinput-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/userupdate-db-adapter.js b/adapters/userupdate-db-adapter.js index 4f7eeb85ab88d4aed199b2acdac070d2c44fa29f..26f5fcefd95ed3736d8c71867bc8436dbc8cdb06 100644 --- a/adapters/userupdate-db-adapter.js +++ b/adapters/userupdate-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/webdaily-db-adapter.js b/adapters/webdaily-db-adapter.js index 50eeb31e00b605bf7689e4b77d4c36b78c91bbd8..6be8edbc7a22cea893dad901fd4d3e5b9f3c751b 100644 --- a/adapters/webdaily-db-adapter.js +++ b/adapters/webdaily-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/webfood-db-adapter.js b/adapters/webfood-db-adapter.js index e29871cb1b7c2723ebc4672150184aeb25eed524..669c8f74f3ae298d6b74e851bbbc8e451ebadc88 100644 --- a/adapters/webfood-db-adapter.js +++ b/adapters/webfood-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/webqa-db-adapter.js b/adapters/webqa-db-adapter.js index 37ee2097b42874c5e6df24081b20566184912985..3cf609fffa91a2a72e4264c9596e4b0a7955ca1e 100644 --- a/adapters/webqa-db-adapter.js +++ b/adapters/webqa-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/adapters/webworkout-db-adapter.js b/adapters/webworkout-db-adapter.js index ecf5ebb63c61bda941208cc94f6600d3e2acfb1a..66e5b19f2db730d9cf7476fb5efe0cd8a72244a2 100644 --- a/adapters/webworkout-db-adapter.js +++ b/adapters/webworkout-db-adapter.js @@ -1,11 +1,12 @@ var mysql = require('mysql'); +var db_config = require('../db-config'); var dbConfig = { - host: '18.221.204.247', - port: '3306', - user: 'root', // mysql user - password: '5907', // mysql password - database: 'capstone', - connectionLimit: 10 + host: db_config.host, + port: db_config.port, + user: db_config.user, + password: db_config.password, + database: db_config.database, + connectionLimit: db_config.connectionLimit } var dbResult = require('../routes/result'); diff --git a/package-lock.json b/package-lock.json index 4210ef6404be57693eed8ab6b5c12ae7f5dcf685..3d6c26ce67b7aa81f1a97f3e4e9c75df98c1d23c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,6 +31,11 @@ "safe-buffer": "5.1.1" } }, + "bcrypt-nodejs": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/bcrypt-nodejs/-/bcrypt-nodejs-0.0.3.tgz", + "integrity": "sha1-xgkX8m3CNWYVZsaBBhwwPCsohCs=" + }, "bignumber.js": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-4.0.4.tgz", diff --git a/package.json b/package.json index 6f3e02ba872c65658b03dc6f68f9edf5c5e60b17..19c74ef1e6b1631ffede10ffd88bee21990782ba 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "url": "http://git.ajou.ac.kr/JINSUYUN/Capstone_Link.git" }, "dependencies": { + "bcrypt-nodejs": "0.0.3", "body-parser": "^1.18.3", "cookie-parser": "^1.4.3", "debug": "~2.6.9", diff --git a/routes/login-router.js b/routes/login-router.js index 16ca1fc819a4530a8ac83896f20947b77d0c6bad..51787c4117140ffb9c0a8bef0f4c837e9212c1e4 100644 --- a/routes/login-router.js +++ b/routes/login-router.js @@ -22,28 +22,22 @@ router.post('/', function(req, res) { loginAdapter.loginSearch(userId, userPassword, function(resultCode,rows){ if(resultCode == dbConnection.OK){ if(rows.length > 0){ - if(rows[0].password == obj.password){ - if (resultCode == dbConnection.OK) { - var response; - console.log("login success"); - if(rows[0].sex == undefined || rows[0].age == undefined || rows[0].weight == undefined - || rows[0].height == undefined || rows[0].targetweight == undefined || rows[0].targetperiod == undefined - || rows[0].workperiod == undefined || rows[0].worklevel == undefined) { - response = Object.assign(rows[0], {"success":true, "survey":false}); - } else { - response = Object.assign(rows[0], {"success":true, "survey":true}); - } - console.log(response); - res.json(response); - } - else { - console.log("false reason: db disconnected"); - res.json({"success": false}); + if (resultCode == dbConnection.OK) { + var response; + console.log("login success"); + if(rows[0].sex == undefined || rows[0].age == undefined || rows[0].weight == undefined + || rows[0].height == undefined || rows[0].targetweight == undefined || rows[0].targetperiod == undefined + || rows[0].workperiod == undefined || rows[0].worklevel == undefined) { + response = Object.assign(rows[0], {"success":true, "survey":false}); + } else { + response = Object.assign(rows[0], {"success":true, "survey":true}); } + console.log(response); + res.json(response); } else { - console.log("false reason: wrong pw"); - res.json({"success":false}); + console.log("false reason: db disconnected"); + res.json({"success": false}); } } else {