49 lines
1.4 KiB
PHP
49 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Api;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Display;
|
|
use App\Services\DisplayPlaylistConfigBuilder;
|
|
use Illuminate\Http\JsonResponse;
|
|
|
|
class DisplayVersionApiController extends Controller
|
|
{
|
|
public function config(Display $display, DisplayPlaylistConfigBuilder $configBuilder): JsonResponse
|
|
{
|
|
if (! $display->is_active) {
|
|
return response()->json(['error' => 'Display not configured'], 404);
|
|
}
|
|
|
|
$playlist = $display->livePlaylist()
|
|
->with('modules.items')
|
|
->first();
|
|
|
|
if (! $playlist || $playlist->modules->isEmpty()) {
|
|
return response()->json(['error' => 'Display not configured'], 404);
|
|
}
|
|
|
|
return response()->json($configBuilder->fromPlaylist($playlist));
|
|
}
|
|
|
|
public function check(Display $display, DisplayPlaylistConfigBuilder $configBuilder): JsonResponse
|
|
{
|
|
if (! $display->is_active) {
|
|
return response()->json(['error' => 'Display not configured'], 404);
|
|
}
|
|
|
|
$playlist = $display->livePlaylist()
|
|
->with('modules.items')
|
|
->first();
|
|
|
|
if (! $playlist || $playlist->modules->isEmpty()) {
|
|
return response()->json(['error' => 'Display not configured'], 404);
|
|
}
|
|
|
|
$config = $configBuilder->fromPlaylist($playlist);
|
|
|
|
return response()->json([
|
|
'updated_at' => $config['updated_at'],
|
|
]);
|
|
}
|
|
}
|