From 13fc3901775ea86841d2c4ebb695da7bd1ee9735 Mon Sep 17 00:00:00 2001 From: Joslyn Manzi Karenzi Date: Mon, 6 May 2024 11:39:14 +0200 Subject: [PATCH] fix(lint-errors): fix linting errors -fix linting errors by making appropriate changes [Fixes #34] --- src/__test__/roles.test.ts | 13 ++++++------- src/__test__/userController.test.ts | 5 ++++- src/controller/roleController.ts | 9 ++++----- src/controller/userController.ts | 20 ++++++++++---------- src/database/models/userModel.ts | 10 ++++++++-- src/middlewares/errorHandler.ts | 27 ++++++++++++++++----------- src/middlewares/roleSchema.ts | 2 +- src/routes/index.ts | 2 +- 8 files changed, 50 insertions(+), 38 deletions(-) diff --git a/src/__test__/roles.test.ts b/src/__test__/roles.test.ts index 614c39b2..6a978fe2 100644 --- a/src/__test__/roles.test.ts +++ b/src/__test__/roles.test.ts @@ -123,14 +123,13 @@ describe('CRUD roles test', () => { it('should change user role successfully', async () => { const createRoleformData = { - name: 'Buyer', - permissions: ['test-permission1', 'test-permission2', 'test-permission3'], + name: 'Buyer', + permissions: ['test-permission1', 'test-permission2', 'test-permission3'], }; - - const createRoleResponse = await request(app) - .post('/api/v1/roles/create_role') - .send(createRoleformData); + await request(app) + .post('/api/v1/roles/create_role') + .send(createRoleformData); const userData = { firstName: 'Test', @@ -171,7 +170,7 @@ describe('CRUD roles test', () => { it('should return a 404 if user is not found on change user role operation', async () => { const formData = { userId: 100, - newRoleId: "some id", + newRoleId: 'some id', }; const response = await request(app) diff --git a/src/__test__/userController.test.ts b/src/__test__/userController.test.ts index 1160a14d..0ce9cca4 100644 --- a/src/__test__/userController.test.ts +++ b/src/__test__/userController.test.ts @@ -21,7 +21,10 @@ describe('User Registration Tests', () => { expect(response.body.user).toHaveProperty('firstName', userData.firstName); expect(response.body.user).toHaveProperty('lastName', userData.lastName); expect(response.body.user).toHaveProperty('email', userData.email); - expect(response.body.user).toHaveProperty('userType', response.body.user.userType); + expect(response.body.user).toHaveProperty( + 'userType', + response.body.user.userType + ); }); it('should return a 400 status code if validation fails', async () => { diff --git a/src/controller/roleController.ts b/src/controller/roleController.ts index e2d872cb..b2833645 100644 --- a/src/controller/roleController.ts +++ b/src/controller/roleController.ts @@ -123,18 +123,17 @@ class roleController { } const role = await roleRepository.findOneBy({ - id:formData.newRoleId - }) + id: formData.newRoleId, + }); - if(!role){ - return res.status(404).json({ msg: 'Role not found'}) + if (!role) { + return res.status(404).json({ msg: 'Role not found' }); } user.userType = role; await userRepository.save(user); return res.status(200).json({ msg: 'User role successfully updated' }); } catch (err: any) { - console.log(err.message); res.status(500).json({ msg: 'Internal Server Error' }); } } diff --git a/src/controller/userController.ts b/src/controller/userController.ts index f0eebc94..7b6738c8 100644 --- a/src/controller/userController.ts +++ b/src/controller/userController.ts @@ -3,11 +3,11 @@ import { check, validationResult } from 'express-validator'; import bcrypt from 'bcryptjs'; import dbConnection from '../database'; import { UserModel } from '../database/models/userModel'; -import { Role } from '../database/models/roleEntity' +import { Role } from '../database/models/roleEntity'; // Assuming dbConnection.getRepository(UserModel) returns a repository instance const userRepository = dbConnection.getRepository(UserModel); -const roleRepository = dbConnection.getRepository(Role) +const roleRepository = dbConnection.getRepository(Role); interface CreateUserRequestBody { firstName: string; @@ -44,19 +44,19 @@ export const registerUser = [ } const hashedPassword = await bcrypt.hash(password, 10); - const userRole = (userType == 'vendor')? - (await roleRepository.findOneBy({name:'Vendor'}))!: - (await roleRepository.findOneBy({name:'Buyer'}))! - + const userRole = + userType == 'vendor' + ? (await roleRepository.findOneBy({ name: 'Vendor' }))! + : (await roleRepository.findOneBy({ name: 'Buyer' }))!; + const newUser = new UserModel({ firstName: firstName, lastName: lastName, email: email, password: hashedPassword, - userType: userRole + userType: userRole, }); - const savedUser = await userRepository.save(newUser); res.status(201).json({ message: 'User successfully registered', @@ -74,8 +74,8 @@ export const registerUser = [ export const getAllUsers = async (req: Request, res: Response) => { try { const users = await userRepository.find({ - select: ['id', 'firstName', 'lastName', 'email','userType'], - relations: ['userType'] + select: ['id', 'firstName', 'lastName', 'email', 'userType'], + relations: ['userType'], }); res.status(200).json(users); } catch (error) { diff --git a/src/database/models/userModel.ts b/src/database/models/userModel.ts index ef5b796f..5313d85b 100644 --- a/src/database/models/userModel.ts +++ b/src/database/models/userModel.ts @@ -1,4 +1,10 @@ -import { Entity, PrimaryGeneratedColumn, Column, OneToOne, JoinColumn } from 'typeorm'; +import { + Entity, + PrimaryGeneratedColumn, + Column, + OneToOne, + JoinColumn, +} from 'typeorm'; import { Role } from './roleEntity'; @Entity() @@ -20,7 +26,7 @@ export class UserModel { @OneToOne(() => Role) @JoinColumn() - userType: Role + userType: Role; constructor(user: Partial) { Object.assign(this, user); diff --git a/src/middlewares/errorHandler.ts b/src/middlewares/errorHandler.ts index ec5a7bdc..bb9c5a39 100644 --- a/src/middlewares/errorHandler.ts +++ b/src/middlewares/errorHandler.ts @@ -1,16 +1,21 @@ import { Request, Response, NextFunction } from 'express'; -type MiddlewareFunction = (req: Request, res: Response, next: NextFunction) => Promise; +type MiddlewareFunction = ( + req: Request, + res: Response, + next: NextFunction +) => Promise; function errorHandler(func: MiddlewareFunction) { - return async (req: Request, res: Response, next: NextFunction) => { - try { - await func(req, res, next); - } catch (error) { // Removed the type annotation from the catch clause variable because it caused liting errors - const message = error.detail || 'Internal Server Error'; - res.status(500).send(message); - } - }; - } + return async (req: Request, res: Response, next: NextFunction) => { + try { + await func(req, res, next); + } catch (error) { + // Removed the type annotation from the catch clause variable because it caused liting errors + const message = error.detail || 'Internal Server Error'; + res.status(500).send(message); + } + }; +} -export default errorHandler; \ No newline at end of file +export default errorHandler; diff --git a/src/middlewares/roleSchema.ts b/src/middlewares/roleSchema.ts index 63fa1dc1..1e5d63ea 100644 --- a/src/middlewares/roleSchema.ts +++ b/src/middlewares/roleSchema.ts @@ -14,4 +14,4 @@ export const updateRoleSchema = Joi.object({ export const changeRoleSchema = Joi.object({ userId: Joi.number().integer().positive().required(), newRoleId: Joi.number().integer().positive().required(), -}); \ No newline at end of file +}); diff --git a/src/routes/index.ts b/src/routes/index.ts index 8d495ab6..f6117b86 100644 --- a/src/routes/index.ts +++ b/src/routes/index.ts @@ -5,4 +5,4 @@ // router.use('/roles', roleRoutes) -// export default router \ No newline at end of file +// export default router