UNPKG

@forestadmin/datasource-toolkit

Version:
48 lines 3.7 kB
"use strict"; 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