geschenkgutscheine implementiert ("Paket verschenken"). Neuer Upload-Provider: Sparkbooth.

This commit is contained in:
Codex Agent
2025-12-07 16:54:58 +01:00
parent 3f3c0f1d35
commit 046e2fe3ec
50 changed files with 2422 additions and 130 deletions

View File

@@ -26,7 +26,10 @@ class PhotoboothController extends Controller
$this->assertEventBelongsToTenant($request, $event);
$event->loadMissing('tenant');
$updated = $this->provisioner->enable($event);
$mode = $this->resolveMode($request);
$updated = $mode === 'sparkbooth'
? $this->provisioner->enableSparkbooth($event)
: $this->provisioner->enable($event);
return response()->json([
'message' => __('Photobooth-Zugang aktiviert.'),
@@ -39,7 +42,10 @@ class PhotoboothController extends Controller
$this->assertEventBelongsToTenant($request, $event);
$event->loadMissing('tenant');
$updated = $this->provisioner->rotate($event);
$mode = $this->resolveMode($request);
$updated = $mode === 'sparkbooth'
? $this->provisioner->rotateSparkbooth($event)
: $this->provisioner->rotate($event);
return response()->json([
'message' => __('Zugangsdaten neu generiert.'),
@@ -52,7 +58,10 @@ class PhotoboothController extends Controller
$this->assertEventBelongsToTenant($request, $event);
$event->loadMissing('tenant');
$updated = $this->provisioner->disable($event);
$mode = $this->resolveMode($request);
$updated = $mode === 'sparkbooth'
? $this->provisioner->disableSparkbooth($event)
: $this->provisioner->disable($event);
return response()->json([
'message' => __('Photobooth-Zugang deaktiviert.'),
@@ -76,4 +85,11 @@ class PhotoboothController extends Controller
abort(403, 'Event gehört nicht zu diesem Tenant.');
}
}
protected function resolveMode(Request $request): string
{
$mode = strtolower((string) $request->input('mode', $request->input('type', 'ftp')));
return in_array($mode, ['sparkbooth', 'ftp'], true) ? $mode : 'ftp';
}
}