mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-01 05:56:16 +00:00
refactoring
This commit is contained in:
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\SourceControlProviders;
|
||||
|
||||
use App\Exceptions\FailedToDeployGitKey;
|
||||
use App\Exceptions\FailedToDeployGitHook;
|
||||
use App\Exceptions\FailedToDestroyGitHook;
|
||||
use Exception;
|
||||
@ -41,9 +42,9 @@ public function getRepo(string $repo = null): mixed
|
||||
return $res->json();
|
||||
}
|
||||
|
||||
public function fullRepoUrl(string $repo): string
|
||||
public function fullRepoUrl(string $repo, string $key): string
|
||||
{
|
||||
return "https://{$this->sourceControl->access_token}@github.com/$repo.git";
|
||||
return sprintf("git@github.com-%s:%s.git", $key, $repo);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -117,4 +118,25 @@ public function getLastCommit(string $repo, string $branch): ?array
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws FailedToDeployGitKey
|
||||
*/
|
||||
public function deployKey(string $title, string $repo, string $key): void
|
||||
{
|
||||
$response = Http::withToken($this->sourceControl->access_token)->post(
|
||||
$this->apiUrl.'/repos/'.$repo.'/keys',
|
||||
[
|
||||
'title' => $title,
|
||||
'key' => $key,
|
||||
'read_only' => false,
|
||||
]
|
||||
);
|
||||
|
||||
info('github response', $response->json());
|
||||
|
||||
if ($response->status() != 201) {
|
||||
throw new FailedToDeployGitKey(json_decode($response->body())->message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user