Files
ladill-meet/app/Support/EventsRegistrationSession.php
T
isaaccladandCursor 56d486d15c
Deploy Ladill Meet / deploy (push) Successful in 43s
Gate Events-linked joins behind registration and badge check-in.
Attendees register or sign in with a badge before the display-name screen; email is no longer collected on the Meet join form.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 14:36:40 +00:00

45 lines
1.2 KiB
PHP

<?php
namespace App\Support;
use App\Models\Room;
use Illuminate\Http\Request;
class EventsRegistrationSession
{
private static function key(Room $room): string
{
return "meet.events.registration.{$room->uuid}";
}
/** @return array{email: ?string, name: ?string, badge_code: ?string}|null */
public static function get(Request $request, Room $room): ?array
{
$data = $request->session()->get(self::key($room));
return is_array($data) ? $data : null;
}
public static function isVerified(Request $request, Room $room): bool
{
$data = self::get($request, $room);
return filled($data['badge_code'] ?? null) && filled($data['email'] ?? null);
}
/** @param array{email?: ?string, name?: ?string, badge_code?: ?string} $data */
public static function store(Request $request, Room $room, array $data): void
{
$request->session()->put(self::key($room), [
'email' => $data['email'] ?? null,
'name' => $data['name'] ?? null,
'badge_code' => $data['badge_code'] ?? null,
]);
}
public static function forget(Request $request, Room $room): void
{
$request->session()->forget(self::key($room));
}
}