api.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. use Illuminate\Http\Request;
  3. use Illuminate\Support\Facades\Route;
  4. use Illuminate\Support\Facades\Hash;
  5. use Illuminate\Validation\ValidationException;
  6. use Illuminate\Support\Facades\DB;
  7. use Illuminate\Support\Facades\File;
  8. use Illuminate\Support\Facades\Storage;
  9. use App\Models\User;
  10. use App\Models\Message;
  11. use App\Models\Blog;
  12. use App\Models\Comment;
  13. use App\Models\BlogImage;
  14. use App\Http\Controllers\UserController;
  15. use App\Http\Controllers\BlogController;
  16. use App\Http\Controllers\BlogImageController;
  17. use App\Http\Controllers\BlogBannerController;
  18. use App\Http\Controllers\CommentController;
  19. /*
  20. |--------------------------------------------------------------------------
  21. | API Routes
  22. |--------------------------------------------------------------------------
  23. |
  24. | Here is where you can register API routes for your application. These
  25. | routes are loaded by the RouteServiceProvider within a group which
  26. | is assigned the "api" middleware group. Enjoy building your API!
  27. |
  28. */
  29. Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
  30. return $request->user();
  31. });
  32. Route::post('/login', function (Request $request) {
  33. $request->validate([
  34. 'email' => 'required|email',
  35. 'password' => 'required',
  36. ]);
  37. $user = User::where('email', $request->email)->first();
  38. if (!$user || !Hash::check($request->password, $user->password)) {
  39. throw ValidationException::withMessages([
  40. 'email' => ['The provided credentials are incorrect.'],
  41. ]);
  42. }
  43. return [
  44. 'token' => $user->createToken('login')->plainTextToken,
  45. 'userData' => json_encode($user),
  46. ];
  47. });
  48. Route::middleware('auth:sanctum')->post('/logout', function (Request $request) {
  49. $user = $request->user();
  50. $user->tokens()->delete();
  51. return $user;
  52. });
  53. Route::middleware('auth:sanctum')->group(function () {
  54. //users controller
  55. Route::post('/user/index', [UserController::class, 'index']);
  56. Route::post('/user/show', [UserController::class, 'show']);
  57. Route::post('/user/destroy', [UserController::class, 'destroy']);
  58. //blogs controller
  59. Route::post('/blog/index', [BlogController::class, 'index']);
  60. Route::post('/blog/index-page', [BlogController::class, 'index_page']);
  61. Route::post('/blog/sidebar', [BlogController::class, 'sidebar']);
  62. Route::post('/blog/total-count', [BlogController::class, 'total_count']);
  63. Route::post('/blog/show', [BlogController::class, 'show']);
  64. Route::post('/blog/store', [BlogController::class, 'store']);
  65. Route::post('/blog/edit', [BlogController::class, 'edit']);
  66. Route::post('/blog/destroy', [BlogController::class, 'destroy']);
  67. //blogs image controller
  68. Route::post('/blog-image/index', [BlogImageController::class, 'index']);
  69. Route::post('/blog-image/show', [BlogImageController::class, 'show']);
  70. Route::post('/blog-image/store', [BlogImageController::class, 'store']);
  71. Route::post('/blog-banner/index', [BlogBannerController::class, 'index']);
  72. Route::post('/blog-banner/store', [BlogBannerController::class, 'store']);
  73. //comments controller
  74. Route::post('/comment/index-by-blog', [CommentController::class, 'index_by_blog']);
  75. Route::post('/comment/index-count', [CommentController::class, 'index_count']);
  76. Route::post('/comment/show', [CommentController::class, 'show']);
  77. Route::post('/comment/store', [CommentController::class, 'store']);
  78. Route::post('/comment/destroy', [CommentController::class, 'destroy']);
  79. });
  80. Route::post('/blog-image/fake', function (Request $request) {
  81. $request->validate([
  82. 'blogId' => 'required',
  83. ]);
  84. for ( $i=$request->blogId ; $i<11 ; $i++ ) {
  85. BlogImage::insert([
  86. 'blogId' => $i,
  87. 'saveName' => 'banner-'.$i.'.jpg',
  88. 'fileName' => 'banner-'.$i.'.jpg',
  89. 'created_at' => now(),
  90. 'updated_at' => now(),
  91. ]);
  92. }
  93. return 'success';
  94. });