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"} // ] // }
- id: valor numérico da chave;