diff --git a/db/Pool.js b/db/Pool.js index 6707147..8b93e75 100644 --- a/db/Pool.js +++ b/db/Pool.js @@ -6,7 +6,7 @@ const pool = new Pool({ connectionString: process.env.CONNECTION }); module.exports = { // text = SQL query; params = array of values to inject pool, - connect: async () => await pool.connect().then(console.log("Connection successful.")), + connect: async () => await pool.connect(), query: (text, params) => pool.query(text, params), end: async () => await pool.end() } \ No newline at end of file diff --git a/loaders/index.js b/loaders/index.js index 3af2f31..7ef64c2 100644 --- a/loaders/index.js +++ b/loaders/index.js @@ -3,15 +3,9 @@ const expressLoader = require('./express'); const routes = require('../routes/API'); module.exports = async (app) => { - // const passport = await passportLoader(app); const express = await expressLoader(app); const passport = await passportLoader(express); await routes(app, passport); - app.use((err, req, res, next) => { - - const { message, status } = err; - - return res.status(status).send({ message }); - }); + console.log('loaders called'); } \ No newline at end of file diff --git a/routes/API.js b/routes/API.js index fb33dfe..d8a91c6 100644 --- a/routes/API.js +++ b/routes/API.js @@ -1,6 +1,3 @@ -const express = require('express'); -const apiRouter = express.Router(); - const userRouter = require('./user'); const productsRouter = require('./products'); const registerRouter = require('./register'); diff --git a/routes/login.js b/routes/login.js index 4d7c842..b67065d 100644 --- a/routes/login.js +++ b/routes/login.js @@ -1,17 +1,30 @@ const loginRouter = require('express').Router(); const { LoginService } = require('../services/Auth'); -// module.exports = loginRouter; module.exports = (app, passport) => { app.use('/api/login', loginRouter); + // loginRouter.use(passport.authenticate('local')); - loginRouter.post('/', passport.authenticate('local'), async (req, res, next) => { + loginRouter.route('/').post(async (req, res, next) => { + console.log('login post got called'); + const { email, password } = req.body; + + /** + * @function LoginService + * @returns: object, with keys: + * session: session object + * userProfile: postgres response from query + * + * session object: + * authenticated: boolean, + * user: { email, password } + */ + try { - const { email, password } = req.body; - const response = await LoginService(email, password); - if (response) console.log(response); + const data = await LoginService(email, password); + res.status(200).send(data); } catch(e) { next(e); } - }); + }) } \ No newline at end of file diff --git a/services/Auth.js b/services/Auth.js index 1a9635d..45d1c33 100644 --- a/services/Auth.js +++ b/services/Auth.js @@ -1,8 +1,9 @@ const { connect } = require('../db/Pool'); const bcrypt = require('bcrypt'); -async function LoginService(email, password) { +async function LoginService(email, password) { const client = await connect(); + let session; try { let hash = await client.query("SELECT password FROM users WHERE email = ($1)", [email]); @@ -12,15 +13,27 @@ async function LoginService(email, password) { if (!match) res.status(403).json({ msg: "Login unsuccessful. Please try again" }); if (match) { - req.session.authenticated = true; - req.session.user = { email: email, password: password } + session = { + authenticated: true, + user: { + email: email, + password: password + } + } + // req.session.authenticated = true; + // req.session.user = { email: email, password: password } let fullUserProfile = await client.query("SELECT * FROM users WHERE email = ($1)", [email]); return { - session: req.session, + session: session, userProfile: fullUserProfile.rows[0] } + } else { + return { + session: 'not found', + userProfile: 'not found' + } } } catch(e) { await client.query("ROLLBACK");