new PermissionSchema()
Classe responsável pela consulta do esquema da tabela de permissões para as classes de dados do sistema.
Em vez de construir essa classe diretamente, utilize o método PermissionSchema.getInstance.
Members
-
<static, constant> INHERITANCE_FIELDS :Array.<string>
-
Campos da tabela de permissões que controlam a herança de permissões. Por convenção, os nomes dos campos serão em letras minúsculas.
Type:
- Array.<string>
-
<static, constant> PERIOD_FIELDS :Array.<string>
-
Campos da tabela de permissões utilizados para indicar a vigência das permissões. Por convenção, os nomes dos campos serão em letras minúsculas.
Type:
- Array.<string>
-
<static, constant> TARGET_FIELDS :Array.<string>
-
Campos da tabela de permissões que indicam em quem as permissões serão aplicadas. Por convenção, os nomes dos campos serão em letras minúsculas.
Type:
- Array.<string>
Methods
-
<static> getInstance()
-
Retorna a instância global do PermissionSchema compartilhada com toda a sessão.
Returns:
- Type
- PermissionSchema
-
getChildrenReplicatedFieldNames()
-
Obtém os nomes dos campos que são replicados para as classes e arquivos filhos quando há herança de permissões ou quando o usuário solicita a replicação manual de permissões.
Os campos replicados são configurados por meio da propriedade childrenReplicationFieldNames nos arquivos x-model da classe /Dados/Sistema/Permissões (-1898187812).
Returns:
Nomes dos campos que devem ser replicados.
- Type
- Array.<string>
-
getDeclaredFieldsByClass(rootClass [, opt_options])
-
Mapeia de modo distinto todos os campos de permissão, utilizando a chave da classe raiz do escopo como chave. Os nomes dos campos são normalizados em letras minúsculas.
Parameters:
Name Type Argument Description rootClass
number Classe raiz da qual será montado o mapa.
opt_options
Object | Record.<*, *> <optional>
Opções na obtenção da relação de campos:
- includeNonDatabaseFields: também inclui na relação de campos não existentes na tabela iPermission, como os campos calculados e grades detalhes declarados no modelo de dados.
Returns:
- Type
- Object.<Array.<string>>
-
getDeclaredFieldsInClass(classKey [, opt_options])
-
Busca os nomes de campos de permissão que foram declarados inicialmente na classe de dados informada. Não serão retornados os campos de permissão herdados da classe-mãe. Os nomes dos campos são normalizados em letras minúsculas.
Parameters:
Name Type Argument Description classKey
number Chave da classe ao qual se quer obter os nomes dos campos de permissão relacionados.
opt_options
Object | Record.<*, *> <optional>
Opções na obtenção da relação de campos:
- includeNonDatabaseFields: também inclui na relação de campos não existentes na tabela iPermission, como os campos calculados e grades detalhes declarados no modelo de dados.
Returns:
Nomes dos campos de permissão.
- Type
- Array.<string>
-
getExtraFiltersForClass(classKey)
-
Indica quais os nomes dos campos da tabela de permissões são visíveis e configurados como filtros extras para a classe de dados informada. Os nomes são padronizados em letras minúsculas.
Importante: os campos retornados são da tabela de permissões, não são da tabela de dados associada a classe informada. Para obter os campos da classe informada que se relacionam com os campos da tabela de permissão, verifique a propriedade module:@nginstack/engine/lib/classdef/Field~Field#permissionFilterFieldName dos campos da classe.
Parameters:
Name Type Description classKey
number Classe de dados para a qual serão consultados os filtros extras.
Returns:
Nomes dos campos configurados como filtros extra da tabela de permissões.
- Type
- Array.<string>
-
getFieldsByClass(rootClass [, opt_options])
-
Mapeia todos os campos de permissão, utilizando a chave da classe raiz do escopo como chave. Os nomes dos campos são normalizados em letras minúsculas.
Parameters:
Name Type Argument Description rootClass
number Classe raiz da qual será montado o mapa.
opt_options
Object | Record.<*, *> <optional>
Opções na obtenção da relação de campos:
- includeNonDatabaseFields: também inclui na relação de campos não existentes na tabela iPermission, como os campos calculados e grades detalhes declarados no modelo de dados.
Returns:
- Type
- Object.<Array.<string>>
-
getFieldsForClass(classKey [, opt_options])
-
Busca os nomes de campos de permissão para uma classe. Os nomes dos campos são normalizados em letras minúsculas.
Parameters:
Name Type Argument Description classKey
number Chave da classe ao qual se quer obter os nomes dos campos de permissão relacionados.
opt_options
Object | Record.<*, *> <optional>
Opções na obtenção da relação de campos:
- includeNonDatabaseFields: também inclui na relação de campos não existentes na tabela iPermission, como os campos calculados e grades detalhes declarados no modelo de dados.
Returns:
Nomes dos campos de permissão.
- Type
- Array.<string>
-
getFieldsForFile(fileKey [, opt_options])
-
Busca os nomes dos campos de permissão para um arquivo. Os nomes dos campos são normalizados em letras minúsculas.
Parameters:
Name Type Argument Description fileKey
number Chave do arquivo ao qual se quer obter os nomes dos campos de permissão que estão relacionados.
opt_options
Object | Record.<*, *> <optional>
Opções na obtenção da relação de campos:
- includeNonDatabaseFields: também inclui na relação de campos não existentes na tabela iPermission, como os campos calculados e grades detalhes declarados no modelo de dados.
Returns:
Nomes dos campos de permissão.
- Type
- Array.<string>
-
getParentReplicatedFieldNames()
-
Obtém os nomes dos campos que são replicados automaticamente para as classes ancestrais quando o usuário altera a permissão de um grupo, papel ou usuário.
Por exemplo, a permissão "Ver" é uma permissão replicada automaticamente, pois um usuário não poderá ver os dados de uma determinada classe de dados se também não tiver permissão de visão nas classes mãe.
Os campos replicados são configurados por meio da propriedade replicatedPermissionFieldNames nos arquivos x-model da classe /Dados/Sistema/Permissões (-1898187812).
Returns:
Nomes dos campos que devem ser replicados.
- Type
- Array.<string>
-
mountTabularMap(permissionFields, classKey, userKey [, opt_filters])
-
Monta o mapa de permissões de um usuário partindo de uma classe para as suas filhas.
Parameters:
Name Type Argument Description permissionFields
Array.<string> Nomes dos campos de permissão ligados à classe.
classKey
number Classe que servirá de base para a pesquisa.
userKey
number Chave do usuário que terá suas permissões mapeadas.
opt_filters
Object <optional>
Filtros que podem ser repassados para o DataSet.
Properties
Name Type Argument Description licenses
Array.<number> | number Licenças que serão exibidas nesta montagem.
hideNotVisibleClasses
boolean Retira do resultado todas as classes as quais o usuário não pode visualizar.
justProducts
boolean <optional>
Retira do resultado todas as classes positivas. Ou seja, serão exibidas apenas as chaves de produtos, incluindo o Custom.
Returns:
Relação da própria classe e suas descendentes com as permissões. Este DataSet vem organizado desta maneira: iKey {number} Chave da classe; iParent {number} Mãe da classe (Virá nulo quando for a classe raiz); iName {string} Nome da classe; iOrder {string} Ordem de exibição das classes. Esse campo virá no formato: "0001/0006" o que significa que essa classe é a sexta filha da primeira classe. O DataSet vem ordenado por este campo. (Um campo para cada permissão contendo o seu valor.) iEqualDescendants {boolean} Indica se os descendentes desta classe possuem a mesma permissão que ela própria.
- Type
- DataSet