diff --git a/app/Http/Controllers/ApiController.php b/app/Http/Controllers/ApiController.php index 0c69c29..c5ce729 100644 --- a/app/Http/Controllers/ApiController.php +++ b/app/Http/Controllers/ApiController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Meme; +use App\Models\User; use Artesaos\SEOTools\Facades\SEOTools; class ApiController extends Controller @@ -20,7 +21,25 @@ class ApiController extends Controller public function memes() { - $memes = Meme::paginate(100); + $memes = Meme::orderByDesc('created_at')->paginate(100); + return $memes; + } + + public function memeById($id) + { + $meme = Meme::where('id', $id)->firstOrFail(); + return $meme; + } + + public function userById($id) + { + $user = User::where('id', $id)->firstOrFail(); + return $user; + } + + public function userByIdMemes($id) + { + $memes = Meme::where('user_id', $id)->orderByDesc('created_at')->paginate(20); return $memes; } diff --git a/routes/api.php b/routes/api.php index 72b19a6..0d1ef15 100644 --- a/routes/api.php +++ b/routes/api.php @@ -19,3 +19,6 @@ Route::middleware('auth:api')->get('/user', function (Request $request) { }); Route::middleware('api')->get('memes', [App\Http\Controllers\ApiController::class, 'memes']); +Route::middleware('api')->get('memes/{id}', [App\Http\Controllers\ApiController::class, 'memeById']); +Route::middleware('api')->get('users/{id}', [App\Http\Controllers\ApiController::class, 'userById']); +Route::middleware('api')->get('users/{id}/memes', [App\Http\Controllers\ApiController::class, 'userByIdMemes']);