Files
KanbanGit/app/Actions/Git/GitProviderManager.php
T

26 lines
653 B
PHP

<?php
namespace App\Actions\Git;
use App\Actions\Git\Contracts\GitProviderClient;
use App\Actions\Git\Gitea\GiteaProviderClient;
use Illuminate\Support\Str;
class GitProviderManager
{
public function __construct(
private readonly GiteaProviderClient $giteaProviderClient,
) {}
public function client(GitProviderKey|string $provider): GitProviderClient
{
$providerKey = $provider instanceof GitProviderKey
? $provider
: GitProviderKey::from(Str::lower(trim($provider)));
return match ($providerKey) {
GitProviderKey::Gitea => $this->giteaProviderClient,
};
}
}