Files
vito/app/Actions/Site/UpdateBranch.php
Saeed Vaziry 131b828807 Plugins base (#613)
* wip

* wip

* cleanup

* notification channels

* phpstan

* services

* remove server types

* refactoring

* refactoring
2025-06-14 14:35:18 +02:00

37 lines
719 B
PHP
Executable File

<?php
namespace App\Actions\Site;
use App\Exceptions\SSHError;
use App\Models\Site;
use App\SSH\OS\Git;
use Illuminate\Support\Facades\Validator;
class UpdateBranch
{
/**
* @param array<string, mixed> $input
*
* @throws SSHError
*/
public function update(Site $site, array $input): void
{
Validator::make($input, self::rules())->validate();
$site->branch = $input['branch'];
app(Git::class)->fetchOrigin($site);
app(Git::class)->checkout($site);
$site->save();
}
/**
* @return array<string, string>
*/
public static function rules(): array
{
return [
'branch' => 'required',
];
}
}