30 lines
636 B
PHP
30 lines
636 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Data\Permissions;
|
|
|
|
use App\Enums\ConnectedAppPermissonEnum;
|
|
use App\Helpers\AppPermission;
|
|
use Spatie\LaravelData\Data;
|
|
use Spatie\Permission\Models\Permission;
|
|
|
|
class PermissionData extends Data
|
|
{
|
|
public function __construct(
|
|
public int $id,
|
|
public string $name,
|
|
public ?ConnectedAppPermissonEnum $type,
|
|
) {}
|
|
|
|
public static function fromModel(Permission $permission): self
|
|
{
|
|
return new self(
|
|
id: $permission->id,
|
|
name: $permission->name,
|
|
type: AppPermission::type($permission->name),
|
|
);
|
|
|
|
}
|
|
}
|