Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

141 changes: 90 additions & 51 deletions routes/web.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,46 @@
use App\Http\Controllers\ContactsController;
use App\Http\Controllers\PlaceholderController;
use App\Http\Controllers\PostController;
use App\Http\Controllers\Category\IndexController as CategoryIndexController;
use App\Http\Controllers\Category\Post\IndexController as CategoryPostIndexController;
use App\Http\Controllers\Post\Comment\StoreController as PostCommentStoreController;
use App\Http\Controllers\Post\Like\StoreController as PostLikeStoreController;
use App\Http\Controllers\Personal\Main\IndexController as PersonalMainIndexController;
use App\Http\Controllers\Personal\Liked\IndexController as PersonalLikedIndexController;
use App\Http\Controllers\Personal\Liked\DeleteController as PersonalLikedDeleteController;
use App\Http\Controllers\Personal\Comment\IndexController as PersonalCommentIndexController;
use App\Http\Controllers\Personal\Comment\DeleteController as PersonalCommentDeleteController;
use App\Http\Controllers\Personal\Comment\UpdateController as PersonalCommentUpdateController;
use App\Http\Controllers\Personal\Comment\EditController as PersonalCommentEditController;
use App\Http\Controllers\Admin\Main\IndexController as AdminMainIndexController;
use App\Http\Controllers\Admin\Category\IndexController as AdminCategoryIndexController;
use App\Http\Controllers\Admin\Category\EditController as AdminCategoryEditController;
use App\Http\Controllers\Admin\Category\CreateController as AdminCategoryCreateController;
use App\Http\Controllers\Admin\Category\ShowController as AdminCategoryShowController;
use App\Http\Controllers\Admin\Category\StoreController as AdminCategoryStoreController;
use App\Http\Controllers\Admin\Category\UpdateController as AdminCategoryUpdateController;
use App\Http\Controllers\Admin\Category\DeleteController as AdminCategoryDeleteController;
use App\Http\Controllers\Admin\Tag\IndexController as AdminTagIndexController;
use App\Http\Controllers\Admin\Tag\EditController as AdminTagEditController;
use App\Http\Controllers\Admin\Tag\CreateController as AdminTagCreateController;
use App\Http\Controllers\Admin\Tag\ShowController as AdminTagShowController;
use App\Http\Controllers\Admin\Tag\StoreController as AdminTagStoreController;
use App\Http\Controllers\Admin\Tag\UpdateController as AdminTagUpdateController;
use App\Http\Controllers\Admin\Tag\DeleteController as AdminTagDeleteController;
use App\Http\Controllers\Admin\Post\IndexController as AdminPostIndexController;
use App\Http\Controllers\Admin\Post\EditController as AdminPostEditController;
use App\Http\Controllers\Admin\Post\CreateController as AdminPostCreateController;
use App\Http\Controllers\Admin\Post\ShowController as AdminPostShowController;
use App\Http\Controllers\Admin\Post\StoreController as AdminPostStoreController;
use App\Http\Controllers\Admin\Post\UpdateController as AdminPostUpdateController;
use App\Http\Controllers\Admin\Post\DeleteController as AdminPostDeleteController;
use App\Http\Controllers\Admin\User\IndexController as AdminUserIndexController;
use App\Http\Controllers\Admin\User\EditController as AdminUserEditController;
use App\Http\Controllers\Admin\User\CreateController as AdminUserCreateController;
use App\Http\Controllers\Admin\User\ShowController as AdminUserShowController;
use App\Http\Controllers\Admin\User\StoreController as AdminUserStoreController;
use App\Http\Controllers\Admin\User\UpdateController as AdminUserUpdateController;
use App\Http\Controllers\Admin\User\DeleteController as AdminUserDeleteController;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;

Expand Down Expand Up @@ -37,79 +77,78 @@
->name('about.index');
});

