web.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. use Illuminate\Support\Facades\Route;
  3. /*
  4. |--------------------------------------------------------------------------
  5. | Web Routes
  6. |--------------------------------------------------------------------------
  7. |
  8. | Here is where you can register web routes for your application. These
  9. | routes are loaded by the RouteServiceProvider and all of them will
  10. | be assigned to the "web" middleware group. Make something great!
  11. |
  12. */
  13. // Главная страница
  14. Route::view('/', 'index');
  15. use App\Http\Controllers;
  16. use App\Http\Resources;
  17. use App\Models;
  18. // Книги
  19. Route::get('/books', [Controllers\BookController::class, 'index']);
  20. Route::get('/book/add', [Controllers\BookController::class, 'add']);
  21. Route::get('/book/{book}', [Controllers\BookController::class, 'view']);
  22. Route::get('/book/{book}/delete', [Controllers\BookController::class, 'drop']);
  23. Route::get('/book/{book}/edit', [Controllers\BookController::class, 'edit']);
  24. Route::post('/book/{book}/edit', [Controllers\BookController::class, 'store']);
  25. Route::post('/book/{book}/comment', [Controllers\BookController::class, 'comment']);
  26. Route::post('/book/add', [Controllers\BookController::class, 'store']);
  27. // Авторы
  28. Route::get('/authors', [Controllers\AuthorController::class, 'index']);
  29. Route::get('/author/add', [Controllers\AuthorController::class, 'add']);
  30. Route::get('/author/{author}', [Controllers\AuthorController::class, 'view']);
  31. Route::get('/author/{author}/delete', [Controllers\AuthorController::class, 'drop']);
  32. Route::get('/author/{author}/edit', [Controllers\AuthorController::class, 'edit']);
  33. Route::post('/author/{author}/edit', [Controllers\AuthorController::class, 'store']);
  34. Route::post('/author/{author}/comment', [Controllers\AuthorController::class, 'comment']);
  35. Route::post('/author/add', [Controllers\AuthorController::class, 'store']);
  36. // API
  37. Route::get('/api/authors', function() { return Resources\AuthorResource::collection(Models\Author::all()); });
  38. Route::get('/api/books', function() { return Resources\BookResource::collection(Models\Book::all()->load("author")); });
  39. // Публикации
  40. Route::get('/articles', [Controllers\ArticleController::class, 'published']);
  41. Route::get('/articles/edit', [Controllers\ArticleController::class, 'index']);
  42. Route::get('/article/add', [Controllers\ArticleController::class, 'add']);
  43. Route::get('/article/{article}', [Controllers\ArticleController::class, 'view']);
  44. Route::get('/article/{article}/delete', [Controllers\ArticleController::class, 'drop']);
  45. Route::get('/article/{article}/edit', [Controllers\ArticleController::class, 'edit']);
  46. Route::post('/article/{article}/edit', [Controllers\ArticleController::class, 'store']);
  47. Route::post('/article/{article}/comment', [Controllers\ArticleController::class, 'comment']);
  48. Route::post('/article/add', [Controllers\ArticleController::class, 'store']);