reveal-sdk-node
Version:
RevealBI Node.js SDK
111 lines (110 loc) • 3.72 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RVDuckDBDataSourceItem = void 0;
const RVDataSourceItem_1 = require("../AbstractClasses/RVDataSourceItem");
const RVDuckDBDataSource_1 = require("./RVDuckDBDataSource");
/**
* DuckDB data source item.
*/
class RVDuckDBDataSourceItem extends RVDataSourceItem_1.RVDataSourceItem {
/** @hidden */
constructor(arg) {
var _a, _b, _c;
super(arg);
this._schema = null;
this._table = null;
// @if SERVER_SDK
this._customQuery = null;
// @endif
this._procedure = null;
this._procedureParameters = null;
this._processDataOnServer = false;
if (arg instanceof RVDuckDBDataSource_1.RVDuckDBDataSource) {
this._processDataOnServer = true;
}
else {
var props = arg["Properties"];
if (props) {
this._schema = (_a = props["Schema"]) !== null && _a !== void 0 ? _a : null;
this._table = (_b = props["Table"]) !== null && _b !== void 0 ? _b : null;
this._procedure = (_c = props["Procedure"]) !== null && _c !== void 0 ? _c : null;
this._processDataOnServer = props["ServerAggregation"] === true;
}
this._procedureParameters = arg["Parameters"];
// @if SERVER_SDK
this.deserializeCustomQuerySupport(arg, false);
// @endif
}
}
/** @hidden */
toJson() {
var json = super.toJson();
var props = json["Properties"];
props["Schema"] = this._schema;
props["Table"] = this._table;
props["Procedure"] = this._procedure;
props["ServerAggregation"] = this._processDataOnServer;
// @if SERVER_SDK
this.serializeCustomQuerySupport(json, false);
// @endif
//copy procedureParameters values to parameters
Object.assign(json['Parameters'], this._procedureParameters);
return json;
}
/** @hidden */
getType() {
return "RVDuckDBDataSourceItem";
}
/** Name of the schema to use. */
get schema() {
return this._schema;
}
set schema(value) {
this._schema = value;
}
/**
* Name of the table (or view) to get data from
*/
get table() {
return this._table;
}
set table(value) {
this._table = value;
}
/**
* (Optional) Custom SQL query to use when getting data
*/
get customQuery() {
return this._customQuery;
}
set customQuery(value) {
this._customQuery = value;
}
/**
* (Optional) name of the stored procedure to get data from, the procedure is expected to return a result set and might
* have multiple parameters.
*/
get procedure() {
return this._procedure;
}
set procedure(value) {
this._procedure = value;
}
/** Parameters to be passed to the stored procedure, if there is such specified in {@link RVDuckDBDataSourceItem.procedure}. */
get procedureParameters() {
return this._procedureParameters;
}
set procedureParameters(value) {
this._procedureParameters = value;
}
/**
* Configures if the "Process Data on Server" option is turned on for this item (table or view), defaults to "true"
*/
get processDataOnServer() {
return this._processDataOnServer;
}
set processDataOnServer(value) {
this._processDataOnServer = value;
}
}
exports.RVDuckDBDataSourceItem = RVDuckDBDataSourceItem;