Sync Ladill Events to the Mail utility calendar.

Events upsert calendar entries by stable external_ref keys, prefer the
owner's linked mailbox, and Meet skips mail sync for events-sourced rooms
so linked virtual sessions appear only once on the calendar.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-04 11:48:37 +00:00
co-authored by Cursor
parent c875a64fe4
commit 9cdfc331b0
10 changed files with 475 additions and 0 deletions
+3
View File
@@ -20,6 +20,7 @@ class QrCodeManagerService
private QrImageGeneratorService $imageGenerator,
private QrPayloadValidator $payloadValidator,
private \App\Services\Meet\EventMeetSyncService $meetSync,
private \App\Services\Events\EventMailCalendarSyncService $mailCalendar,
) {}
public function walletFor(User $user): QrWallet
@@ -165,6 +166,7 @@ class QrCodeManagerService
if ($type === QrCode::TYPE_EVENT) {
$qrCode = $this->meetSync->sync($qrCode->fresh(), $user);
$qrCode = $this->mailCalendar->sync($qrCode->fresh(), $user);
}
return $qrCode->fresh(['document']);
@@ -305,6 +307,7 @@ class QrCodeManagerService
if ($qrCode->type === QrCode::TYPE_EVENT) {
$qrCode = $this->meetSync->sync($qrCode->fresh(), $qrCode->user);
$qrCode = $this->mailCalendar->sync($qrCode->fresh(), $qrCode->user);
}
if ($qrCode->type === QrCode::TYPE_ITINERARY) {