PIMS/app/Modules/Movies/Http/Controllers/Browse/Entities/GenreShowController.php

27 lines
837 B
PHP
Raw Normal View History

2025-12-07 03:49:26 +00:00
<?php
namespace App\Modules\Movies\Http\Controllers\Browse\Entities;
use App\Http\Controllers\Controller;
use App\Modules\Movies\Services\Contracts\GetGenreWithMoviesServiceInterface;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class GenreShowController extends Controller
{
public function __invoke(string $genre, Request $request, GetGenreWithMoviesServiceInterface $service): JsonResponse
{
$id = (int) $genre;
$result = $service->handle($id, [
'q' => $request->string('q')->toString(),
'per_page' => $request->integer('per_page', 20),
'sort' => $request->string('sort')->toString() ?: 'title_asc',
]);
return response()->json([
'entity' => $result['entity'],
'movies' => $result['movies'],
]);
}
}