mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-02 22:46:16 +00:00
projects
This commit is contained in:
@ -4,21 +4,29 @@
|
||||
|
||||
use App\Models\Project;
|
||||
use App\Models\User;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Validation\ValidationException;
|
||||
|
||||
class DeleteProject
|
||||
{
|
||||
public function delete(User $user, Project $project): void
|
||||
/**
|
||||
* @param array<string, mixed> $input
|
||||
*/
|
||||
public function delete(User $user, Project $project, array $input): void
|
||||
{
|
||||
Validator::make($input, [
|
||||
'name' => 'required',
|
||||
])->validate();
|
||||
|
||||
if ($user->projects()->count() === 1) {
|
||||
throw ValidationException::withMessages([
|
||||
'project' => __('Cannot delete the last project.'),
|
||||
'name' => __('Cannot delete the last project.'),
|
||||
]);
|
||||
}
|
||||
|
||||
if ($user->current_project_id == $project->id) {
|
||||
throw ValidationException::withMessages([
|
||||
'project' => __('Cannot delete your current project.'),
|
||||
'name' => __('Cannot delete your current project.'),
|
||||
]);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user