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

feat: implemented directors CRUD

parent 43392356
No related branches found
No related tags found
No related merge requests found
import { Test, TestingModule } from '@nestjs/testing';
import { DirectorsController } from './directors.controller';
import { DirectorsService } from './directors.service';
describe('DirectorsController', () => {
let controller: DirectorsController;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [DirectorsController],
providers: [DirectorsService],
}).compile();
controller = module.get<DirectorsController>(DirectorsController);
});
it('should be defined', () => {
expect(controller).toBeDefined();
});
});
import {
Controller,
Get,
Post,
Body,
Patch,
Param,
Delete,
} from '@nestjs/common';
import { DirectorsService } from './directors.service';
import { CreateDirectorDto } from './dto/create-director.dto';
import { UpdateDirectorDto } from './dto/update-director.dto';
@Controller('director')
export class DirectorsController {
constructor(private readonly directorsService: DirectorsService) {}
@Post()
async create(@Body() createDirectorDto: CreateDirectorDto) {
return await this.directorsService.create(createDirectorDto);
}
@Get()
async findAll() {
return await this.directorsService.findAll();
}
@Get(':id')
async findOne(@Param('id') id: string) {
return await this.directorsService.findOne(id);
}
@Patch(':id')
async update(
@Param('id') id: string,
@Body() updateDirectorDto: UpdateDirectorDto,
) {
return await this.directorsService.update(id, updateDirectorDto);
}
@Delete(':id')
async remove(@Param('id') id: string) {
return await this.directorsService.remove(id);
}
}
import { Module } from '@nestjs/common';
import { DirectorsService } from './directors.service';
import { DirectorsController } from './directors.controller';
import { PrismaService } from '../../prisma.service';
@Module({
controllers: [DirectorsController],
providers: [DirectorsService, PrismaService],
})
export class DirectorsModule {}
import { Test, TestingModule } from '@nestjs/testing';
import { DirectorsService } from './directors.service';
describe('DirectorsService', () => {
let service: DirectorsService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [DirectorsService],
}).compile();
service = module.get<DirectorsService>(DirectorsService);
});
it('should be defined', () => {
expect(service).toBeDefined();
});
});
import { Injectable } from '@nestjs/common';
import { CreateDirectorDto } from './dto/create-director.dto';
import { UpdateDirectorDto } from './dto/update-director.dto';
import { PrismaService } from '../../prisma.service';
@Injectable()
export class DirectorsService {
constructor(private prisma: PrismaService) {}
create(createDirectorDto: CreateDirectorDto) {
return this.prisma.director.create({
data: createDirectorDto,
});
}
findAll() {
return this.prisma.director.findMany();
}
findOne(id: string) {
return this.prisma.director.findUnique({
where: {
id,
},
});
}
update(id: string, updateDirectorDto: UpdateDirectorDto) {
return `This action updates a #${id} director`;
}
remove(id: string) {
return `This action removes a #${id} director`;
}
}
export class CreateDirectorDto {
readonly name: string;
readonly surname: string;
readonly birthDate?: string;
}
import { PartialType } from '@nestjs/mapped-types';
import { CreateDirectorDto } from './create-director.dto';
export class UpdateDirectorDto extends PartialType(CreateDirectorDto) {}
import { Director } from '@prisma/client';
export class DirectorEntity implements Director {
id: string;
createdAt: Date;
updatedAt: Date;
deletedAt: Date;
name: string;
surname: string;
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