Class: GeneralSettings

@nginstack/engine/lib/settings/GeneralSettings~ GeneralSettings


new GeneralSettings()

Classe responsável por acessar e alterar as configurações gerais do sistema.

As configurações gerais são parametrizações do sistema que não são diretamente associadas às classes de dados, aos usuários ou ao modelo de permissões. São regras que normalmente afetam todo o sistema ou um módulo específico.

Os tipos de configurações suportados são definidos pelo enumerado SettingType e pela classe de dados "/Dados/Sistema/Tabelas auxiliares/Tipos de configurações gerais" (-1898139836).

Members


version :number

Versão que é incrementada caso seja detectada alguma modificação nas configurações.

Type:
  • number

Methods


<static> getInstance()

Obtém uma instância compartilhada desta classe.

Returns:
Type
GeneralSettings

get(id)

Obtém o valor de uma configuração específica ou de um conjunto de configurações identificadas pela seção.

Parameters:
Name Type Description
id string | number | DBKey

Identificador de uma configuração específica ou de uma seção de configurações.

Returns:

Valor de uma configuração específica ou um objeto contendo um conjunto de configurações. Caso não seja encontrada uma configuração com o identificador informado, será retornado undefined.

Type
*
Example
const settings = require('@nginstack/engine/lib/settings/GeneralSettings').getInstance();
settings.get('wf.login.colors.primary'); // => '#1565c0'
settings.get('wf.login.colors'); // {primary: '#1565c0', secondary: '#546e7a', background: '#fafafa'}

getSettingOptionsFromRecord(data)

Obtém as opções de uma configuração a partir de um registro de definição de configuração.

Parameters:
Name Type Description
data DataSet

DataSet posicionado no registro com a definição da configuração.

Returns:

Opções da configuração.

Type
SettingOptions

parseValue(text, options)

Restaura um valor de configuração previamente serializado pelo método stringifyValue.

Parameters:
Name Type Description
text string

Valor serializado previamente pelo método stringifyValue.

options SettingOptions

Opções da configuração.

Returns:

Valor original. Caso o valor seja múltiplo, será retornado um array de valores.

Type
*

stringifyValue(value, options)

Converte o valor de uma configuração em uma string que pode ser posteriormente restaurada pelo método parseValue.

Será gerado um erro se o valor informado for incompatível com o tipo da configuração.

Parameters:
Name Type Description
value *

Valor a ser normalizado.

options SettingOptions

Opções da configuração.

Returns:

Valor da configuração convertido em uma string.

Type
string

update(id, value)

Altera o valor de uma configuração específica ou de um conjunto de configurações identificadas pela seção.

Parameters:
Name Type Description
id string | number | DBKey

Identificador de uma configuração específica ou de uma seção de configurações.

value *

Novo valor de uma configuração específica ou um objeto contendo um conjunto de configurações.

Returns:

Versão das modificações realizadas na base de dados ou zero se não houve nenhuma.

Type
number
Example
const settings = require('@nginstack/engine/lib/settings/GeneralSettings').getInstance();
settings.update('wf.login.colors.primary', '#1565c0');
settings.update('wf.login.colors', {
  primary: '#1565c0',
  secondary: '#546e7a',
  background: '#fafafa'
});

validateSettingName(name [, key])

Verifica se o nome de configuração informado é válido e único.

Os nomes das configurações devem ser compostos de letras não acentuadas, números e o caractere "_", podendo ser delimitados por pontos com o objetivo de agrupar as configurações em seções, simplificando a leitura delas. O nome de uma configuração precisa ser único e não pode ser um prefixo do nome de uma outra configuração.

Parameters:
Name Type Argument Description
name string

Nome a ser verificado.

key DBKey | number <optional>

Chave da configuração, caso ela já exista no sistema.