26 lines
685 B
PHP
26 lines
685 B
PHP
<?php
|
|
|
|
namespace App\Actions;
|
|
|
|
use App\Models\User;
|
|
use App\Models\WebhookEndpoint;
|
|
|
|
class CreatePrivateEndpointAction
|
|
{
|
|
public function handle(User $user, ?string $name = null): WebhookEndpoint
|
|
{
|
|
$token = WebhookEndpoint::generateToken();
|
|
|
|
return WebhookEndpoint::create([
|
|
'user_id' => $user->getKey(),
|
|
'name' => $name ?: 'Private endpoint',
|
|
'token' => $token,
|
|
'token_hash' => WebhookEndpoint::tokenHash($token),
|
|
'is_public' => false,
|
|
'expires_at' => null,
|
|
'response_headers' => ['Content-Type' => 'application/json'],
|
|
'response_body' => '{}',
|
|
]);
|
|
}
|
|
}
|