mirror of
https://github.com/vitodeploy/vito.git
synced 2025-04-20 02:11:36 +00:00
38 lines
846 B
PHP
38 lines
846 B
PHP
<?php
|
|
|
|
namespace App\Actions\Projects;
|
|
|
|
use App\Models\Project;
|
|
use Illuminate\Support\Facades\Validator;
|
|
use Illuminate\Validation\Rule;
|
|
|
|
class UpdateProject
|
|
{
|
|
public function update(Project $project, array $input): Project
|
|
{
|
|
if (isset($input['name'])) {
|
|
$input['name'] = strtolower($input['name']);
|
|
}
|
|
|
|
$this->validate($project, $input);
|
|
|
|
$project->name = $input['name'];
|
|
|
|
$project->save();
|
|
|
|
return $project;
|
|
}
|
|
|
|
private function validate(Project $project, array $input): void
|
|
{
|
|
Validator::make($input, [
|
|
'name' => [
|
|
'required',
|
|
'string',
|
|
'max:255',
|
|
Rule::unique('projects')->where('user_id', $project->user_id)->ignore($project->id),
|
|
],
|
|
])->validate();
|
|
}
|
|
}
|