renaming router

This commit is contained in:
Kfir Dayan 2023-06-15 10:00:22 +03:00
parent 8329a33271
commit 9d13727f3e
7 changed files with 40 additions and 10 deletions

18
package-lock.json generated
View file

@ -17,13 +17,15 @@
"express": "^4.18.2", "express": "^4.18.2",
"jsonwebtoken": "^9.0.0", "jsonwebtoken": "^9.0.0",
"mongodb": "^5.6.0", "mongodb": "^5.6.0",
"mongoose": "^7.2.2" "mongoose": "^7.2.2",
"uuid": "^9.0.0"
}, },
"devDependencies": { "devDependencies": {
"@types/bcryptjs": "^2.4.2", "@types/bcryptjs": "^2.4.2",
"@types/cookie-parser": "^1.4.3", "@types/cookie-parser": "^1.4.3",
"@types/express": "^4.17.17", "@types/express": "^4.17.17",
"@types/jsonwebtoken": "^9.0.2", "@types/jsonwebtoken": "^9.0.2",
"@types/uuid": "^9.0.2",
"nodemon": "^2.0.22" "nodemon": "^2.0.22"
} }
}, },
@ -177,6 +179,12 @@
"@types/node": "*" "@types/node": "*"
} }
}, },
"node_modules/@types/uuid": {
"version": "9.0.2",
"resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.2.tgz",
"integrity": "sha512-kNnC1GFBLuhImSnV7w4njQkUiJi0ZXUycu1rUaouPqiKlXkh77JKgdRnTAp1x5eBwcIwbtI+3otwzuIDEuDoxQ==",
"dev": true
},
"node_modules/@types/webidl-conversions": { "node_modules/@types/webidl-conversions": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz", "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
@ -1551,6 +1559,14 @@
"node": ">= 0.4.0" "node": ">= 0.4.0"
} }
}, },
"node_modules/uuid": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
"integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
"bin": {
"uuid": "dist/bin/uuid"
}
},
"node_modules/vary": { "node_modules/vary": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",

View file

@ -19,13 +19,15 @@
"express": "^4.18.2", "express": "^4.18.2",
"jsonwebtoken": "^9.0.0", "jsonwebtoken": "^9.0.0",
"mongodb": "^5.6.0", "mongodb": "^5.6.0",
"mongoose": "^7.2.2" "mongoose": "^7.2.2",
"uuid": "^9.0.0"
}, },
"devDependencies": { "devDependencies": {
"@types/bcryptjs": "^2.4.2", "@types/bcryptjs": "^2.4.2",
"@types/cookie-parser": "^1.4.3", "@types/cookie-parser": "^1.4.3",
"@types/express": "^4.17.17", "@types/express": "^4.17.17",
"@types/jsonwebtoken": "^9.0.2", "@types/jsonwebtoken": "^9.0.2",
"@types/uuid": "^9.0.2",
"nodemon": "^2.0.22" "nodemon": "^2.0.22"
} }
} }

View file

@ -2,9 +2,9 @@ import express from 'express';
import mongoose from 'mongoose'; import mongoose from 'mongoose';
import cookieParser from 'cookie-parser'; import cookieParser from 'cookie-parser';
import userRouter from './routes/user'; import userRouter from './routes/userRouter';
import productRouter from './routes/product'; import productRouter from './routes/productRouter';
import cartRouter from './routes/cart'; import cartRouter from './routes/cartRoute';
const env = require('dotenv').config().parsed; const env = require('dotenv').config().parsed;

View file

@ -0,0 +1,11 @@
import { v4 as uuidv4, validate as validateUUID } from 'uuid';
import { Request, Response, NextFunction } from 'express';
export function checkUuid(req: Request, res: Response, next: NextFunction) {
const { userId } = req.body;
if (!validateUUID(userId)) {
res.status(400).json({ error: 'Invalid user id' });
return;
}
next();
}

View file

@ -1,13 +1,14 @@
import express from 'express'; import express from 'express';
import { authenticateToken } from '../middlewares/checkAuth'; import { authenticateToken } from '../middlewares/checkAuth';
import { addToCart, listCart, checkout, clearCart } from '../controllers/CartController'; import { addToCart, listCart, checkout, clearCart } from '../controllers/cartController';
import { checkUuid } from '../middlewares/checkUuid';
const cartRouter = express.Router(); const cartRouter = express.Router();
cartRouter.post('/', authenticateToken, addToCart); cartRouter.post('/', [authenticateToken, checkUuid], addToCart);
cartRouter.get('/', authenticateToken, listCart); cartRouter.get('/', [authenticateToken, checkUuid], listCart);
cartRouter.post('/checkout', authenticateToken, checkout); cartRouter.post('/checkout', authenticateToken, checkout);
cartRouter.delete('/', authenticateToken, clearCart) cartRouter.delete('/', authenticateToken, clearCart)

View file

@ -1,6 +1,6 @@
import express from 'express'; import express from 'express';
import { authenticateToken } from '../middlewares/checkAuth'; import { authenticateToken } from '../middlewares/checkAuth';
import { createProduct, listProducts, getProduct } from '../controllers/ProductController'; import { createProduct, listProducts, getProduct } from '../controllers/productController';
const productRouter = express.Router(); const productRouter = express.Router();

View file

@ -1,5 +1,5 @@
import express from 'express'; import express from 'express';
import { createUser, login, logout, getAllUsers, deleteUser } from '../controllers/UserController'; import { createUser, login, logout, getAllUsers, deleteUser } from '../controllers/userController';
const userRouter = express.Router(); const userRouter = express.Router();