Service
A camada de serviço (Service) trata das regras de negócio. Após as eventuais validações, essa camada solicita ao repositório a manipulação dos dados.
import { Musica } from '../entity/Musica';
import { MusicaRepository } from '../repository/MusicaRepository';
export class MusicaService{
private musicaRepository: MusicaRepository;
constructor(){
this.musicaRepository = new MusicaRepository();
}
async criar(musica: Musica): Promise<Musica>{
return await this.musicaRepository.criar(musica);
}
async listar(): Promise<Musica[]>{
return await this.musicaRepository.listar();
}
async atualizar(id: number, musica: Partial<Musica>): Promise<void>{
await this.musicaRepository.atualizar(id, musica);
}
async remover(id: number): Promise<boolean> {
const musica = await this.musicaRepository.pesquisar({ id: id });
if (!musica) { return false; }
await this.musicaRepository.remover(musica);
return true;
}
}