Files
mtdb_movie/app/Http/Controllers/UserWatchlistController.php
maher 703f50a09d
Some checks failed
Build / run (push) Has been cancelled
first commit
2025-10-29 11:42:25 +01:00

48 lines
1.1 KiB
PHP
Executable File

<?php
namespace App\Http\Controllers;
use Common\Core\BaseController;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
class UserWatchlistController extends BaseController
{
public function __construct()
{
$this->middleware('auth');
}
public function __invoke()
{
$list = Auth::user()
->watchlist()
->firstOrFail();
$items = DB::table('channelables')
->where('channel_id', $list->id)
->pluck('channelable_type', 'channelable_id')
->map(
fn($modelType, $itemId) => [
'id' => $itemId,
'type' => $modelType,
],
)
->groupBy('type')
->map(
fn($group) => $group->mapWithKeys(
fn($item) => [
$item['id'] => true,
],
),
);
return $this->success([
'watchlist' => [
'id' => $list->id,
'items' => $items,
],
]);
}
}