Criando Permissões
A permissão concede uma capacidade especial à função à qual está associada. A permissão pode então ser associada a muitas funções ao mesmo tempo. De forma concreta, a permissão deve ser usada para permitir ou negar o acesso a um recurso. Ela pode ser usada para restringir os usuários de excluir um pedido ou acessar informações sensíveis. Ao contrário das Funções, as Permissões não são criadas a partir do painel do NexoPOS; em vez disso, são criadas de forma programática.
<?php
use App\Models\Permission;
$permission = new Permission;
$permission->name = __( 'Walk on Walls' );
$permission->namespace = 'walks-on-walls';
$permission->description = __( 'Allow a user to walk on walls.' );
$permission->save();
Como qualquer Model do Laravel, ele pode ser excluído usando o método “delete” (depois de recuperado).
Conceder/Remover Permissão para uma Função
Uma função sem permissão não pode fazer nada. Portanto, precisamos conceder permissão a uma função para que eu possa executar a ação específica que concedemos explicitamente. Também é possível permitir uma função pelo painel do NexoPOS.
De forma programática, você procederá da seguinte maneira:
<?php
use App\Models\Permission;
use App\Models\Role;
$role = Role::namespace( 'super-agent' );
$permission = Permission::namespace( 'walk-on-walls' );
$role->addPermissions( $permission );
O método “addPermissions” aceita uma String (namespace de permissões), um Array e uma Collection de instâncias de “Permission”. Para remover permissões, você usará o método “removePermissions”, que aceita os mesmos parâmetros.
<?php
use App\Models\Permission;
use App\Models\Role;
$role = Role::namespace( 'super-agent' );
$permission = Permission::namespace( 'walk-on-walls' );
$role->removePermissions( $permission );
// or
Role::namespace( 'super-agent' )
->removePermissions( 'walk-on-walls' );