cms/app/Http/Controllers/Admin/Users/UserDestroyController.php

36 lines
1 KiB
PHP
Raw Permalink Normal View History

<?php
namespace App\Http\Controllers\Admin\Users;
use App\Http\Controllers\Controller;
use App\Http\Requests\Admin\Users\DestroyUserRequest;
use App\Models\User;
use App\Services\UserService;
/**
* Controller for deleting a user.
*/
class UserDestroyController extends Controller
{
/**
* Remove the specified user.
*
* @param \App\Http\Requests\Admin\Users\DestroyUserRequest $request
* @param \App\Models\User $user
* @param \App\Services\UserService $userService
* @return \Illuminate\Http\RedirectResponse
*/
public function __invoke(DestroyUserRequest $request, User $user, UserService $userService)
{
if ($user->is_protected) {
return redirect()->back()->with('error', 'The protected user cannot be deleted.');
}
if ($userService->delete($user)) {
return redirect()->route('admin.users.index')->with('status', 'User deleted successfully.');
}
return redirect()->back()->with('error', 'Failed to delete user.');
}
}