Skip to content

Commit

Permalink
Merge pull request #47 from GSG-G10/46-cart-routers
Browse files Browse the repository at this point in the history
cart router
  • Loading branch information
ahmadfarid-059 authored Oct 5, 2021
2 parents 93dcefd + b2e2c81 commit e2a7769
Show file tree
Hide file tree
Showing 9 changed files with 38 additions and 20 deletions.
2 changes: 2 additions & 0 deletions server/controllers/index.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
const { getCart } = require('./pages');
const productDetails = require('./productDetails');
const { login, logout } = require('./auth');

module.exports = {
login,
logout,
getCart,
productDetails,
};
12 changes: 12 additions & 0 deletions server/controllers/pages/cart.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
const { getItems } = require('../../database/queries/cart');

const getCart = async (req, res, next) => {
try {
const { id } = req.userObj;
const items = await getItems(id);
res.json(items);
} catch (err) {
next(err);
}
};
module.exports = getCart;
3 changes: 3 additions & 0 deletions server/controllers/pages/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
const getCart = require('./cart');

module.exports = { getCart };
1 change: 0 additions & 1 deletion server/database/config/build.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ const buildDB = () => {
return connection.query(sql);
};


buildDB();

module.exports = buildDB;
14 changes: 7 additions & 7 deletions server/database/connection/index.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
require("env2")(".env");
const { Pool } = require("pg");
require('env2')('.env');
const { Pool } = require('pg');

const { DATABASE_URL, TEST_DB_URL, DEV_DB_URL } = process.env;

let dbUrl = "";
if (process.env.NODE_ENV === "test") {
let dbUrl = '';
if (process.env.NODE_ENV === 'test') {
dbUrl = TEST_DB_URL;
} else if (process.env.NODE_ENV === "development") {
} else if (process.env.NODE_ENV === 'development') {
dbUrl = DEV_DB_URL;
} else if (process.env.NODE_ENV === "production") {
} else if (process.env.NODE_ENV === 'production') {
dbUrl = DATABASE_URL;
} else {
throw new Error("error in database URL !");
throw new Error('error in database URL !');
}

const options = {
Expand Down
7 changes: 6 additions & 1 deletion server/database/queries/cart/getItems.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
const connection = require('../../connection');

module.exports = (productId, cartId) => connection.query('SELECT products.*, cart_items.quentity FROM products INNER JOIN cart_items ON cart_items.product_id=products.id INNER JOIN users ON cart_items.user_id = users.id WHERE cart_items.user_id = 3;', [productId, cartId]).then((data) => data.rows);
module.exports = (userId) => connection
.query(
'SELECT products.*, cart_items.quentity FROM products INNER JOIN cart_items ON cart_items.product_id=products.id INNER JOIN users ON cart_items.user_id = users.id WHERE cart_items.user_id = $1;',
[userId],
)
.then((data) => data.rows);
4 changes: 2 additions & 2 deletions server/middlewares/authentication.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
require("env2")(".env");
require('env2')('.env');
const jwt = require('jsonwebtoken');

const authentication = (req, res, next) => {
Expand All @@ -13,7 +13,7 @@ const authentication = (req, res, next) => {
return res.status(401).json({ message: 'Unauthorized' });
}

jwt.verify(token, secret, (err, decoded) => {
return jwt.verify(token, secret, (err, decoded) => {
if (decoded) {
req.userObj = decoded;
next();
Expand Down
7 changes: 1 addition & 6 deletions server/middlewares/index.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
const signupValidation = require('./signupValidation');

const authentication = require('./authentication');

module.exports = {
signupValidation,
authentication,
};
module.exports = { authentication };
8 changes: 5 additions & 3 deletions server/routes/index.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
const router = require('express').Router();

const { logout, login, productDetails } = require('../controllers');
const {
logout, getCart, login, productDetails,
} = require('../controllers');
const { authentication } = require('../middlewares');
const { error404, serverError } = require('../controllers/errors');

router.post('/login', login);

router.get('/product/:id', productDetails);
router.get('/logout', logout);
router.get('/cart', authentication, getCart);

router.use(error404);
router.use(serverError);
Expand Down

0 comments on commit e2a7769

Please sign in to comment.