Add speaker invitations with portal page and programme host picker.
Deploy Ladill Events / deploy (push) Successful in 47s
Deploy Ladill Events / deploy (push) Successful in 47s
Speakers require email, get a personal holding page with programme and stage links, auto-invites when programme hosts are saved, and manual send for events without a schedule; also fix wallet copy on event create and anchor attendee comms. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -67,4 +67,25 @@ class ServiceMeetController extends Controller
|
||||
|
||||
return response()->json(['registration' => $result]);
|
||||
}
|
||||
|
||||
public function verifySpeaker(Request $request, QrCode $event): JsonResponse
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'owner_ref' => ['required', 'string', 'max:64'],
|
||||
'speaker_token' => ['required', 'string', 'max:128'],
|
||||
]);
|
||||
|
||||
$owner = User::query()->where('public_id', $validated['owner_ref'])->firstOrFail();
|
||||
abort_unless($event->user_id === $owner->id, 403);
|
||||
abort_unless($event->type === QrCode::TYPE_EVENT, 404);
|
||||
|
||||
$result = app(\App\Services\Events\EventSpeakerInviteService::class)
|
||||
->verifyToken($event, $validated['speaker_token']);
|
||||
|
||||
if (! $result) {
|
||||
return response()->json(['message' => 'Speaker invite not found.'], 404);
|
||||
}
|
||||
|
||||
return response()->json(['speaker' => $result]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user