35 lines
930 B
PHP
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(),
|
|
);
|
|
}
|
|
} |