| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <?php
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Route;
- use Illuminate\Support\Facades\Hash;
- use Illuminate\Validation\ValidationException;
- use Illuminate\Support\Facades\DB;
- use App\Models\User;
- use App\Models\Message;
- /*
- |--------------------------------------------------------------------------
- | API Routes
- |--------------------------------------------------------------------------
- |
- | Here is where you can register API routes for your application. These
- | routes are loaded by the RouteServiceProvider within a group which
- | is assigned the "api" middleware group. Enjoy building your API!
- |
- */
- Route::middleware('auth:sanctum')->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([
- 'sql' => 'required',
- ]);
- $dataset = DB::select($request->sql);
- return $dataset;
- });
|