api.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. use Illuminate\Http\Request;
  3. use Illuminate\Support\Facades\Route;
  4. use Illuminate\Support\Facades\DB;
  5. use App\Http\Controllers\ApplicationController;
  6. use App\Http\Controllers\API\UserController;
  7. use App\Http\Controllers\FooController;
  8. use App\Http\Controllers\FkTestController;
  9. use App\Models\User;
  10. use Illuminate\Support\Facades\Hash;
  11. /*
  12. |--------------------------------------------------------------------------
  13. | API Routes
  14. |--------------------------------------------------------------------------
  15. |
  16. | Here is where you can register API routes for your application. These
  17. | routes are loaded by the RouteServiceProvider within a group which
  18. | is assigned the "api" middleware group. Enjoy building your API!
  19. |
  20. */
  21. Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
  22. return $request->user();
  23. });
  24. Route::get('/foo', [FooController::class, 'index']);
  25. Route::get('/foo/create', [FooController::class, 'create']);
  26. Route::post('/foo/store', [FooController::class, 'store']);
  27. Route::post('/foo/update', [FooController::class, 'update']);
  28. Route::get('/foo/show', [FooController::class, 'show']);
  29. Route::post('/fk/store', [FkTestController::class, 'store']);
  30. Route::get('/user/{id}', [UserController::class, 'show']);
  31. Route::post('/login', function (Request $request) {
  32. $data = $request->validate([
  33. 'email' => 'required|email',
  34. 'password' => 'required'
  35. ]);
  36. $user = User::where('email', $request->email)->first();
  37. if (!$user || !Hash::check($request->password, $user->password)) {
  38. return response([
  39. 'message' => ['These credentials do not match our records.']
  40. ], 404);
  41. }
  42. $token = $user->createToken('my-app-token')->plainTextToken;
  43. $response = [
  44. 'user' => $user,
  45. 'token' => $token
  46. ];
  47. foreach ($user->tokens as $token) {
  48. //
  49. }
  50. return response($response, 201);
  51. });
  52. Route::post('/tokens/create', function (Request $request) {
  53. $token = $request->user()->createToken($request->token_name);
  54. return ['token' => $token->plainTextToken];
  55. });