From c334b3954f490fd55e963a22c758eb14bc325fc7 Mon Sep 17 00:00:00 2001 From: Mathis Date: Tue, 23 Apr 2024 11:58:28 +0200 Subject: [PATCH] refactor: :rocket: update routes #10 --- src/routes/auth/router.ts | 27 ++++++++++++++++----------- src/routes/catalog/router.ts | 26 ++++++++++++++------------ src/routes/index.ts | 2 +- src/routes/rent/router.ts | 29 ++++++++++++++++------------- 4 files changed, 47 insertions(+), 37 deletions(-) diff --git a/src/routes/auth/router.ts b/src/routes/auth/router.ts index 55a24b1..eb88e40 100644 --- a/src/routes/auth/router.ts +++ b/src/routes/auth/router.ts @@ -1,31 +1,36 @@ import express, {type Router} from "express"; -import JwtGuard from "@validators/JwtGuard"; +import UserGuard from "@validators/UserGuard"; +import AdminGuard from "@validators/AdminGuard"; const router: Router = express.Router(); -router.route('/login') -router.route('/register') +router.route('/login').post() +router.route('/register').post() // PATCH -router.route('/me').patch(JwtGuard) +router.route('/me') + .patch(UserGuard) // GET -router.route('/me').get(JwtGuard) +router.route('/me') + .get(UserGuard) // DELETE -router.route('/me').delete(JwtGuard) +router.route('/me') + .delete(UserGuard) // GET -router.route('/all').get(JwtGuard) +router.route('/all') + .get(AdminGuard) // GET -router.route('/user/:targetId').get(JwtGuard) - -// PATCH -router.route('/user/:targetId').patch(JwtGuard) +router.route('/user/:targetId') + .get(AdminGuard) + .patch(AdminGuard) + .delete(AdminGuard) export default router \ No newline at end of file diff --git a/src/routes/catalog/router.ts b/src/routes/catalog/router.ts index 03826d8..30142a9 100644 --- a/src/routes/catalog/router.ts +++ b/src/routes/catalog/router.ts @@ -1,37 +1,39 @@ import express, {type Router} from "express"; +import AdminGuard from "@validators/AdminGuard"; +import UserGuard from "@validators/UserGuard"; const router: Router = express.Router(); //-- MODELS >> -router.route('/model/new').get() +router.route('/model/new').get(AdminGuard) router.route('/model/all').get() router.route('/model/:modelSlug') - .get() - .patch() - .delete() + .get(UserGuard) + .patch(AdminGuard) + .delete(AdminGuard) //-- CATEGORY >> -router.route('/category/new').get() +router.route('/category/new').get(AdminGuard) router.route('/category/all').get() router.route('/category/:categorySlug') - .get() - .patch() - .delete() + .get(UserGuard) + .patch(AdminGuard) + .delete(AdminGuard) //-- BRAND >> -router.route('/brand/new').post() +router.route('/brand/new').post(AdminGuard) router.route('/brand/all').get() router.route('/brand/:brandSlug') - .get() - .patch() - .delete() \ No newline at end of file + .get(UserGuard) + .patch(AdminGuard) + .delete(AdminGuard) \ No newline at end of file diff --git a/src/routes/index.ts b/src/routes/index.ts index 1f21921..039a0f3 100644 --- a/src/routes/index.ts +++ b/src/routes/index.ts @@ -1,3 +1,3 @@ export * from './auth/router' export * from './catalog/router' -export * from './rent' \ No newline at end of file +export * from './rent/router' \ No newline at end of file diff --git a/src/routes/rent/router.ts b/src/routes/rent/router.ts index 4a79ea5..e0bd704 100644 --- a/src/routes/rent/router.ts +++ b/src/routes/rent/router.ts @@ -1,29 +1,32 @@ import express, {type Router} from "express"; -import JwtGuard from "@validators/JwtGuard"; +import AdminGuard from "@validators/AdminGuard"; +import UserGuard from "@validators/UserGuard"; const router: Router = express.Router(); // Get rent affected to the user -router.route('/affected').get(JwtGuard) +router.route('/affected') + .get(UserGuard) // Get all vehicle in rent (admin only) -router.route('/affected/all').get(JwtGuard) +router.route('/affected/all') + .get(AdminGuard) // Add a new vehicle (admin only) -router.route('/veh/new').post(JwtGuard) +router.route('/veh/new') + .post(AdminGuard) // Get all vehicles -router.route('/veh/all').get() +router.route('/veh/all') + .get() // Rent a specific vehicle -router.route('/veh/rent/:vehicleId').post(JwtGuard) +router.route('/veh/rent/:vehicleId') + .post(UserGuard) -// Endpoint to get the data of a vehicle, data change if source is an admin -router.route('/veh/:vehicleId').get(JwtGuard) -// Endpoint to edit the data of a vehicle if source is an admin -router.route('/veh/:vehicleId').patch(JwtGuard) - -// Endpoint to delete a vehicle if source is an admin -router.route('/veh/:vehicleId').delete(JwtGuard) \ No newline at end of file +router.route('/veh/:vehicleId') + .get(UserGuard) + .patch(AdminGuard) + .delete(AdminGuard) \ No newline at end of file