Gate Events-linked joins behind registration and badge check-in.
Deploy Ladill Meet / deploy (push) Successful in 43s

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>
This commit is contained in:
isaacclad
2026-07-03 14:36:40 +00:00
co-authored by Cursor
parent 4fceda8c1f
commit 56d486d15c
9 changed files with 529 additions and 47 deletions
@@ -43,6 +43,31 @@ class EventsClient
return (array) ($response['event'] ?? []);
}
/** @return array<string, mixed>|null */
public function verifyRegistration(int $eventId, string $ownerRef, string $badgeCode): ?array
{
try {
$response = $this->client()->post("events/{$eventId}/verify-registration", [
'owner_ref' => $ownerRef,
'badge_code' => $badgeCode,
]);
} catch (ConnectionException) {
throw new \RuntimeException('Could not reach Ladill Events.');
}
if ($response->status() === 404) {
return null;
}
if ($response->failed()) {
throw new \RuntimeException('Events service error: '.($response->json('message') ?? $response->body()));
}
$registration = $response->json('registration');
return is_array($registration) ? $registration : null;
}
/**
* @return array<string, mixed>
*/