/
itp_practice
/
itp_backend
Обзор
Документация
Войти
/
itp_practice
/
itp_backend
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
master
app/Http/Controllers/Admin/UserController.php
115 строк
4 KB
vivanenko
refactoring
21 май 2025, 20:24
21 май 2025, 20:24
1a1e745
Код
Авторство
О чём код?
<?php namespace App\Http\Controllers\Admin; use App\DTOs\Admin\UserData; use App\Http\Controllers\Controller; use App\Http\Requests\Admin\UserRequest; use App\Services\Admin\UserService; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; class UserController extends Controller { public function __construct( private readonly UserService $userService ) {} public function index(Request $request): JsonResponse { $perPage = $request->get('per_page', 15); $page = $request->get('page', 1); $result = $this->userService->getUsers($perPage, $page); return response()->json([ 'data' => $result['data'], 'meta' => [ 'current_page' => $result['current_page'], 'per_page' => $result['per_page'], 'last_page' => $result['last_page'], 'total' => $result['total'] ] ]); } public function show(int $id): JsonResponse { $user = $this->userService->getUser($id); if (!$user) { return response()->json(['message' => 'User not found'], 404); } return response()->json(['data' => $user]); } public function store(UserRequest $request): JsonResponse { try { $data = UserData::fromRequest($request); $user = $this->userService->createUser($data); return response()->json(['data' => $user], 201); } catch (\InvalidArgumentException $e) { return response()->json(['message' => $e->getMessage()], 422); } } public function update(UserRequest $request, int $id): JsonResponse { try { $data = UserData::fromRequest($request); $user = $this->userService->updateUser($id, $data); if (!$user) { return response()->json(['message' => 'User not found'], 404); } return response()->json(['data' => $user]); } catch (\InvalidArgumentException $e) { return response()->json(['message' => $e->getMessage()], 422); } } public function destroy(int $id): JsonResponse { $deleted = $this->userService->deleteUser($id); if (!$deleted) { return response()->json(['message' => 'User not found'], 404); } return response()->json(null, 204); } public function updateTariffLevel(UserRequest $request, int $id): JsonResponse { try { $data = UserData::fromRequest($request); $updated = $this->userService->updateTariffLevel($id, $data->tariff_level); if (!$updated) { return response()->json(['message' => 'User not found'], 404); } return response()->json(['message' => 'Tariff level updated successfully']); } catch (\InvalidArgumentException $e) { return response()->json(['message' => $e->getMessage()], 422); } } public function updateTelegramData(UserRequest $request, int $id): JsonResponse { try { $data = UserData::fromRequest($request); $updated = $this->userService->updateTelegramData($id, $data->telegram_data); if (!$updated) { return response()->json(['message' => 'User not found'], 404); } return response()->json(['message' => 'Telegram data updated successfully']); } catch (\InvalidArgumentException $e) { return response()->json(['message' => $e->getMessage()], 422); } } }