Fixed return types

Signed-off-by: snipe <snipe@snipe.net>
This commit is contained in:
snipe 2024-06-22 18:49:49 +01:00
parent e19922abd0
commit dd9e9c7a6d
2 changed files with 36 additions and 26 deletions

View file

@ -13,6 +13,8 @@ use App\Http\Transformers\SelectlistTransformer;
use App\Http\Transformers\UsersTransformer; use App\Http\Transformers\UsersTransformer;
use App\Models\Actionlog; use App\Models\Actionlog;
use App\Models\Asset; use App\Models\Asset;
use App\Models\Accessory;
use App\Models\Consumable;
use App\Models\License; use App\Models\License;
use App\Models\User; use App\Models\User;
use App\Notifications\CurrentInventory; use App\Notifications\CurrentInventory;
@ -31,7 +33,7 @@ class UsersController extends Controller
* @author [A. Gianotto] [<snipe@snipe.net>] * @author [A. Gianotto] [<snipe@snipe.net>]
* @since [v4.0] * @since [v4.0]
* *
* @return \Illuminate\Http\Response * @return array
*/ */
public function index(Request $request) public function index(Request $request)
{ {
@ -359,7 +361,7 @@ class UsersController extends Controller
* @author [A. Gianotto] [<snipe@snipe.net>] * @author [A. Gianotto] [<snipe@snipe.net>]
* @since [v4.0] * @since [v4.0]
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return array | \Illuminate\Http\JsonResponse
*/ */
public function store(SaveUserRequest $request) public function store(SaveUserRequest $request)
{ {
@ -406,7 +408,7 @@ class UsersController extends Controller
* *
* @author [A. Gianotto] [<snipe@snipe.net>] * @author [A. Gianotto] [<snipe@snipe.net>]
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return array | \Illuminate\Http\JsonResponse
*/ */
public function show($id) public function show($id)
{ {
@ -429,7 +431,7 @@ class UsersController extends Controller
* @since [v4.0] * @since [v4.0]
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function update(SaveUserRequest $request, $id) public function update(SaveUserRequest $request, $id)
{ {
@ -514,7 +516,7 @@ class UsersController extends Controller
* @author [A. Gianotto] [<snipe@snipe.net>] * @author [A. Gianotto] [<snipe@snipe.net>]
* @since [v4.0] * @since [v4.0]
* @param int $id * @param int $id
* @return \Illuminate\Http\Response * @return \Illuminate\Http\JsonResponse
*/ */
public function destroy(DeleteUserRequest $request, $id) public function destroy(DeleteUserRequest $request, $id)
{ {
@ -543,7 +545,7 @@ class UsersController extends Controller
} }
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/users/message.user_not_found', compact('id')))); return response()->json(Helper::formatStandardApiResponse('error', null, 'Whoops.'.trans('admin/users/message.user_not_found')));
} }
@ -553,7 +555,7 @@ class UsersController extends Controller
* @author [A. Gianotto] [<snipe@snipe.net>] * @author [A. Gianotto] [<snipe@snipe.net>]
* @since [v3.0] * @since [v3.0]
* @param $userId * @param $userId
* @return string JSON * @return array | \Illuminate\Http\JsonResponse
*/ */
public function assets(Request $request, $id) public function assets(Request $request, $id)
{ {
@ -626,7 +628,7 @@ class UsersController extends Controller
* @author [A. Gianotto] [<snipe@snipe.net>] * @author [A. Gianotto] [<snipe@snipe.net>]
* @since [v3.0] * @since [v3.0]
* @param $userId * @param $userId
* @return string JSON * @return array | \Illuminate\Http\JsonResponse
*/ */
public function consumables(Request $request, $id) public function consumables(Request $request, $id)
{ {
@ -644,7 +646,7 @@ class UsersController extends Controller
* @author [A. Gianotto] [<snipe@snipe.net>] * @author [A. Gianotto] [<snipe@snipe.net>]
* @since [v4.6.14] * @since [v4.6.14]
* @param $userId * @param $userId
* @return string JSON * @return array
*/ */
public function accessories($id) public function accessories($id)
{ {
@ -663,7 +665,7 @@ class UsersController extends Controller
* @author [N. Mathar] [<snipe@snipe.net>] * @author [N. Mathar] [<snipe@snipe.net>]
* @since [v5.0] * @since [v5.0]
* @param $userId * @param $userId
* @return string JSON * @return array | \Illuminate\Http\JsonResponse
*/ */
public function licenses($id) public function licenses($id)
{ {
@ -726,7 +728,7 @@ class UsersController extends Controller
* @author [Juan Font] [<juanfontalonso@gmail.com>] * @author [Juan Font] [<juanfontalonso@gmail.com>]
* @since [v4.4.2] * @since [v4.4.2]
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return array
*/ */
public function getCurrentUserInfo(Request $request) public function getCurrentUserInfo(Request $request)
{ {
@ -739,7 +741,7 @@ class UsersController extends Controller
* @author [E. Taylor] [<dev@evantaylor.name>] * @author [E. Taylor] [<dev@evantaylor.name>]
* @param int $userId * @param int $userId
* @since [v6.0.0] * @since [v6.0.0]
* @return JsonResponse * @return \Illuminate\Http\JsonResponse
*/ */
public function restore($userId = null) public function restore($userId = null)
{ {

View file

@ -6,7 +6,7 @@ use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule; use Illuminate\Validation\Rule;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use App\Models\User; use App\Models\User;
use Illuminate\Http\Request; use Illuminate\Support\Facades\Gate;
class DeleteUserRequest extends FormRequest class DeleteUserRequest extends FormRequest
@ -19,18 +19,13 @@ class DeleteUserRequest extends FormRequest
*/ */
public function authorize(): bool public function authorize(): bool
{ {
return true; return Gate::allows('delete', new User);
//return true;
} }
/** public function prepareForValidation(): void
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{ {
$user_to_delete = User::withTrashed()->find(request()->route('user'));
$user_to_delete = User::find(request()->route('user'));
if ($user_to_delete) { if ($user_to_delete) {
$this->merge([ $this->merge([
@ -41,30 +36,41 @@ class DeleteUserRequest extends FormRequest
'assigned_assets' => $user_to_delete->assets()->count(), 'assigned_assets' => $user_to_delete->assets()->count(),
'assigned_licenses' => $user_to_delete->licenses()->count(), 'assigned_licenses' => $user_to_delete->licenses()->count(),
'assigned_accessories' => $user_to_delete->accessories()->count(), 'assigned_accessories' => $user_to_delete->accessories()->count(),
'deleted_at' => $user_to_delete->deleted_at,
]); ]);
} }
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [ return [
'id' => ['exists:users,id'], 'user' => ['in:null|not_in:auth()->user()->id'],
'user' => Rule::notIn([Auth::user()->id]),
'managed_users' => Rule::in([0]), 'managed_users' => Rule::in([0]),
'managed_locations' => Rule::in([0]), 'managed_locations' => Rule::in([0]),
'assigned_assets' => Rule::in([0]), 'assigned_assets' => Rule::in([0]),
'assigned_licenses' => Rule::in([0]), 'assigned_licenses' => Rule::in([0]),
'assigned_accessories' => Rule::in([0]), 'assigned_accessories' => Rule::in([0]),
'deleted_at' => Rule::in([null]),
]; ];
} }
public function messages(): array public function messages(): array
{ {
$user_to_delete = User::find(request()->route('user')); $user_to_delete = User::withTrashed()->find(request()->route('user'));
$messages = ['id.exists' => trans('admin/users/message.user_not_found')]; $messages = [];
if ($user_to_delete) { if ($user_to_delete) {
$messages = array_merge([ $messages = array_merge([
'user.exists' => 'Boop. '.trans('admin/users/message.user_not_found'),
// Cannot delete yourself // Cannot delete yourself
'user.not_in' => trans('admin/users/message.error.cannot_delete_yourself'), 'user.not_in' => trans('admin/users/message.error.cannot_delete_yourself'),
@ -84,6 +90,8 @@ class DeleteUserRequest extends FormRequest
// assigned accessories is not 0 // assigned accessories is not 0
'assigned_accessories.in' => trans_choice('admin/users/message.error.delete_has_accessories_var', $user_to_delete->accessories()->count(), ['count' => $user_to_delete->accessories()->count()]), 'assigned_accessories.in' => trans_choice('admin/users/message.error.delete_has_accessories_var', $user_to_delete->accessories()->count(), ['count' => $user_to_delete->accessories()->count()]),
'deleted_at.in' => trans('admin/users/message.user_deleted_warning'),
], $messages); ], $messages);
} }