<?php
// src/User/Message/CreateUserMessage.php
namespace App\User\Message;
use Assert\Assert;
use Symfony\Component\HttpFoundation\Request;
/**
* Class CreateUserMessage
*
* @package App\User\Message
* @author DEVŌT <devot.team>
*/
class CreateUserMessage
{
/**
* CreateUserMessage constructor
*
* @param int $id
*/
private function __construct(private int $id)
{
}
/**
* @param Request $request
* @return CreateUserMessage
*/
public static function fromRequest(Request $request): self
{
$body = $request->request;
/** @var string $id */
$id = $body->get('id');
$assert = Assert::lazy();
$assert->that($id, self::class)
->notBlank()
->integer();
$assert->verifyNow();
return new self($id);
}
/**
* @return int
*/
public function id(): int
{
return $this->id;
}
}