Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BCrwHHnGCB5XH968Nxokqw
24 lines
544 B
PHP
24 lines
544 B
PHP
<?php
|
|
|
|
namespace App\Channels;
|
|
|
|
final class DeliveryOutcome
|
|
{
|
|
private function __construct(
|
|
public readonly bool $ok,
|
|
public readonly ?string $error,
|
|
/** @var array<string,mixed> служебное канала, ляжет в deliveries.meta */
|
|
public readonly array $meta,
|
|
) {}
|
|
|
|
public static function ok(array $meta = []): self
|
|
{
|
|
return new self(true, null, $meta);
|
|
}
|
|
|
|
public static function failed(string $error): self
|
|
{
|
|
return new self(false, $error, []);
|
|
}
|
|
}
|