@project-sunbird/ext-framework-server
Version:
Extensible framework for sunbird extensions on server side
117 lines • 5.33 kB
JavaScript
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.frameworkAPI = exports.FrameworkAPI = void 0;
const db_1 = require("../db");
const RouterRegistry_1 = require("../managers/RouterRegistry");
const index_1 = require("../index");
const typescript_ioc_1 = require("typescript-ioc");
const services_1 = require("../services");
__exportStar(require("../services/telemetry/interfaces/TelemetryService"), exports);
__exportStar(require("../interfaces"), exports);
let FrameworkAPI = class FrameworkAPI {
bootstrap(config, app) {
return __awaiter(this, void 0, void 0, function* () {
this.config = Object.assign({}, config);
this.elasticSearchDB.initialize(this.config.db.elasticsearch);
this.cassandraDB.initialize(this.config.db.cassandra);
this.couchDB.initialize(this.config.db.couchdb);
this.pouchDB.initialize(this.config.db.pouchdb);
yield this.framework.initialize(config, app);
});
}
closeCassandraConnections() {
return this.cassandraDB.closeCassandraConnections();
}
getCassandraInstance(pluginId) {
return this.cassandraDB.getConnectionByPlugin(pluginId);
}
getElasticsearchInstance(pluginId) {
return this.elasticSearchDB.getConnection(pluginId);
}
telemetryService() {
return this._telemetryService;
}
threadLocal() {
return this.framework.routerRegistry.getThreadNamespace();
}
getPluginInstance(id) {
return this.framework.pluginManager.getPluginInstance(id);
}
getCouchDBInstance(pluginId) {
return this.couchDB.getConnection(pluginId);
}
registerStaticRoute(path, prefix) {
this.routerRegistry.registerStaticRoute(path, prefix);
}
setStaticViewEngine(name) {
this.routerRegistry.setStaticViewEngine(name);
}
getPouchDBInstance(pluginId, dbName) {
return this.pouchDB.getConnection(pluginId, dbName);
}
};
exports.FrameworkAPI = FrameworkAPI;
__decorate([
typescript_ioc_1.Inject,
__metadata("design:type", index_1.Framework)
], FrameworkAPI.prototype, "framework", void 0);
__decorate([
typescript_ioc_1.Inject,
__metadata("design:type", db_1.CassandraDB)
], FrameworkAPI.prototype, "cassandraDB", void 0);
__decorate([
typescript_ioc_1.Inject,
__metadata("design:type", db_1.ElasticSearchDB)
], FrameworkAPI.prototype, "elasticSearchDB", void 0);
__decorate([
typescript_ioc_1.Inject,
__metadata("design:type", services_1.TelemetryService)
], FrameworkAPI.prototype, "_telemetryService", void 0);
__decorate([
typescript_ioc_1.Inject,
__metadata("design:type", db_1.CouchDB)
], FrameworkAPI.prototype, "couchDB", void 0);
__decorate([
typescript_ioc_1.Inject,
__metadata("design:type", db_1.PouchDB)
], FrameworkAPI.prototype, "pouchDB", void 0);
__decorate([
typescript_ioc_1.Inject,
__metadata("design:type", RouterRegistry_1.RouterRegistry)
], FrameworkAPI.prototype, "routerRegistry", void 0);
exports.FrameworkAPI = FrameworkAPI = __decorate([
typescript_ioc_1.Singleton
], FrameworkAPI);
exports.frameworkAPI = new FrameworkAPI();
//# sourceMappingURL=index.js.map