diff --git a/lib/prisma/src/dtos/users.dto.ts b/lib/prisma/src/dtos/users.dto.ts index 5bf903b..6c4891b 100644 --- a/lib/prisma/src/dtos/users.dto.ts +++ b/lib/prisma/src/dtos/users.dto.ts @@ -1,20 +1,15 @@ -import { IsEmail, IsString, IsNotEmpty, MinLength, MaxLength } from 'class-validator'; - -export class CreateUserDto { - @IsEmail() - public email: string; +import { IsEmail, IsString, IsNotEmpty, Length } from 'class-validator'; +class BaseUserDto { @IsString() @IsNotEmpty() - @MinLength(9) - @MaxLength(32) + @Length(9,32) public password: string; } -export class UpdateUserDto { - @IsString() - @IsNotEmpty() - @MinLength(9) - @MaxLength(32) - public password: string; +export class CreateUserDto extends BaseUserDto { + @IsEmail() + public email: string; } + +export class UpdateUserDto extends BaseUserDto {} diff --git a/lib/prisma/src/routes/users.route.ts b/lib/prisma/src/routes/users.route.ts index b750b9f..6c74a62 100644 --- a/lib/prisma/src/routes/users.route.ts +++ b/lib/prisma/src/routes/users.route.ts @@ -1,6 +1,6 @@ import { Router } from 'express'; import { UserController } from '@controllers/users.controller'; -import { CreateUserDto } from '@dtos/users.dto'; +import { CreateUserDto, UpdateUserDto } from '@dtos/users.dto'; import { Routes } from '@interfaces/routes.interface'; import { ValidationMiddleware } from '@middlewares/validation.middleware'; @@ -17,7 +17,7 @@ export class UserRoute implements Routes { this.router.get(`${this.path}`, this.user.getUsers); this.router.get(`${this.path}/:id(\\d+)`, this.user.getUserById); this.router.post(`${this.path}`, ValidationMiddleware(CreateUserDto), this.user.createUser); - this.router.put(`${this.path}/:id(\\d+)`, ValidationMiddleware(CreateUserDto, true), this.user.updateUser); + this.router.put(`${this.path}/:id(\\d+)`, ValidationMiddleware(UpdateUserDto, true), this.user.updateUser); this.router.delete(`${this.path}/:id(\\d+)`, this.user.deleteUser); } } diff --git a/lib/prisma/src/services/users.service.ts b/lib/prisma/src/services/users.service.ts index d027d7a..d8edc08 100644 --- a/lib/prisma/src/services/users.service.ts +++ b/lib/prisma/src/services/users.service.ts @@ -1,7 +1,7 @@ import { PrismaClient } from '@prisma/client'; import { hash } from 'bcrypt'; import { Service } from 'typedi'; -import { CreateUserDto } from '@dtos/users.dto'; +import { CreateUserDto, UpdateUserDto } from '@dtos/users.dto'; import { HttpException } from '@/exceptions/httpException'; import { User } from '@interfaces/users.interface'; @@ -30,7 +30,7 @@ export class UserService { return createUserData; } - public async updateUser(userId: number, userData: CreateUserDto): Promise { + public async updateUser(userId: number, userData: UpdateUserDto): Promise { const findUser: User = await this.user.findUnique({ where: { id: userId } }); if (!findUser) throw new HttpException(409, "User doesn't exist");