api.php 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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\MessageController;
  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. $user = $request->user();
  23. $islogin = $user->tokenCan('update');
  24. $test = $islogin ? 'true' : 'false';
  25. return $user;
  26. });
  27. Route::post('/login', function (Request $request) {
  28. $data = $request->validate([
  29. 'email' => 'required|email',
  30. 'password' => 'required'
  31. ]);
  32. $user = User::where('email', $request->email)->first();
  33. if (!$user || !Hash::check($request->password, $user->password)) {
  34. return response([
  35. 'message' => ['These credentials do not match our records.']
  36. ], 404);
  37. }
  38. $token = $user->createToken('test-token', [$user->role])->plainTextToken;
  39. $response = [
  40. 'user' => JSON_ENCODE($user, JSON_UNESCAPED_UNICODE),
  41. 'token' => $token,
  42. ];
  43. return response($response, 201);
  44. });
  45. Route::post('/logout', function (Request $request) {
  46. $user = $request->user();
  47. $user->tokens()->delete();
  48. return $user;
  49. })->middleware(['auth:sanctum']);
  50. Route::post('/refresh', function (Request $request) {
  51. $user = $request->user();
  52. $user->tokens()->delete();
  53. $token = $user->createToken('test-token', ['uploader', 'tester'])->plainTextToken;
  54. $response = [
  55. 'user' => $user,
  56. 'token' => $token,
  57. ];
  58. return response($response, 201);
  59. })->middleware(['auth:sanctum']);
  60. Route::middleware('auth:sanctum')->group(function () {
  61. //
  62. Route::post('/foo/create', [FooController::class, 'create']);
  63. Route::post('/foo/store', [FooController::class, 'store']);
  64. Route::post('/foo/update', [FooController::class, 'update']);
  65. });
  66. Route::post('/foo', [FooController::class, 'index'])->middleware(['auth:sanctum']);
  67. Route::get('/foo/show', [FooController::class, 'show'])->middleware(['auth:sanctum', 'abilities:User']);
  68. /*Message Borad */
  69. Route::post('/message/index', [MessageController::class, 'index']);
  70. Route::post('/message/recent', [MessageController::class, 'recent']);
  71. Route::post('/message/detail', [MessageController::class, 'show']);
  72. Route::post('/message/count', [MessageController::class, 'count']);
  73. Route::post('/message/user', [UserController::class, 'index']);
  74. Route::middleware('auth:sanctum')->group(function () {
  75. //
  76. Route::post('/message/storeComment', [MessageController::class, 'storeComment']);
  77. Route::post('/message/storeMessage', [MessageController::class, 'store']);
  78. });