35-6 Vérifier l'existence du parent
Dans le contrôleur, avant de faire la requête de création, on pourrait vouloir vérifier que la ressource parente existe (un projet).
Injection du service ProjetsService
Pour cela, nous aurons besoin du service ProjetsService, donc injectons-le dans le contrôleur des issues.
src/issues/issues.controller.ts
export class IssuesController {
constructor(private readonly issuesService: IssuesService,
private readonly projetsService: ProjetsService) {}
//...
Vérifier l'existence du projet
Pour vérifier l'existence du projet, simplement faire appel au service!
src/issues/issues.controller.ts
@Post()
//highlught-next-line
async create(@Param('projetId') projetId: string,
@Body() createIssueDto: CreateIssueDto) {
const projet = await this.projetsService.obtenir(+projetId);
if(!projet) throw new NotFoundException();
return this.issuesService.create(+projetId, createIssueDto);
}
info
N'oubliez pas le async sur la fonction!
attention
Cependant, vous aurez une erreur du genre dans la console:
Nest can't resolve dependencies of the IssuesController (IssuesService, ?). Please make sure that the argument ProjetsService at index [1] is available in the IssuesModule context.