From 9bdcdef88fa8f5d908bf02afda9a26dd24c42910 Mon Sep 17 00:00:00 2001 From: Mathis Date: Fri, 26 Apr 2024 12:21:13 +0200 Subject: [PATCH] feat(routes): apply routers and rename files - Routers `AuthRouter`, `CatalogRouter`, and `RentRouter` are used in the application in `src/app.ts` with error handling. - The router files under `src/routes/auth`, `src/routes/catalog`, and `src/routes/rent` are renamed to `authRouter.ts`, `catalogRouter.ts`, `rentRouter.ts` respectively. - The default exports in these router files have been updated to reflect their new names. - The imports in `src/routes/index.ts` are updated according to the renamed files. Signed-off-by: Mathis --- src/app.ts | 13 +++++- src/routes/auth/{router.ts => authRouter.ts} | 18 ++++----- src/routes/catalog/catalogRouter.ts | 42 ++++++++++++++++++++ src/routes/catalog/router.ts | 40 ------------------- src/routes/index.ts | 6 +-- src/routes/rent/{router.ts => rentRouter.ts} | 18 +++++---- 6 files changed, 76 insertions(+), 61 deletions(-) rename src/routes/auth/{router.ts => authRouter.ts} (64%) create mode 100644 src/routes/catalog/catalogRouter.ts delete mode 100644 src/routes/catalog/router.ts rename src/routes/rent/{router.ts => rentRouter.ts} (59%) diff --git a/src/app.ts b/src/app.ts index eecabe9..ebceb05 100644 --- a/src/app.ts +++ b/src/app.ts @@ -3,6 +3,9 @@ import cors from 'cors'; import compression from 'compression'; import {Logger} from "tslog"; import helmet from "helmet"; +import AuthRouter from "@routes/auth/authRouter"; +import CatalogRouter from "@routes/catalog/catalogRouter"; +import RentRouter from "@routes/rent/rentRouter"; const logger = new Logger({ name: "App" }); @@ -30,7 +33,15 @@ app.use(express.urlencoded({ extended: true })); // gzip compression app.use(compression()) -//app.use('/auth', AuthRoutes) +try { + app.use('/auth', AuthRouter) + app.use('/catalog', CatalogRouter) + app.use('/rent', RentRouter) + logger.info('Routers loaded !') +} catch (err) { + logger.error(err) + throw null; +} //app.listen(3333) logger.info('Server is running !') \ No newline at end of file diff --git a/src/routes/auth/router.ts b/src/routes/auth/authRouter.ts similarity index 64% rename from src/routes/auth/router.ts rename to src/routes/auth/authRouter.ts index 0ae3d5e..e870cea 100644 --- a/src/routes/auth/router.ts +++ b/src/routes/auth/authRouter.ts @@ -4,35 +4,35 @@ import AdminGuard from "@validators/AdminGuard"; import AuthController from "@controllers/auth.controller"; -const router: Router = express.Router(); +const AuthRouter: Router = express.Router(); -router.route('/login').post(AuthController.login) -router.route('/register').post(AuthController.register) +AuthRouter.route('/login').post(AuthController.login) +AuthRouter.route('/register').post(AuthController.register) // PATCH //TODO - To test -router.route('/me') +AuthRouter.route('/me') .patch(UserGuard, AuthController.editUser) // GET -router.route('/me') +AuthRouter.route('/me') .get(UserGuard, AuthController.getSelf) // DELETE -router.route('/me') +AuthRouter.route('/me') .delete(UserGuard, AuthController.deleteSelf) // GET -router.route('/all') +AuthRouter.route('/all') .get(AdminGuard, AuthController.getAllUsers) // GET -router.route('/user/:targetId') +AuthRouter.route('/user/:targetId') .get(AdminGuard, AuthController.getUser) .patch(AdminGuard, AuthController.editUser) .delete(AdminGuard, AuthController.deleteUser) -export default router \ No newline at end of file +export default AuthRouter \ No newline at end of file diff --git a/src/routes/catalog/catalogRouter.ts b/src/routes/catalog/catalogRouter.ts new file mode 100644 index 0000000..be3a487 --- /dev/null +++ b/src/routes/catalog/catalogRouter.ts @@ -0,0 +1,42 @@ +import express, {type Router} from "express"; +import AdminGuard from "@validators/AdminGuard"; +import UserGuard from "@validators/UserGuard"; +import CategoryController from "@controllers/category.controller"; + + +const CatalogRouter: Router = express.Router(); + +//-- MODELS >> + +CatalogRouter.route('/model/new').get(AdminGuard) + +CatalogRouter.route('/model/all').get() + +CatalogRouter.route('/model/:modelSlug') + .get(UserGuard) + .patch(AdminGuard) + .delete(AdminGuard) + + +//-- CATEGORY >> + +CatalogRouter.route('/category/new').get(AdminGuard, CategoryController.create) + +CatalogRouter.route('/category/all').get(CategoryController.getAll) + +CatalogRouter.route('/category/:categorySlug') + .get(UserGuard, CategoryController.getBySlug) + .patch(AdminGuard, CategoryController.update) + .delete(AdminGuard, CategoryController.delete) + + +//-- BRAND >> + +CatalogRouter.route('/brand/new').post(AdminGuard) +CatalogRouter.route('/brand/all').get() +CatalogRouter.route('/brand/:brandSlug') + .get(UserGuard) + .patch(AdminGuard) + .delete(AdminGuard) + +export default CatalogRouter; \ No newline at end of file diff --git a/src/routes/catalog/router.ts b/src/routes/catalog/router.ts deleted file mode 100644 index 78c3799..0000000 --- a/src/routes/catalog/router.ts +++ /dev/null @@ -1,40 +0,0 @@ -import express, {type Router} from "express"; -import AdminGuard from "@validators/AdminGuard"; -import UserGuard from "@validators/UserGuard"; -import CategoryController from "@controllers/category.controller"; - - -const router: Router = express.Router(); - -//-- MODELS >> - -router.route('/model/new').get(AdminGuard) - -router.route('/model/all').get() - -router.route('/model/:modelSlug') - .get(UserGuard) - .patch(AdminGuard) - .delete(AdminGuard) - - -//-- CATEGORY >> - -router.route('/category/new').get(AdminGuard, CategoryController.create) - -router.route('/category/all').get(CategoryController.getAll) - -router.route('/category/:categorySlug') - .get(UserGuard, CategoryController.getBySlug) - .patch(AdminGuard, CategoryController.update) - .delete(AdminGuard, CategoryController.delete) - - -//-- BRAND >> - -router.route('/brand/new').post(AdminGuard) -router.route('/brand/all').get() -router.route('/brand/:brandSlug') - .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 039a0f3..5339fa4 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/router' \ No newline at end of file +export * from 'src/routes/auth/authRouter' +export * from 'src/routes/catalog/catalogRouter' +export * from 'src/routes/rent/rentRouter' \ No newline at end of file diff --git a/src/routes/rent/router.ts b/src/routes/rent/rentRouter.ts similarity index 59% rename from src/routes/rent/router.ts rename to src/routes/rent/rentRouter.ts index e0bd704..d7ecb01 100644 --- a/src/routes/rent/router.ts +++ b/src/routes/rent/rentRouter.ts @@ -3,30 +3,32 @@ import AdminGuard from "@validators/AdminGuard"; import UserGuard from "@validators/UserGuard"; -const router: Router = express.Router(); +const RentRouter: Router = express.Router(); // Get rent affected to the user -router.route('/affected') +RentRouter.route('/affected') .get(UserGuard) // Get all vehicle in rent (admin only) -router.route('/affected/all') +RentRouter.route('/affected/all') .get(AdminGuard) // Add a new vehicle (admin only) -router.route('/veh/new') +RentRouter.route('/veh/new') .post(AdminGuard) // Get all vehicles -router.route('/veh/all') +RentRouter.route('/veh/all') .get() // Rent a specific vehicle -router.route('/veh/rent/:vehicleId') +RentRouter.route('/veh/rent/:vehicleId') .post(UserGuard) -router.route('/veh/:vehicleId') +RentRouter.route('/veh/:vehicleId') .get(UserGuard) .patch(AdminGuard) - .delete(AdminGuard) \ No newline at end of file + .delete(AdminGuard) + +export default RentRouter; \ No newline at end of file