get('/user', function (Request $request) { return $request->user(); }); Route::post('/login', function (Request $request) { $request->validate([ 'email' => 'required|email', 'password' => 'required', ]); $user = User::where('email', $request->email)->first(); if (!$user || !Hash::check($request->password, $user->password)) { throw ValidationException::withMessages([ 'email' => ['The provided credentials are incorrect.'], ]); } return [ 'token' => $user->createToken('login')->plainTextToken, 'userData' => json_encode($user), ]; }); Route::middleware('auth:sanctum')->post('/logout', function (Request $request) { $user = $request->user(); $user->tokens()->delete(); return $user; }); Route::middleware('auth:sanctum')->post('/get_dataset', function (Request $request) { $request->validate([ 'table' => 'required', 'order' => 'required', 'number' => 'required', ]); $dataset = DB::select("SELECT TOP ({$request->number}) * FROM [laravel_kevin].[dbo].[{$request->table}] ORDER BY {$request->order} desc"); return $dataset; }); Route::middleware('auth:sanctum')->post('/get_messages', function (Request $request) { $request->validate([ 'number' => 'required', ]); $dataset = DB::select("SELECT TOP ({$request->number}) title, content, name, messages.updated_at FROM [laravel_kevin].[dbo].[messages] INNER JOIN [dbo].[users] ON [messages].[writer]=[users].[id] ORDER BY updated_at desc"); return $dataset; });