Skip to content
Snippets Groups Projects
Commit 714e59df authored by Martin Korec's avatar Martin Korec
Browse files

fix: add create and update validation for directors

parent 96b5180d
No related branches found
No related tags found
No related merge requests found
......@@ -2,14 +2,17 @@ import { Injectable } from '@nestjs/common';
import { CreateDirectorDto } from './dto/create-director.dto';
import { UpdateDirectorDto } from './dto/update-director.dto';
import { PrismaService } from '../../prisma.service';
import { plainToClass } from 'class-transformer';
import { DirectorEntity } from './entities/director.entity';
@Injectable()
export class DirectorsService {
constructor(private prisma: PrismaService) {}
async create(createDirectorDto: CreateDirectorDto) {
const director = plainToClass(DirectorEntity, createDirectorDto);
return await this.prisma.director.create({
data: createDirectorDto,
data: director,
});
}
......@@ -26,12 +29,16 @@ export class DirectorsService {
}
async update(id: string, updateDirectorDto: UpdateDirectorDto) {
const updatedDirector = {
...await this.findOne(id),
...plainToClass(DirectorEntity, updateDirectorDto),
};
return await this.prisma.director.update({
where: {
id,
},
data: {
...updateDirectorDto,
...updatedDirector,
},
});
}
......@@ -43,8 +50,8 @@ export class DirectorsService {
deletedAt: null,
},
select: {
id: true
}
id: true,
},
});
if (directorMovie === undefined) {
......
import {
IsDate,
IsNotEmpty,
IsOptional,
IsString,
MaxDate,
} from 'class-validator';
export class CreateDirectorDto {
@IsNotEmpty()
@IsString()
readonly name: string;
@IsNotEmpty()
@IsString()
readonly surname: string;
readonly birthDate?: string;
@IsNotEmpty()
@IsDate()
@IsOptional()
@MaxDate(new Date())
readonly birthDate?: Date;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment