nimuli/app/Domains/QrCode/Actions/GenerateQrCode.php

35 lines
819 B
PHP

<?php
namespace App\Domains\QrCode\Actions;
use App\Domains\QrCode\Models\QrCode;
use App\Domains\QrCode\Services\QrRenderer;
use App\Models\User;
class GenerateQrCode
{
public function __construct(private readonly QrRenderer $renderer) {}
/**
* @param array<string, mixed> $payload
* @param array<string, mixed> $style
*/
public function handle(
int $workspaceId,
string $type,
array $payload,
array $style,
User $creator,
?int $linkId = null,
): QrCode {
return QrCode::create([
'workspace_id' => $workspaceId,
'link_id' => $linkId,
'type' => $type,
'payload' => $payload,
'style' => $style ?: null,
'created_by' => $creator->id,
]);
}
}