<?php

declare(strict_types=1);

namespace App\Scolarite\Application\Port;

use App\Administration\Domain\Model\SchoolClass\ClassId;
use App\Administration\Domain\Model\Subject\SubjectId;
use App\Administration\Domain\Model\User\UserId;
use App\Shared\Domain\Tenant\TenantId;

/**
 * Port pour vérifier qu'un enseignant est affecté à une classe/matière.
 *
 * L'implémentation résout l'année académique courante de façon transparente.
 */
interface EnseignantAffectationChecker
{
    public function estAffecte(
        UserId $teacherId,
        ClassId $classId,
        SubjectId $subjectId,
        TenantId $tenantId,
    ): bool;
}