// TODO Use `use` instead of `namespace`
Route::prefix('category')->namespace('App\Http\Controllers\Category')->group(function () {
Route::get('/', 'IndexController')->name('category.index');
Route::prefix('{category}/posts')->namespace('Post')->group(function () {
Route::get('/', 'IndexController')->name('category.post.index');
Route::prefix('category')->group(function () {
Route::get('/', CategoryIndexController::class)->name('category.index');
Route::prefix('{category}/posts')->group(function () {
Route::get('/', CategoryPostIndexController::class)->name('category.post.index');
});
});

Route::prefix('post')->namespace('')->group(function () {
Route::prefix('post')->group(function () {
Route::get('/{post}', [PostController::class, 'show'])->name('post.show');

Route::prefix('{post}/comments')->group(function () {
Route::post('/', 'App\Http\Controllers\Post\Comment\StoreController')->name('post.comments.store');
Route::post('/', PostCommentStoreController::class)->name('post.comments.store');
});
Route::prefix('{post}/likes')->group(function () {
Route::post('/', 'App\Http\Controllers\Post\Like\StoreController')->name('post.likes.store');
Route::post('/', PostLikeStoreController::class)->name('post.likes.store');
});
});

Route::prefix('personal')->namespace('')->middleware(['auth'])->group(function () {
Route::get('/', 'App\Http\Controllers\Personal\Main\IndexController')->name('personal.main.index');
Route::prefix('personal')->middleware(['auth'])->group(function () {
Route::get('/', PersonalMainIndexController::class)->name('personal.main.index');


Route::prefix('liked')->group(function () {
Route::get('/', 'App\Http\Controllers\Personal\Liked\IndexController')->name('personal.liked.index');
Route::delete('/{post}', 'App\Http\Controllers\Personal\Liked\DeleteController')->name('personal.liked.delete');
Route::get('/', PersonalLikedIndexController::class)->name('personal.liked.index');
Route::delete('/{post}', PersonalLikedDeleteController::class)->name('personal.liked.delete');
});
Route::prefix('comment')->group(function () {
Route::get('/', 'App\Http\Controllers\Personal\Comment\IndexController')->name('personal.comment.index');
Route::delete('/{comment}', 'App\Http\Controllers\Personal\Comment\DeleteController')->name('personal.comment.delete');
Route::patch('/{comment}', 'App\Http\Controllers\Personal\Comment\UpdateController')->name('personal.comment.update');
Route::get('/{comment}', 'App\Http\Controllers\Personal\Comment\EditController')->name('personal.comment.edit');
Route::get('/', PersonalCommentIndexController::class)->name('personal.comment.index');
Route::delete('/{comment}', PersonalCommentDeleteController::class)->name('personal.comment.delete');
Route::patch('/{comment}', PersonalCommentUpdateController::class)->name('personal.comment.update');
Route::get('/{comment}', PersonalCommentEditController::class)->name('personal.comment.edit');
});
});

Route::prefix('admin')->namespace('App\Http\Controllers\Admin')->middleware(['auth', 'admin'])->group(function () {
Route::prefix('main')->namespace('Main')->group(function () {
Route::get('/', 'IndexController')->name('admin.main.index');
Route::prefix('admin')->middleware(['auth', 'admin'])->group(function () {
Route::prefix('main')->group(function () {
Route::get('/', AdminMainIndexController::class)->name('admin.main.index');
});
Route::prefix('category')->namespace('Category')->group(function () {
Route::get('/', 'IndexController')->name('admin.category.index');
Route::get('/create', 'CreateController')->name('admin.category.create');
Route::post('/', 'StoreController')->name('admin.category.store');
Route::get('/{category}', 'ShowController')->name('admin.category.show');
Route::get('/{category}/edit', 'EditController')->name('admin.category.edit');
Route::patch('/{category}', 'UpdateController')->name('admin.category.update');
Route::delete('/{category}', 'DeleteController')->name('admin.category.delete');
Route::prefix('category')->group(function () {
Route::get('/', AdminCategoryIndexController::class)->name('admin.category.index');
Route::get('/create', AdminCategoryCreateController::class)->name('admin.category.create');
Route::post('/', AdminCategoryStoreController::class)->name('admin.category.store');
Route::get('/{category}', AdminCategoryShowController::class)->name('admin.category.show');
Route::get('/{category}/edit', AdminCategoryEditController::class)->name('admin.category.edit');
Route::patch('/{category}', AdminCategoryUpdateController::class)->name('admin.category.update');
Route::delete('/{category}', AdminCategoryDeleteController::class)->name('admin.category.delete');
});
Route::prefix('tag')->namespace('Tag')->group(function () {
Route::get('/', 'IndexController')->name('admin.tag.index');
Route::get('/create', 'CreateController')->name('admin.tag.create');
Route::post('/', 'StoreController')->name('admin.tag.store');
Route::get('/{tag}', 'ShowController')->name('admin.tag.show');
Route::get('/{tag}/edit', 'EditController')->name('admin.tag.edit');
Route::patch('/{tag}', 'UpdateController')->name('admin.tag.update');
Route::delete('/{tag}', 'DeleteController')->name('admin.tag.delete');
Route::prefix('tag')->group(function () {
Route::get('/', AdminTagIndexController::class)->name('admin.tag.index');
Route::get('/create', AdminTagCreateController::class)->name('admin.tag.create');
Route::post('/', AdminTagStoreController::class)->name('admin.tag.store');
Route::get('/{tag}', AdminTagShowController::class)->name('admin.tag.show');
Route::get('/{tag}/edit', AdminTagEditController::class)->name('admin.tag.edit');
Route::patch('/{tag}', AdminTagUpdateController::class)->name('admin.tag.update');
Route::delete('/{tag}', AdminTagDeleteController::class)->name('admin.tag.delete');
});
Route::prefix('post')->namespace('Post')->group(function () {
Route::get('/', 'IndexController')->name('admin.post.index');
Route::get('/create', 'CreateController')->name('admin.post.create');
Route::post('/', 'StoreController')->name('admin.post.store');
Route::get('/{post}', 'ShowController')->name('admin.post.show');
Route::get('/{post}/edit', 'EditController')->name('admin.post.edit');
Route::patch('/{post}', 'UpdateController')->name('admin.post.update');
Route::delete('/{post}', 'DeleteController')->name('admin.post.delete');
Route::prefix('post')->group(function () {
Route::get('/', AdminPostIndexController::class)->name('admin.post.index');
Route::get('/create', AdminPostCreateController::class)->name('admin.post.create');
Route::post('/', AdminPostStoreController::class)->name('admin.post.store');
Route::get('/{post}', AdminPostShowController::class)->name('admin.post.show');
Route::get('/{post}/edit', AdminPostEditController::class)->name('admin.post.edit');
Route::patch('/{post}', AdminPostUpdateController::class)->name('admin.post.update');
Route::delete('/{post}', AdminPostDeleteController::class)->name('admin.post.delete');
});
Route::prefix('user')->namespace('User')->group(function () {
Route::get('/', 'IndexController')->name('admin.user.index');
Route::get('/create', 'CreateController')->name('admin.user.create');
Route::post('/', 'StoreController')->name('admin.user.store');
Route::get('/{user}', 'ShowController')->name('admin.user.show');
Route::get('/{user}/edit', 'EditController')->name('admin.user.edit');
Route::patch('/{user}', 'UpdateController')->name('admin.user.update');
Route::delete('/{user}', 'DeleteController')->name('admin.user.delete');
Route::prefix('user')->group(function () {
Route::get('/', AdminUserIndexController::class)->name('admin.user.index');
Route::get('/create', AdminUserCreateController::class)->name('admin.user.create');
Route::post('/', AdminUserStoreController::class)->name('admin.user.store');
Route::get('/{user}', AdminUserShowController::class)->name('admin.user.show');
Route::get('/{user}/edit', AdminUserEditController::class)->name('admin.user.edit');
Route::patch('/{user}', AdminUserUpdateController::class)->name('admin.user.update');
Route::delete('/{user}', AdminUserDeleteController::class)->name('admin.user.delete');
});
});