Class: DataSource

@nginstack/datasource/lib/DataSource~ DataSource


new DataSource(definition [, opt_options])

Classe responsável pela execução e manipulação de Fontes de Dados (por exemplo, scripts .ids).

Parameters:
Name Type Argument Description
definition DataSourceDef | Record.<*, *> | number

Chave da configuração da consulta de DataSource ou objeto literal contendo as mesmas propriedades definidas na iVFS e capturadas através da chave.

opt_options Record.<*, *> <optional>

Objeto literal com opções de configuração do DataSource.

See:
  • DataSourceDef
Example
var options = {
    specializedFilters: [   //Especializa a importação dos filtros
      {classKey: -2007889000, prefix: 'PES'}
    ],
    specializedColumns: [  //Especializa a importação das colunas
      {classKey: -2007889000, prefix: 'PES'}
    ]
  };

  new DataSource(-2007890000, dtsOptions);

Members


<static> ColumnOps :string

Operadores para colunas de Datasource.

Type:
  • string
Properties:
Name Type Default Description
DIMENSION string !
DERIVATION string .

columns :DataSourceColumns

Coleção das colunas disponíveis dos dados retornados.

Type:
  • DataSourceColumns

filters :DataSourceFilters

Coleção dos filtros disponíveis para a consulta dos dados.

Type:
  • DataSourceFilters

help :string

Ajuda para o usuário final que deve explicar o propósito das informações retornadas por esta fonte de dados e deve orientar o usuário quanto ao seu uso.

Type:
  • string

key :number

Obtém a chave do arquivo da Virtual File System que define esta fonte de dados.

Type:
  • number

public :boolean

Indica se a definição da fonte de dados é pública. Se a está propriedade for declarada como "true" outros sistemas poderão utilizá-la via API HTTP. Optar por tornar uma fonte de dados pública é perigoso quando DataSourceDef#onGetQuery da definição da fonte de dados retorna uma consulta sql pois, não serão testadas as permissões do usuário. No caso, recomenda-se definir como retorno, uma instância de IQuery em DataSourceDef#onGetQuery.

Type:
  • boolean

url :string

Obtém a URL do arquivo que define esta fonte de dados.

Type:
  • string

Methods


<static> list()

Lista todos os DataSources existentes na base.

Returns:

DataSet com a chave, nome e url das fontes de dados existentes na base de dados.

Type
DataSet

<static> loadDefinitionFile(fileId)

Retorna o objeto contendo a definição declarada no arquivo informado. A definição pode ser realizada por meio de um objeto literal ou de um script JavaScript que deixa a definição na pilha de execução.
Esta função pode ser utilizada para carregar a definição de qualquer componente da API de fontes de dados, como o próprio DataSource, o DataSourceQuery e o DataSourceVisualization.

Parameters:
Name Type Description
fileId number | string

Chave ou caminho na UFS do arquivo contendo a definição a ser instanciada.

Returns:

Objeto contendo a definição declarada no arquivo.

Type
Object

convertColumns_(columns)

Converte as colunas do formato objeto literal para o formato nativo do DataSource.

Parameters:
Name Type Description
columns Array

Colunas JSON

Returns:

Lista de colunas no formato nativo do DataSource @private

Type
DataSourceColumns

createColumns(jsonColumns)

Cria o objeto de colunas.

Parameters:
Name Type Description
jsonColumns Array.<DataSourceColumnDef> | Array.<Object>

Colunas no formato JSON que serão processadas para gerar o objeto de colunas.


createFilters(jsonFilters)

Cria o objeto de filtros.

Parameters:
Name Type Description
jsonFilters Array.<DataSourceFilterDef> | Array.<Object>

Filtros no formato JSON que serão processados para gerar o objeto de filtros.

Returns:
Type
DataSourceFilters

createFiltersFromMap(filtersMap)

Deriva filtros a partir de um array de objetos com chave e valor, onde a chave deverá ser o nome do filtro e o valor deve ser correspondente ao valor do filtro.

Parameters:
Name Type Description
filtersMap Object.<string, *>

Mapa que representa os filtros que serão utilizados na fonte de dados.

Returns:

Coleção dos filtros criados a partir do mapa.

Type
DataSourceFilters

getDataSet(filters, columns)

Obtém uma seleção de registros desta fonte de dados. Serão retornadas as informações referenciadas pelas colunas informadas em columns dos registros que satisfaçam os filtros informados em filters.

Parameters:
Name Type Description
filters DataSourceFilters

Coleção dos filtros que determinam quais registros devem ser retornados.

columns DataSourceColumns

Coleção das colunas quem devem ser retornadas.

Returns:

DataSet contendo os registros que satisfazem os filtros informados.

Type
DataSet

getQuery(filters, columns)

Retorna o comando SQL responsável por gerar o DataSet do DataSource.
Para gerar o comando SQL será necessário informar uma coleção de filtros e colunas.

Parameters:
Name Type Description
filters DataSourceFilters

Coleção de filtros usado para gerar o SQL o DataSource.

columns DataSourceColumns

Coleção de colunas que deverão ser geradas no DataSet gerado pelo DataSource.

Returns:

Comando SQL gerado pelo DataSource.

Type
string
Example
var DataSource = require('@nginstack/datasource/lib/DataSource');
var dts = new DataSource(-1898142161);
var filters = dts.createFilters([{name: "LOG_IKEY", value: -1}])
var columns = dts.createColumns([{name: "LOG_IKEY"}])
var ds = dts.getQuery(filters, columns)

getResult(filters, columns)

Retorna uma representação de um resultado DataSourceResult especializado para uma consulta de uma fonte de dados.

Parameters:
Name Type Description
filters Array.<DataSourceFilterDef> | Array.<Object>

Definições de filtro em formato JSON que serão transformados para o objeto de filtros de uma fonte de dados com a finalidade de restringir a consulta dos dados realizada pela API de fontes de dados.

columns Array.<DataSourceColumnDef> | Array.<Object>

Definições de colunas em formato de JSON que serão transformadas para o objeto de colunas de fonte de dados com a finalidade de projetar as colunas que irão fazer parte do resultado do consumo de uma fonte de dados.

Returns:

Resultado especializado.

Type
DataSourceResult

mountDataSet(ds)

Executa a função onMountDataSet, caso ela esteja definida no DataSource.

Parameters:
Name Type Description
ds DataSet

O dataSet utilizado pelo dataSource na montagem do retorno.

Returns:

Novo dataset gerado com a regra de negócio definida na função onMountDataSet.

Type
DataSet

purgeUnsolicitedColumns(ds, columns)

Remove as colunas inseridas pela fonte de dados que não foram solicitadas em columns.

Parameters:
Name Type Description
ds DataSet

DataSet que terá removidas as colunas não definidas em columns.

columns DataSourceColumns

Colunas solicitadas.

Returns:

DataSet sem as colunas não solicitadas.

Type
DataSet

<inner> fillSourceColumns(columnDef)

Preenche as colunas com as definições.

This:
  • bdo.database.DataSource
Parameters:
Name Type Description
columnDef DataSourceColumnDef

Definição da coluna


<inner> fillSourceFilters(filterDef)

Preenche os filtros com as definições.

This:
  • bdo.database.DataSource
Parameters:
Name Type Description
filterDef DataSourceColumnDef

Definição dos filtros