Add control room automations and uploader overrides
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled

This commit is contained in:
Codex Agent
2026-01-20 15:49:04 +01:00
parent e5e74febbd
commit 5e5b69f655
11 changed files with 738 additions and 33 deletions

View File

@@ -20,6 +20,7 @@ use App\Support\WatermarkConfigResolver;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Storage;
@@ -131,6 +132,11 @@ class PhotoController extends Controller
$photo->status = $validated['visible'] ? 'approved' : 'hidden';
$photo->save();
$autoRemoveLiveOnHide = (bool) Arr::get($event->settings ?? [], 'control_room.auto_remove_live_on_hide', false);
if ($autoRemoveLiveOnHide && ! $validated['visible']) {
$photo->rejectForLiveShow($request->user(), 'hidden');
}
$photo->load('event')->loadCount('likes');
return response()->json([
@@ -531,6 +537,11 @@ class PhotoController extends Controller
$photo->update($validated);
$autoRemoveLiveOnHide = (bool) Arr::get($event->settings ?? [], 'control_room.auto_remove_live_on_hide', false);
if ($autoRemoveLiveOnHide && ($validated['status'] ?? null) === 'rejected') {
$photo->rejectForLiveShow($request->user());
}
if ($validated['status'] ?? null === 'approved') {
$photo->load('event')->loadCount('likes');
// Trigger event for new photo notification