diff --git a/src/controllers/auth.controller.ts b/src/controllers/auth.controller.ts index b8b1d5f..547d42d 100644 --- a/src/controllers/auth.controller.ts +++ b/src/controllers/auth.controller.ts @@ -1,16 +1,15 @@ import { CREATED, OK } from 'http-status'; import { Request, Response } from 'express'; -import userRepository from '../repositories/user'; -import catchAsync from '../utils/catchAsync'; -import JwtService from '../services/jwt.service'; +import { UserRepository } from '../repositories'; +import { catchAsync, exclude } from '../utils'; +import { JwtService } from '../services'; import EmailService from '../services/email.service'; import { NotFound, Unauthorized } from '../utils/ApiError'; -import exclude from '../utils/exclude'; import { UserReturn } from '../types/user'; const register = catchAsync(async (req: Request, res: Response) => { const { email, username, password } = req.body; - const user = await userRepository.createUser(username, email, password); + const user = await UserRepository.createUser(username, email, password); const tokens = JwtService.generateAuthTokenForUser(user.id); await EmailService.sendOnboardingEmail(user.email, user.name ?? ''); @@ -22,7 +21,7 @@ const login = catchAsync(async (req: Request, res: Response) => { const { email, password } = req.body; const accessToken = await getUserAccessToken(req); const userId = JwtService.verifyToken(accessToken); - const user = await userRepository.getUserByEmailAndId(email, userId); + const user = await UserRepository.getUserByEmailAndId(email, userId); if (!user) { throw new NotFound('User not found'); @@ -36,7 +35,7 @@ const login = catchAsync(async (req: Request, res: Response) => { const getMe = catchAsync(async (req: Request, res: Response) => { const accessToken = await getUserAccessToken(req); const userId = JwtService.verifyToken(accessToken); - const dbUser = await userRepository.getUser(userId, UserReturn); + const dbUser = await UserRepository.getUser(userId, UserReturn); return res.status(OK).send({ ...dbUser }); }); diff --git a/src/repositories/index.ts b/src/repositories/index.ts index d25209d..0379283 100644 --- a/src/repositories/index.ts +++ b/src/repositories/index.ts @@ -1,4 +1,4 @@ -import userRepository from './user'; -import apiMetadataRepository from './apiMetadata'; +import UserRepository from './user'; +import ApiMetadataRepository from './apiMetadata'; -export { userRepository, apiMetadataRepository }; +export { UserRepository, ApiMetadataRepository }; diff --git a/src/routes/v1/auth.route.ts b/src/routes/v1/auth.route.ts index b62cbb4..3b39c2a 100644 --- a/src/routes/v1/auth.route.ts +++ b/src/routes/v1/auth.route.ts @@ -1,14 +1,14 @@ import express from 'express'; import validate from '../../core/middlewares/validator'; import authValidation from '../../validations/auth.validation'; -import authController from '../../controllers/auth.controller'; +import { AuthController } from '../../controllers/'; const router = express.Router(); -router.post('/register', validate(authValidation.register), authController.register); -router.post('/login', validate(authValidation.login), authController.login); +router.post('/register', validate(authValidation.register), AuthController.register); +router.post('/login', validate(authValidation.login), AuthController.login); router.post('/logout'); -router.get('/me', validate(authValidation.getMe), authController.getMe); +router.get('/me', validate(authValidation.getMe), AuthController.getMe); router.post('/refresh-tokens'); export default router; diff --git a/src/services/index.ts b/src/services/index.ts index 355003d..c082898 100644 --- a/src/services/index.ts +++ b/src/services/index.ts @@ -1,4 +1,4 @@ -import emailService from './email.service'; -import jwtService from './jwt.service'; +import EmailService from './email.service'; +import JwtService from './jwt.service'; -export { emailService, jwtService }; +export { EmailService, JwtService }; diff --git a/src/types/user.ts b/src/types/user.ts index 3465b0d..ddec5b7 100644 --- a/src/types/user.ts +++ b/src/types/user.ts @@ -1,6 +1,6 @@ import { User as UserModel } from '@prisma/client'; import Joi from 'joi'; -import include from '../utils/include'; +import { include } from '../utils'; export type Key = keyof UserModel; diff --git a/src/utils/index.ts b/src/utils/index.ts new file mode 100644 index 0000000..6d6e65a --- /dev/null +++ b/src/utils/index.ts @@ -0,0 +1,9 @@ +import ApiError from './ApiError'; +import exclude from './exclude'; +import include from './include'; +import catchAsync from './catchAsync'; +import filter from './filter'; +import getKeys from './getKeys'; +import { TupleUnion } from './TupleUnion'; + +export { ApiError, exclude, include, catchAsync, filter, getKeys, TupleUnion };