feat: videos navigation by order
This commit is contained in:
@@ -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([
|
||||||
|
|||||||
Reference in New Issue
Block a user