fix bitbucket (#119)

Fix Bitbucket API errors
This commit is contained in:
Saeed Vaziry
2024-03-17 11:36:04 +01:00
committed by GitHub
parent f0c4fc4812
commit b07ae470f9
10 changed files with 167 additions and 45 deletions

View File

@ -13,13 +13,17 @@ class ConnectSourceControl
public function connect(array $input): void
{
$this->validate($input);
$sourceControl = new SourceControl([
'provider' => $input['provider'],
'profile' => $input['name'],
'access_token' => $input['token'],
'url' => Arr::has($input, 'url') ? $input['url'] : null,
]);
$this->validateProvider($sourceControl, $input);
$sourceControl->provider_data = $sourceControl->provider()->createData($input);
if (! $sourceControl->provider()->connect()) {
throw ValidationException::withMessages([
'token' => __('Cannot connect to :provider or invalid token!', ['provider' => $sourceControl->provider]
@ -43,15 +47,15 @@ private function validate(array $input): void
'name' => [
'required',
],
'token' => [
'required',
],
'url' => [
'nullable',
'url:http,https',
'ends_with:/',
],
];
Validator::make($input, $rules)->validate();
}
/**
* @throws ValidationException
*/
private function validateProvider(SourceControl $sourceControl, array $input): void
{
Validator::make($input, $sourceControl->provider()->createRules($input))->validate();
}
}