diff --git a/routes/user.js b/routes/user.js index cd927ea..a640b0d 100644 --- a/routes/user.js +++ b/routes/user.js @@ -3,21 +3,40 @@ const userRouter = express.Router(); const client = require('../db/Client'); -// get a list of all users +// get a list of all users, or a single user matching an email passed in as a query param userRouter.route('/users').get(async (req, res) => { const newClient = client(); - try { - await newClient.connect(); - console.log('Connection successful.'); + if (req.query) { + const { email } = req.query; - const results = await newClient.query("SELECT * FROM users"); - res.send(results.rows); - } catch(e) { - console.log(e); - } finally { - await newClient.end(); - console.log("Client disconnected."); + if (!email) { + try { + await newClient.connect(); + console.log('Connection successful.'); + + const results = await newClient.query("SELECT * FROM users"); + res.send(results.rows); + } catch(e) { + console.log(e); + } finally { + await newClient.end(); + console.log("Client disconnected."); + } + } else { + try { + await newClient.connect() + .then(console.log("Connection successful.")); + + const result = await newClient.query(("SELECT * FROM users WHERE email = ($1)"), [email]) + res.send(result.rows); + } catch(e) { + console.log(e); + } finally { + await newClient.end() + .then(console.log("Client disconnected.")); + } + } } }); diff --git a/server.js b/server.js index 5b76d80..927d6d4 100644 --- a/server.js +++ b/server.js @@ -13,7 +13,9 @@ app.use(cors()); app.use(express.json()); app.use(bodyParser.json()); -app.use(bodyParser.urlencoded()); +app.use(bodyParser.urlencoded({ + extended: true +})); app.use(require('./routes/checkout')); app.use(require('./routes/order'));