54 lines
1.2 KiB
PHP
54 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Actions\Git\Contracts;
|
|
|
|
use App\Actions\Git\Data\GitAuthenticatedUser;
|
|
use App\Actions\Git\Data\GitBranch;
|
|
use App\Actions\Git\Data\GitPullRequest;
|
|
use App\Actions\Git\Data\GitRepository;
|
|
use App\Actions\Git\GitProviderKey;
|
|
|
|
interface GitProviderClient
|
|
{
|
|
public function key(): GitProviderKey;
|
|
|
|
public function getAuthenticatedUser(string $baseUrl, string $token): GitAuthenticatedUser;
|
|
|
|
public function getRepository(
|
|
string $baseUrl,
|
|
string $token,
|
|
string $owner,
|
|
string $repository,
|
|
): GitRepository;
|
|
|
|
/**
|
|
* @return array<int, GitRepository>
|
|
*/
|
|
public function listRepositories(string $baseUrl, string $token): array;
|
|
|
|
/**
|
|
* @return array<int, GitBranch>
|
|
*/
|
|
public function listBranches(
|
|
string $token,
|
|
GitRepository $repository,
|
|
): array;
|
|
|
|
/**
|
|
* @return array<int, GitPullRequest>
|
|
*/
|
|
public function listPullRequests(
|
|
string $token,
|
|
GitRepository $repository,
|
|
): array;
|
|
|
|
public function createBranch(
|
|
string $baseUrl,
|
|
string $token,
|
|
string $owner,
|
|
string $repository,
|
|
string $newBranchName,
|
|
?string $oldRefName = null,
|
|
): GitBranch;
|
|
}
|