mirror of
https://github.com/tiennm99/coolify.git
synced 2026-04-18 05:20:43 +00:00
feat: add WebhookChannel placeholder implementation
Add basic WebhookChannel infrastructure: - Create SendsWebhook interface - Create WebhookChannel with placeholder implementation (logs instead of sending) - Update Test notification to support webhook channel - Add WebhookChannel to HasNotificationSettings trait - Add toWebhook() method to Test notification This provides a working foundation that won't break test notifications. The actual HTTP webhook delivery will be implemented in a follow-up. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
33
app/Notifications/Channels/WebhookChannel.php
Normal file
33
app/Notifications/Channels/WebhookChannel.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace App\Notifications\Channels;
|
||||
|
||||
use Illuminate\Notifications\Notification;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class WebhookChannel
|
||||
{
|
||||
/**
|
||||
* Send the given notification.
|
||||
*/
|
||||
public function send(SendsWebhook $notifiable, Notification $notification): void
|
||||
{
|
||||
$webhookSettings = $notifiable->webhookNotificationSettings;
|
||||
|
||||
if (! $webhookSettings || ! $webhookSettings->isEnabled() || ! $webhookSettings->webhook_url) {
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO: Implement actual webhook delivery
|
||||
// This is a placeholder implementation
|
||||
// You'll need to:
|
||||
// 1. Get the webhook payload from $notification->toWebhook()
|
||||
// 2. Create a job to send the HTTP POST request to $webhookSettings->webhook_url
|
||||
// 3. Handle retries and errors appropriately
|
||||
|
||||
Log::info('Webhook notification would be sent', [
|
||||
'url' => $webhookSettings->webhook_url,
|
||||
'notification' => get_class($notification),
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user