feat: update plugin data if stale

This commit is contained in:
Benjamin Nussbaum 2025-03-14 23:28:26 +01:00
parent cda1223103
commit 64eb1bc047
3 changed files with 56 additions and 4 deletions

View file

@ -46,11 +46,18 @@ Route::get('/display', function (Request $request) {
$playlistItem = $device->getNextPlaylistItem();
if ($playlistItem) {
$plugin = $playlistItem->plugin;
// Check and update stale data if needed
if ($plugin->isDataStale()) {
$plugin->updateDataPayload();
}
$playlistItem->update(['last_displayed_at' => now()]);
if ($playlistItem->plugin->render_markup) {
$markup = Blade::render($playlistItem->plugin->render_markup, ['data' => $playlistItem->plugin->data_payload]);
} elseif ($playlistItem->plugin->render_markup_view) {
$markup = view($playlistItem->plugin->render_markup_view, ['data' => $playlistItem->plugin->data_payload])->render();
if ($plugin->render_markup) {
$markup = Blade::render($plugin->render_markup, ['data' => $plugin->data_payload]);
} elseif ($plugin->render_markup_view) {
$markup = view($plugin->render_markup_view, ['data' => $plugin->data_payload])->render();
}
GenerateScreenJob::dispatchSync($device->id, $markup);