<?php

declare(strict_types=1);

namespace App\Framework\Security\RequestSigning;

use App\Framework\Cache\Cache;
use App\Framework\Database\EntityManager;
use App\Framework\DateTime\Clock;
use App\Framework\DI\Initializer;

final readonly class SigningKeyRepositoryInitializer
{
    #[Initializer]
    public function __invoke(
        EntityManager $entityManager,
        Cache $cache,
        Clock $clock
    ): SigningKeyRepository {
        // IMMER EntityManager-basierte Implementierung verwenden
        // Konsistenz zwischen Development, Testing und Production
        return new EntityManagerSigningKeyRepository($entityManager, $clock, $cache);
    }
}
