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;
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([
'categories' => function ($query) use ($userID) {
$query->where('is_active', true);
@@ -271,6 +271,9 @@ class VideosController extends Controller
}
])->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 */
if (!$video || $video->is_active === false) {
return response()->json([
@@ -308,6 +311,8 @@ class VideosController extends Controller
'watched' => $video->views->isNotEmpty(),
],
'errors' => null,
'nextVideo' => $nextVideo->id ?? null,
'previousVideo' => $previousVideo->id ?? null,
], 200);
} else {
return response()->json([