Após executar todos os passos do curso, meu código ficou sem erros e consegui conectar ao banco de dados
quando rodo npm run start:dev
também ercebo msg positiva:
Ao enviar as requisições de criação de livro no insomnia tenho resposta 201, porém ao executar o método "Obter todos" recebe uma lista vazia:
Já verifiquei o código, está igual
livro.service.ts :
import { Injectable } from '@nestjs/common';
import { InjectModel } from '@nestjs/sequelize';
import { Livro } from './livro.model';
@Injectable()
export class LivrosService {
constructor(
@InjectModel(Livro)
private livroModel: typeof Livro,
) {}
async obterTodos(): Promise<Livro[]> {
return this.livroModel.findAll();
}
async obterUm(id: number): Promise<Livro> {
return this.livroModel.findByPk(id);
}
async criar(livro: Livro) {
this.livroModel.create(livro);
}
async alterar(livro: Livro): Promise<[number, Livro[]]> {
return this.livroModel.update(livro, {
where: {
id: livro.id,
},
});
}
async apagar(id: number) {
const livro: Livro = await this.obterUm(id);
livro.destroy();
}
}
arquivo livros.controller.ts
import { LivrosService } from './livros.service';
import {
Body,
Controller,
Delete,
Get,
Param,
Post,
Put,
} from '@nestjs/common';
import { Livro } from './livro.model';
@Controller('livros')
export class LivrosController {
constructor(private livrosService: LivrosService) {}
@Get()
async obterTodos(): Promise<Livro[]> {
return this.livrosService.obterTodos();
}
@Get(':id')
async obterUm(@Param() params): Promise<Livro> {
return this.livrosService.obterUm(params.id);
}
@Post()
async criar(@Body() livro: Livro) {
this.livrosService.criar(livro);
}
@Put()
async alterar(@Body() livro: Livro): Promise<[number, Livro[]]> {
return this.livrosService.alterar(livro);
}
@Delete(':id')
async apagar(@Param() params) {
this.livrosService.apagar(params.id);
}
}