feat: videos navigation by order

This commit is contained in:
Xavier Oliveira
2026-05-29 17:58:03 +01:00
parent 07718bbe94
commit 0ec00467b3

View File

@@ -261,7 +261,7 @@ class VideosController extends Controller
$userID = $user->id; $userID = $user->id;
if ($user->role_id !== 1) { if ($user->role_id !== 1) {
/* $video = Video::with('categories')->where('is_active', true)->find($id); */ /* $video = Video::with('categories')->where('is_active', true)->find($id); */
$video = Video::with([ $video = Video::with([
'categories' => function ($query) use ($userID) { 'categories' => function ($query) use ($userID) {
$query->where('is_active', true); $query->where('is_active', true);
@@ -271,6 +271,9 @@ class VideosController extends Controller
} }
])->find($id); ])->find($id);
$nextVideo = Video::select('id')->where('order', '>', $video->order)->where('is_active', true)->orderBy('order', 'asc')->first();
$previousVideo = Video::select('id')->where('order', '<', $video->order)->where('is_active', true)->orderBy('order', 'desc')->first();
/* Para não mostrar vídeos inactivos para utilizadores não administradores */ /* Para não mostrar vídeos inactivos para utilizadores não administradores */
if (!$video || $video->is_active === false) { if (!$video || $video->is_active === false) {
return response()->json([ return response()->json([
@@ -308,6 +311,8 @@ class VideosController extends Controller
'watched' => $video->views->isNotEmpty(), 'watched' => $video->views->isNotEmpty(),
], ],
'errors' => null, 'errors' => null,
'nextVideo' => $nextVideo->id ?? null,
'previousVideo' => $previousVideo->id ?? null,
], 200); ], 200);
} else { } else {
return response()->json([ return response()->json([