diff --git a/app/Http/Controllers/Api/HentaiApiController.php b/app/Http/Controllers/Api/HentaiApiController.php new file mode 100644 index 0000000..d8cc228 --- /dev/null +++ b/app/Http/Controllers/Api/HentaiApiController.php @@ -0,0 +1,38 @@ +addMinutes(10), function () { + return Hentai::with('episodes') + ->orderBy('created_at', 'desc') + ->get() + ->map(function ($hentai) { + return [ + 'title' => $hentai->episodes[0]->title, + 'title_jpn' => $hentai->episodes[0]->title_jpn, + 'slug' => $hentai->slug, + 'episodes' => $hentai->episodes->map(function ($ep) { + return [ + 'episode' => $ep->episode, + 'slug' => $ep->slug, + ]; + }), + ]; + }); + }); + + return response()->json($data); + } +} diff --git a/routes/web.php b/routes/web.php index 52c768c..9633879 100644 --- a/routes/web.php +++ b/routes/web.php @@ -9,6 +9,7 @@ use App\Http\Controllers\StreamController; use App\Http\Controllers\UserController; use App\Http\Controllers\Api\AdminApiController; use App\Http\Controllers\Api\DownloadApiController; +use App\Http\Controllers\Api\HentaiApiController; use App\Http\Controllers\Api\StreamApiController; use App\Http\Controllers\Api\UserApiController; use Illuminate\Support\Facades\Route; @@ -23,6 +24,9 @@ Route::get('/', [HomeController::class, 'index'])->name('home.index'); Route::get('/stats', [HomeController::class, 'stats'])->name('home.stats'); Route::get('/banned', [HomeController::class, 'banned'])->name('home.banned'); +// API Endpoint +Route::get('/v1/hentai-list', [HentaiApiController::class, 'index'])->name('api.hentai.index'); + // Stream Page Route::get('/hentai/{title}', [StreamController::class, 'index'])->name('hentai.index'); Route::post('/player/api', [StreamApiController::class, 'getStream'])->name('hentai.player');