Файловый менеджер - Редактировать - /home/clickysoft/public_html/app/Http/Controllers/Api/V1/UsersApiController.php
Назад
<?php namespace App\Http\Controllers\Api\V1; use App\Http\Controllers\Controller; use App\Http\Controllers\Traits\MediaUploadingTrait; use App\Http\Requests\StoreUserRequest; use App\Http\Requests\UpdateUserRequest; use App\Http\Resources\Admin\UserDropDownResource; use App\Http\Resources\Admin\UserResource; use App\Http\Resources\Admin\UserShowResource; use App\Models\User; use DB; use Gate; use Symfony\Component\HttpFoundation\Response; class UsersApiController extends Controller { use MediaUploadingTrait; public function index() { abort_if(Gate::denies('user_access'), Response::HTTP_FORBIDDEN, '403 Forbidden'); return UserResource::collection(User::paginate(50)); } public function dropDown() { abort_if(Gate::denies('user_access'), Response::HTTP_FORBIDDEN, '403 Forbidden'); return UserDropDownResource::collection(User::select('id', 'first_name', 'last_name')->get()); } public function store(StoreUserRequest $request) { DB::beginTransaction(); try { $user = User::create($request->all()); $user->companies()->attach($request->input('companies', [])); $user->roles()->attach($request->input('roles', [])); if ($request->file('avatar')) { $user->addMediaFromRequest('avatar')->toMediaCollection('avatar', 'avatar'); } DB::commit(); return (new UserShowResource($user)) ->response() ->setStatusCode(Response::HTTP_CREATED); } catch (\Exception $e) { DB::rollBack(); return response()->json(['message' => $e->getMessage()], 500); } } public function show(User $user) { abort_if(Gate::denies('user_show'), Response::HTTP_FORBIDDEN, '403 Forbidden'); return new UserShowResource($user->load(['organization', 'companies', 'roles'])); } public function update(UpdateUserRequest $request, User $user) { DB::beginTransaction(); try { $user->update($request->all()); $user->companies()->sync($request->input('companies', [])); $user->roles()->sync($request->input('roles', [])); if ($request->file('avatar', false)) { if ($user->avatar) { $user->avatar->delete(); } $user->addMediaFromRequest('avatar')->toMediaCollection('avatar', 'avatar'); } DB::commit(); return (new UserShowResource($user)) ->response() ->setStatusCode(Response::HTTP_ACCEPTED); } catch (\Exception $e) { DB::rollBack(); return response()->json(['message' => $e->getMessage()], Response::HTTP_INTERNAL_SERVER_ERROR); } } public function destroy(User $user) { abort_if(Gate::denies('user_delete'), Response::HTTP_FORBIDDEN, '403 Forbidden'); if ($user->avatar) { $user->avatar->delete(); } $user->delete(); return response(null, Response::HTTP_NO_CONTENT); } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.29 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка