refactor: 🚀 update routes

#10
This commit is contained in:
Mathis H (Avnyr) 2024-04-23 11:58:28 +02:00
parent df9efc759c
commit c334b3954f
Signed by: Mathis
GPG Key ID: DD9E0666A747D126
4 changed files with 47 additions and 37 deletions

View File

@ -1,31 +1,36 @@
import express, {type Router} from "express"; 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(); const router: Router = express.Router();
router.route('/login') router.route('/login').post()
router.route('/register') router.route('/register').post()
// PATCH // PATCH
router.route('/me').patch(JwtGuard) router.route('/me')
.patch(UserGuard)
// GET // GET
router.route('/me').get(JwtGuard) router.route('/me')
.get(UserGuard)
// DELETE // DELETE
router.route('/me').delete(JwtGuard) router.route('/me')
.delete(UserGuard)
// GET // GET
router.route('/all').get(JwtGuard) router.route('/all')
.get(AdminGuard)
// GET // GET
router.route('/user/:targetId').get(JwtGuard) router.route('/user/:targetId')
.get(AdminGuard)
// PATCH .patch(AdminGuard)
router.route('/user/:targetId').patch(JwtGuard) .delete(AdminGuard)
export default router export default router

View File

@ -1,37 +1,39 @@
import express, {type Router} from "express"; import express, {type Router} from "express";
import AdminGuard from "@validators/AdminGuard";
import UserGuard from "@validators/UserGuard";
const router: Router = express.Router(); const router: Router = express.Router();
//-- MODELS >> //-- MODELS >>
router.route('/model/new').get() router.route('/model/new').get(AdminGuard)
router.route('/model/all').get() router.route('/model/all').get()
router.route('/model/:modelSlug') router.route('/model/:modelSlug')
.get() .get(UserGuard)
.patch() .patch(AdminGuard)
.delete() .delete(AdminGuard)
//-- CATEGORY >> //-- CATEGORY >>
router.route('/category/new').get() router.route('/category/new').get(AdminGuard)
router.route('/category/all').get() router.route('/category/all').get()
router.route('/category/:categorySlug') router.route('/category/:categorySlug')
.get() .get(UserGuard)
.patch() .patch(AdminGuard)
.delete() .delete(AdminGuard)
//-- BRAND >> //-- BRAND >>
router.route('/brand/new').post() router.route('/brand/new').post(AdminGuard)
router.route('/brand/all').get() router.route('/brand/all').get()
router.route('/brand/:brandSlug') router.route('/brand/:brandSlug')
.get() .get(UserGuard)
.patch() .patch(AdminGuard)
.delete() .delete(AdminGuard)

View File

@ -1,3 +1,3 @@
export * from './auth/router' export * from './auth/router'
export * from './catalog/router' export * from './catalog/router'
export * from './rent' export * from './rent/router'

View File

@ -1,29 +1,32 @@
import express, {type Router} from "express"; 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(); const router: Router = express.Router();
// Get rent affected to the user // Get rent affected to the user
router.route('/affected').get(JwtGuard) router.route('/affected')
.get(UserGuard)
// Get all vehicle in rent (admin only) // 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) // Add a new vehicle (admin only)
router.route('/veh/new').post(JwtGuard) router.route('/veh/new')
.post(AdminGuard)
// Get all vehicles // Get all vehicles
router.route('/veh/all').get() router.route('/veh/all')
.get()
// Rent a specific vehicle // 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')
router.route('/veh/:vehicleId').patch(JwtGuard) .get(UserGuard)
.patch(AdminGuard)
// Endpoint to delete a vehicle if source is an admin .delete(AdminGuard)
router.route('/veh/:vehicleId').delete(JwtGuard)