Add per-customer SMS and Bird Integrations for event messaging.
Deploy Ladill Events / deploy (push) Successful in 28s

Attendee and speaker comms use encrypted tenant relay credentials and skip platform-key fallback and Bird wallet double-debit.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-12 17:05:54 +00:00
co-authored by Cursor
parent 13b2bd9702
commit 6e42cd1cb2
21 changed files with 1095 additions and 80 deletions
+7
View File
@@ -11,6 +11,7 @@ use App\Http\Controllers\NotificationController;
use App\Http\Controllers\Public\EventRegistrationController;
use App\Http\Controllers\Public\QrScanController;
use App\Http\Controllers\Qr\AccountController;
use App\Http\Controllers\Qr\IntegrationsController;
use App\Http\Controllers\Qr\AfiaController;
use App\Http\Controllers\Qr\DeveloperController;
use App\Http\Controllers\Events\CustomDomainController;
@@ -107,6 +108,12 @@ Route::middleware(['auth', 'platform.session'])->group(function () {
Route::get('/billing', fn () => redirect()->away(ladill_account_url('/billing')))->name('account.billing');
Route::get('/settings', [AccountController::class, 'settings'])->name('account.settings');
Route::put('/settings', [AccountController::class, 'updateSettings'])->name('account.settings.update');
Route::get('/integrations', [IntegrationsController::class, 'edit'])->name('account.integrations');
Route::post('/integrations/sms', [IntegrationsController::class, 'saveSms'])->name('account.integrations.sms.save');
Route::post('/integrations/sms/disconnect', [IntegrationsController::class, 'disconnectSms'])->name('account.integrations.sms.disconnect');
Route::post('/integrations/bird', [IntegrationsController::class, 'saveBird'])->name('account.integrations.bird.save');
Route::post('/integrations/bird/disconnect', [IntegrationsController::class, 'disconnectBird'])->name('account.integrations.bird.disconnect');
Route::post('/integrations/sms/senders', [IntegrationsController::class, 'previewSenders'])->name('account.integrations.sms.senders');
Route::get('/team', fn () => redirect()->away(ladill_account_url('/account/team')))->name('account.team');
Route::post('/switch-account', [TeamController::class, 'switchAccount'])->name('account.switch');