/
ximain1
/
tpu-backend
Обзор
Документация
Войти
/
ximain1
/
tpu-backend
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
app/Http/Controllers/UserController.php
65 строк
2 KB
Попехин Константин Сергеевич
Реализация аутентификации и уровней доступа
08 янв 2026, 16:16
08 янв 2026, 16:16
254c8af
Код
Авторство
О чём код?
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; use App\Http\Requests\UserRequest; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; class UserController extends Controller { public function index(){ return User::all(); } public function store(UserRequest $request): \Illuminate\Http\JsonResponse { $validated = $request->validated(); $user = User::create([ 'fio' => $validated['fio'], 'name' => $validated['name'], 'password' => Hash::make($validated['password']), 'status' => $validated['status'], ]); return response()->json([ 'message' => 'Registration successful', 'user' => $user ], 201); } public function update(UserRequest $request, int $id): bool{ $validated = $request->validated(); return User::findOrFail($id)->update($validated); } public function destroy(int $id): ?bool { return User::findOrFail($id)->delete(); } public function login(Request $request){ $validated = $request->validate([ 'name' => 'required', 'password' => 'required', ]); $user = User::where('name', $validated['name'])->first(); if (!$user || !Hash::check($validated['password'], $user->password)) { return response()->json(['message' => "Unauthorized"], 401); } $user->tokens()->delete(); $token = $user->createToken('api-token')->plainTextToken; return response()->json([ 'access_token' => $token, 'user' => $user, ]); } }