Início
NexoPOS

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.

permission-management-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' );