js-manager-new/src/app/Domain/Role/Data/ShowResponseData.php
2026-06-09 14:51:59 +03:00

35 lines
930 B
PHP

<?php
declare(strict_types=1);
namespace App\Domain\Role\Data;
use App\Models\Role;
use Spatie\LaravelData\Data;
class ShowResponseData extends Data
{
public function __construct(
public readonly string $uuid,
public readonly string $name,
public readonly string $code,
public readonly string $description,
public readonly int $users_count,
public readonly string $created_at,
public readonly string $updated_at,
) {
}
public static function fromModel(Role $model): self
{
return new self(
uuid: $model->uuid->toString(),
name: $model->name,
code: $model->code,
description: $model->description,
users_count: $model->users()->count(),
created_at: $model->created_at->toDateTimeString(),
updated_at: $model->updated_at->toDateTimeString(),
);
}
}