get('/user', function (Request $request) { $user = $request->user(); $islogin = $user->tokenCan('update'); $test = $islogin ? 'true' : 'false'; return $user; }); Route::post('/login', function (Request $request) { $data = $request->validate([ 'account' => 'required', 'password' => 'required' ]); $user = User::where('account', $request->account)->first(); if (!$user || !Hash::check($request->password, $user->password)) { return response([ 'message' => ['These credentials do not match our records.'] ], 404); } $token = $user->createToken('test-token', [$user->role])->plainTextToken; $response = [ 'user' => JSON_ENCODE($user, JSON_UNESCAPED_UNICODE), 'token' => $token, ]; return response($response, 201); }); Route::post('/logout', function (Request $request) { $user = $request->user(); $user->tokens()->delete(); return $user; })->middleware(['auth:sanctum']); Route::post('/refresh', function (Request $request) { $user = $request->user(); $user->tokens()->delete(); $token = $user->createToken('test-token', ['uploader', 'tester'])->plainTextToken; $response = [ 'user' => $user, 'token' => $token, ]; return response($response, 201); })->middleware(['auth:sanctum']); /* Template API */ Route::post('/index', [TemplateController::class, 'index']); Route::middleware('auth:sanctum')->group(function () { Route::post('/activity/list', [ActivityController::class, 'index']); Route::post('/activity/store', [ActivityController::class, 'store']); Route::post('/activity/sql', [ActivityController::class, 'sql']); Route::post('/activity/claim', [ActivityController::class, 'claim']); Route::post('/activity/isClaimed', [ActivityController::class, 'isClaimed']); Route::post('/activity/uploadFile', [ActivityController::class, 'uploadFile']); }); Route::middleware(['auth:sanctum', 'abilities:Admin'])->group(function () { });