Wires PostController (recent, show, create, delete, listByUser) and CommentController (listForPost, create, delete) to the existing use cases. Posts and comments expose author display names alongside user IDs. CommentRepository binding added to RepositoryServiceProvider.
48 lines
1.5 KiB
PHP
48 lines
1.5 KiB
PHP
<?php
|
|
|
|
use App\Controllers\AuthController;
|
|
use App\Controllers\CommentController;
|
|
use App\Controllers\PostController;
|
|
use App\Http\Middleware\AuthMiddleware;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::get('/', function () {
|
|
return '';
|
|
});
|
|
|
|
Route::post('/signup', [AuthController::class, 'signup']);
|
|
Route::post('/confirm-email', [AuthController::class, 'confirmEmail']);
|
|
Route::post('/login', [AuthController::class, 'login']);
|
|
Route::post('/logout', [AuthController::class, 'logout'])
|
|
->middleware(AuthMiddleware::class);
|
|
Route::get('/me', [AuthController::class, 'me'])
|
|
->middleware(AuthMiddleware::class);
|
|
|
|
Route::get('/posts', [PostController::class, 'recent']);
|
|
Route::get('/posts/{id}', [PostController::class, 'show'])
|
|
->whereNumber('id');
|
|
Route::post('/posts', [PostController::class, 'create'])
|
|
->middleware(AuthMiddleware::class);
|
|
Route::delete('/posts/{id}', [PostController::class, 'delete'])
|
|
->whereNumber('id')
|
|
->middleware(AuthMiddleware::class);
|
|
|
|
Route::get(
|
|
'/users/{displayName}/posts',
|
|
[PostController::class, 'listByUser'],
|
|
);
|
|
|
|
Route::get(
|
|
'/posts/{postId}/comments',
|
|
[CommentController::class, 'listForPost'],
|
|
)->whereNumber('postId');
|
|
Route::post(
|
|
'/posts/{postId}/comments',
|
|
[CommentController::class, 'create'],
|
|
)->whereNumber('postId')
|
|
->middleware(AuthMiddleware::class);
|
|
Route::delete(
|
|
'/comments/{id}',
|
|
[CommentController::class, 'delete'],
|
|
)->whereNumber('id')
|
|
->middleware(AuthMiddleware::class);
|