<?php

declare(strict_types=1);

namespace App\Scolarite\Domain\Repository;

use App\Scolarite\Domain\Model\Homework\HomeworkAttachment;
use App\Scolarite\Domain\Model\Homework\HomeworkId;

interface HomeworkAttachmentRepository
{
    /** @return array<HomeworkAttachment> */
    public function findByHomeworkId(HomeworkId $homeworkId): array;

    /**
     * @return array<string, bool> Map homeworkId => hasAttachments
     */
    public function hasAttachments(HomeworkId ...$homeworkIds): array;

    public function save(HomeworkId $homeworkId, HomeworkAttachment $attachment): void;

    public function delete(HomeworkId $homeworkId, HomeworkAttachment $attachment): void;
}
