24 lines
587 B
PHP
24 lines
587 B
PHP
<?php
|
|
|
|
namespace Taxus;
|
|
|
|
trait UserEntityTrait
|
|
{
|
|
public ? Taxus $taxus;
|
|
|
|
public function can(string $privilegeName, ...$arguments) : bool
|
|
{
|
|
if (! $this->taxus) {
|
|
throw new \Exception("An instance of Taxus must be linked to this object.");
|
|
}
|
|
|
|
$grant = $this->taxus->granted($privilegeName, ...$arguments);
|
|
|
|
return is_bool($grant) ? $grant : $grant === TaxusGrantEnum::Authorized;
|
|
}
|
|
|
|
public function cannot(string $privilegeName, ...$arguments) : bool
|
|
{
|
|
return ! $this->can($privilegeName, ...$arguments);
|
|
}
|
|
} |