dpl/app/Http/Controllers/V1/Guest/ResendController.php

27 lines
972 B
PHP

<?php
namespace App\Http\Controllers\V1\Guest;
use App\Http\Controllers\Controller;
use App\Services\MailFlow\DeliveryEvents;
use App\Services\MailFlow\Settings;
use App\Services\MailFlow\WebhookSignature;
use Illuminate\Http\Request;
class ResendController extends Controller
{
public function webhook(Request $request, WebhookSignature $signature, DeliveryEvents $events)
{
abort_unless(Settings::get('enabled'), 404);
$body = $request->getContent();
abort_if(strlen($body) > 262144, 413);
$id = (string) $request->header('svix-id');
abort_unless($signature->valid($body, $id, (string) $request->header('svix-timestamp'),
(string) $request->header('svix-signature'), (string) Settings::get('resend_webhook_secret')), 401);
$event = json_decode($body, true);
abort_unless(is_array($event), 400);
$events->receive($id, $event);
return response()->json(['ok' => true]);
}
}