personDocumentACLAwareRepository->buildFetchQueryForPerson( $person, $startDate, $endDate, $content ); } public function isAllowedForPerson(Person $person): bool { return $this->security->isGranted(PersonDocumentVoter::SEE, $person); } public function buildFetchQueryForAccompanyingPeriod(AccompanyingPeriod $accompanyingPeriod, ?\DateTimeImmutable $startDate = null, ?\DateTimeImmutable $endDate = null, ?string $content = null, ?string $origin = null): FetchQueryInterface { return $this->personDocumentACLAwareRepository->buildFetchQueryForAccompanyingPeriod($accompanyingPeriod, $startDate, $endDate, $content); } public function isAllowedForAccompanyingPeriod(AccompanyingPeriod $accompanyingPeriod): bool { // we assume that the user is allowed to see at least one person of the course // this will be double checked when running the query return true; } }