Aller au contenu principal

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.