<?php

declare(strict_types=1);

/*
 * Chill is a software for social workers
 *
 * For the full copyright and license information, please view
 * the LICENSE file that was distributed with this source code.
 */

namespace Chill\MainBundle\Repository;

use Chill\MainBundle\Entity\ExportGeneration;
use Chill\MainBundle\Entity\SavedExport;

readonly class SavedExportOrExportGenerationRepository
{
    public function __construct(
        private SavedExportRepositoryInterface $savedExportRepository,
        private ExportGenerationRepository $exportGenerationRepository,
    ) {}

    public function findById(string $uuid): SavedExport|ExportGeneration|null
    {
        if (null !== $savedExport = $this->savedExportRepository->find($uuid)) {
            return $savedExport;
        }

        return $this->exportGenerationRepository->find($uuid);
    }
}
