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 <yidhra@tuta.io>
This commit is contained in:
Mathis H (Avnyr) 2024-04-26 12:21:13 +02:00
parent 5d53cd28f8
commit 9bdcdef88f
Signed by: Mathis
GPG Key ID: DD9E0666A747D126
6 changed files with 76 additions and 61 deletions

View File

@ -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 !')

View File

@ -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
export default AuthRouter

View File

@ -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;

View File

@ -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)

View File

@ -1,3 +1,3 @@
export * from './auth/router'
export * from './catalog/router'
export * from './rent/router'
export * from 'src/routes/auth/authRouter'
export * from 'src/routes/catalog/catalogRouter'
export * from 'src/routes/rent/rentRouter'

View File

@ -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)
export default RentRouter;