Class: EntityKey

@nginstack/orm/lib/EntityKey~ EntityKey


new EntityKey(classKey, opt_value)

Classe utilizada para representar uma chave de um registro de uma determinada classe de dados.

Diferentemente da classe nativa DBKey, esta classe associa uma chave a uma classe de dados e, ao ser exportada para um JSON, gera uma representação HATEOAS dessa chave.

Parameters:
Name Type Argument Description
classKey number

Classe de dados da entidade.

opt_value number <nullable>

Chave ou null para indicar a ausência de uma chave.

See:
  • Entity
  • KeySet

Members


classKey :number

Chave da classe mãe desta chave.

Type:
  • number

value :number|null

Valor da chave ou null, quando indica a ausência de uma chave.

Type:
  • number | null

Methods


toJSONSchema()

Exporta a definição desta chave no formato JSON Schema.

Returns:
Type
Object

toJSONString()

Cria uma representação JSON desta chave. Caso ela esteja definida, será retornada um objeto com as propriedades:

  • id: valor numérico da chave;
  • name: nome de exibição da chave, de acordo com a regra de exibição pela classe de dados;
  • _links: um array com links para obter mais informações ou ações que podem ser realizadas com essa chave. Classes de dados que façam parte do cache local sempre retornarão um link para acessar a representação completa desta chave.

    Pela natureza distribuída dos Engines, os links retornados sempre serão URIs relativas, sem identificar o host, com paths absolutos. Elas poderão ser acessadas utilizadas qualquer servidor Engine que sirva a mesma base de dados.
Example
const EntityKey = require('@nginstack/orm/lib/EntityKey');
const key = new EntityKey(-1898187811, -1); // Grupos, Papéis e Usuários
key.toJSONString();
// Resultado:
// {
//   "id":-1,
//   "name":"anonymous",
//   "_links":[
//     {"rel":"self", "href":"\/api\/classes\/v1\/classes\/-1898187811\/-1"}
//   ]
// }