GithubClientBootloader.php•924 B
<?php
declare(strict_types=1);
namespace Butschster\ContextGenerator\Lib\GithubClient;
use Butschster\ContextGenerator\Lib\HttpClient\HttpClientBootloader;
use Butschster\ContextGenerator\Lib\HttpClient\HttpClientInterface;
use Spiral\Boot\Bootloader\Bootloader;
use Spiral\Boot\EnvironmentInterface;
final class GithubClientBootloader extends Bootloader
{
    #[\Override]
    public function defineDependencies(): array
    {
        return [
            HttpClientBootloader::class,
        ];
    }
    #[\Override]
    public function defineSingletons(): array
    {
        return [
            GithubClientInterface::class => static fn(
                HttpClientInterface $httpClient,
                EnvironmentInterface $env,
            ): GithubClientInterface => new GithubClient(
                httpClient: $httpClient,
                token: $env->get('GITHUB_TOKEN'),
            ),
        ];
    }
}