@forestadmin/datasource-toolkit
Version:
48 lines • 3.7 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
/* eslint-disable @typescript-eslint/no-unused-vars */
const errors_1 = require("./errors");
class BaseDataSource {
constructor() {
this._collections = {};
this._nativeQueryConnections = {};
}
get collections() {
return Object.values(this._collections);
}
get nativeQueryConnections() {
return this._nativeQueryConnections;
}
get schema() {
return { charts: [] };
}
getCollection(name) {
const collection = this._collections[name];
if (collection === undefined) {
throw new errors_1.MissingCollectionError(`Collection '${name}' not found. List of available collections: ${Object.keys(this._collections)
.sort()
.join(', ')}`);
}
return collection;
}
addCollection(collection) {
if (this._collections[collection.name] !== undefined) {
throw new Error(`Collection '${collection.name}' already defined in datasource`);
}
this._collections[collection.name] = collection;
}
addNativeQueryConnection(connectionName, definition) {
if (this._nativeQueryConnections[connectionName] !== undefined) {
throw new Error(`NativeQueryConnection '${connectionName}' is already defined in datasource`);
}
this._nativeQueryConnections[connectionName] = definition;
}
renderChart(caller, name) {
throw new Error(`No chart named '${name}' exists on this datasource.`);
}
async executeNativeQuery(connectionName, query, contextVariables) {
throw new Error(`Native Query is not supported on this datasource`);
}
}
exports.default = BaseDataSource;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRhc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jhc2UtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHNEQUFzRDtBQUN0RCxxQ0FBa0Q7QUFNbEQsTUFBcUIsY0FBYztJQUFuQztRQUNZLGlCQUFZLEdBQW9DLEVBQUUsQ0FBQztRQUNuRCw0QkFBdUIsR0FBMEMsRUFBRSxDQUFDO0lBeURoRixDQUFDO0lBdkRDLElBQUksV0FBVztRQUNiLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWTtRQUN4QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNDLElBQUksVUFBVSxLQUFLLFNBQVMsRUFBRTtZQUM1QixNQUFNLElBQUksK0JBQXNCLENBQzlCLGVBQWUsSUFBSSwrQ0FBK0MsTUFBTSxDQUFDLElBQUksQ0FDM0UsSUFBSSxDQUFDLFlBQVksQ0FDbEI7aUJBQ0UsSUFBSSxFQUFFO2lCQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNoQixDQUFDO1NBQ0g7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQWE7UUFDekIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDcEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLFVBQVUsQ0FBQyxJQUFJLGlDQUFpQyxDQUFDLENBQUM7U0FDbEY7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDbEQsQ0FBQztJQUVELHdCQUF3QixDQUFDLGNBQXNCLEVBQUUsVUFBbUI7UUFDbEUsSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsY0FBYyxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQzlELE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLGNBQWMsb0NBQW9DLENBQUMsQ0FBQztTQUMvRjtRQUVELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDNUQsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjLEVBQUUsSUFBWTtRQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixJQUFJLDhCQUE4QixDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FDdEIsY0FBc0IsRUFDdEIsS0FBYSxFQUNiLGdCQUF5QztRQUV6QyxNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGO0FBM0RELGlDQTJEQyJ9
;