Class: EntityKeySet

@nginstack/orm/lib/EntityKeySet~ EntityKeySet


new EntityKeySet(classKey, opt_values)

Classe utilizada para representar um conjunto de chaves de registros de uma determinada classe de dados. Ela é similar a Key, mas permite representar o valor de um campo do tipo lookup múltiplo, onde várias chaves são armazenadas em um único campo.

Parameters:
Name Type Argument Description
classKey number

Classe de dados da entidade.

opt_values Array.<number> | string <nullable>

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

See:
  • Entity
  • Key

Members


classKey :number

Chave da classe mãe desta chave.

Type:
  • number

values :Array.<number>

Valores numéricos das chaves.

Type:
  • Array.<number>

Methods


toJSONSchema()

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

Returns:
Type
Object

toJSONString()

Cria uma representação JSON desta coleção de chaves. Será retornado um array de objetos 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 EntityKeySet = require('@nginstack/orm/lib/EntityKeySet');
const keys = new EntityKeySet(-1898187811, [-1, -1898186568]);
keys.toJSONString();
// Resultado:
// [{
//   "id": -1,
//   "name": "anonymous",
//   "_links":[
//     {"rel": "self", "href": "\/api\/classes\/v1\/classes\/-1898187811\/-1"}
//   ]
// }, {
//   "id": -1898186568,
//   "name": "Administrators",
//   "_links":[
//     {"rel":"self", "href":"\/api\/classes\/v1\/classes\/-1898187811\/-1898186568"}
//   ]
// }]