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 |
module:@nginstack/datasource/lib/DataSourceDef~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
-
columns :module:@nginstack/datasource/lib/DataSourceColumns~DataSourceColumns
-
Coleção das colunas disponíveis dos dados retornados.
Type:
-
filters :module:@nginstack/datasource/lib/DataSourceFilters~DataSourceFilters
-
Coleção dos filtros disponíveis para a consulta dos dados.
Type:
-
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
-
<static> ColumnOps :string
-
Operadores para colunas de Datasource.
Type:
- string
Properties:
Name Type Default Description DIMENSIONstring !DERIVATIONstring .
Methods
-
convertColumns_(columns)
-
Converte as colunas do formato objeto literal para o formato nativo do DataSource.
Parameters:
Name Type Description columnsArray Colunas JSON
Returns:
Lista de colunas no formato nativo do DataSource @private
-
createColumns(jsonColumns)
-
Cria o objeto de colunas.
Parameters:
Name Type Description jsonColumnsArray.<module:@nginstack/datasource/lib/DataSourceColumnDef~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 jsonFiltersArray.<module:@nginstack/datasource/lib/DataSourceFilterDef~DataSourceFilterDef>| Array.<Object> Filtros no formato JSON que serão processados para gerar o objeto de filtros.
Returns:
-
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 filtersMapObject.<string, *> Mapa que representa os filtros que serão utilizados na fonte de dados.
Returns:
Coleção dos filtros criados a partir do mapa.
-
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 filtersmodule:@nginstack/datasource/lib/DataSourceFilters~DataSourceFilters Coleção dos filtros que determinam quais registros devem ser retornados.
columnsmodule:@nginstack/datasource/lib/DataSourceColumns~DataSourceColumns Coleção das colunas quem devem ser retornadas.
Returns:
DataSet contendo os registros que satisfazem os filtros informados.
-
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 filtersmodule:@nginstack/datasource/lib/DataSourceFilters~DataSourceFilters Coleção de filtros usado para gerar o SQL o DataSource.
columnsmodule:@nginstack/datasource/lib/DataSourceColumns~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 filtersArray.<module:@nginstack/datasource/lib/DataSourceFilterDef~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.
columnsArray.<module:@nginstack/datasource/lib/DataSourceColumnDef~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.
-
mountDataSet(ds)
-
Executa a função onMountDataSet, caso ela esteja definida no DataSource.
Parameters:
Name Type Description dsmodule:@nginstack/engine/lib/dataset/DataSet~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.
-
purgeUnsolicitedColumns(ds, columns)
-
Remove as colunas inseridas pela fonte de dados que não foram solicitadas em columns.
Parameters:
Name Type Description dsmodule:@nginstack/engine/lib/dataset/DataSet~DataSet DataSet que terá removidas as colunas não definidas em columns.
columnsmodule:@nginstack/datasource/lib/DataSourceColumns~DataSourceColumns Colunas solicitadas.
Returns:
DataSet sem as colunas não solicitadas.
-
<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.
-
<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 fileIdnumber| 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
-
<inner> fillSourceColumns(columnDef)
-
Preenche as colunas com as definições.
This:
- bdo.database.DataSource
Parameters:
Name Type Description columnDefmodule:@nginstack/datasource/lib/DataSourceColumnDef~DataSourceColumnDef Definição da coluna
-
<inner> fillSourceFilters(filterDef)
-
Preenche os filtros com as definições.
This:
- bdo.database.DataSource
Parameters:
Name Type Description filterDefmodule:@nginstack/datasource/lib/DataSourceColumnDef~DataSourceColumnDef Definição dos filtros