20 lines
942 B
TypeScript
20 lines
942 B
TypeScript
import bodyParser from 'body-parser';
|
|
import { Router } from 'express';
|
|
import * as authCtrl from '../controllers/auth.controller.js';
|
|
import { tokenAndRoleValidator, validateLoginRequest, withAuth, withLoginLimiter } from '../middlewares/index.js';
|
|
import { UserRole } from '@typings-ce';
|
|
|
|
export const authRouter = Router();
|
|
authRouter.use(bodyParser.urlencoded({ extended: true }));
|
|
authRouter.use(bodyParser.json());
|
|
|
|
// Auth Routes
|
|
authRouter.post('/login', validateLoginRequest, withLoginLimiter, authCtrl.login);
|
|
authRouter.post('/logout', authCtrl.logout);
|
|
authRouter.post('/refresh', authCtrl.refreshToken);
|
|
|
|
// API Key Routes
|
|
authRouter.post('/api-keys', withAuth(tokenAndRoleValidator(UserRole.ADMIN)), authCtrl.createApiKey);
|
|
authRouter.get('/api-keys', withAuth(tokenAndRoleValidator(UserRole.ADMIN)), authCtrl.getApiKeys);
|
|
authRouter.delete('/api-keys', withAuth(tokenAndRoleValidator(UserRole.ADMIN)), authCtrl.deleteApiKeys);
|