shouldMakeDefault = (bool) ($data['is_default'] ?? false); return [ 'tenant_id' => $tenant->getKey(), 'provider' => 'microsoft', 'entra_tenant_id' => $data['entra_tenant_id'], 'display_name' => $data['display_name'], 'is_default' => false, ]; } protected function afterCreate(): void { $tenant = Tenant::current(); $record = $this->getRecord(); $user = auth()->user(); $actorId = $user instanceof User ? (int) $user->getKey() : null; $actorEmail = $user instanceof User ? $user->email : null; $actorName = $user instanceof User ? $user->name : null; app(AuditLogger::class)->log( tenant: $tenant, action: 'provider_connection.created', context: [ 'metadata' => [ 'provider' => $record->provider, 'entra_tenant_id' => $record->entra_tenant_id, ], ], actorId: $actorId, actorEmail: $actorEmail, actorName: $actorName, resourceType: 'provider_connection', resourceId: (string) $record->getKey(), status: 'success', ); $hasDefault = $tenant->providerConnections() ->where('provider', $record->provider) ->where('is_default', true) ->exists(); if ($this->shouldMakeDefault || ! $hasDefault) { $record->makeDefault(); } Notification::make() ->title('Provider connection created') ->success() ->send(); } }