claire-framework
Version:
- được viết bằng TypeScript - hỗ trợ websocket và HTTP request - hỗ trợ CLI để generate base project (claire-cli)
58 lines • 4.39 kB
JavaScript
;
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 });
const __1 = require("..");
const GlobalInjection_1 = require("../system/GlobalInjection");
const core_1 = require("../decorator/core");
const ClaireError_1 = require("../system/ClaireError");
const errors_1 = require("../system/errors");
var SqlProvider;
(function (SqlProvider) {
SqlProvider["MY_SQL"] = "mysql";
SqlProvider["POSTGRES"] = "postgres";
})(SqlProvider = exports.SqlProvider || (exports.SqlProvider = {}));
var NoSqlProvider;
(function (NoSqlProvider) {
NoSqlProvider["MONGODB"] = "mongodb";
})(NoSqlProvider = exports.NoSqlProvider || (exports.NoSqlProvider = {}));
class AbstractDatabaseAdapter {
constructor() {
//-- check for validity of models
this.modelMetadata = [];
for (let i = 0; i < this.models.length; i++) {
let model = this.models[i];
let metaData = model.prototype[core_1.METADATA];
if (!metaData || !metaData.assertValid) {
throw new ClaireError_1.ClaireError(errors_1.INVALID_MODEL_METADATA, model.name);
}
metaData.assertValid();
this.modelMetadata.push(metaData);
}
this.modelMetadata = __1.ModelMetadata.dependencySort(this.modelMetadata);
this.schemas = {};
this.models.forEach((model) => {
this.schemas[model.name] = { modelConnection: undefined };
});
}
get models() {
return GlobalInjection_1.getGlobalInjection().models.map(m => m.constructorFn);
}
init() {
return __awaiter(this, void 0, void 0, function* () {
});
}
stop() {
return __awaiter(this, void 0, void 0, function* () {
});
}
}
exports.AbstractDatabaseAdapter = AbstractDatabaseAdapter;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3REYXRhYmFzZUFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZGF0YWJhc2UvQWJzdHJhY3REYXRhYmFzZUFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSwwQkFBaUM7QUFFakMsK0RBQTZEO0FBQzdELDRDQUEyQztBQUMzQyx1REFBa0Q7QUFDbEQsNkNBQXdEO0FBTXhELElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNuQiwrQkFBZ0IsQ0FBQTtJQUNoQixvQ0FBcUIsQ0FBQTtBQUN6QixDQUFDLEVBSFcsV0FBVyxHQUFYLG1CQUFXLEtBQVgsbUJBQVcsUUFHdEI7QUFFRCxJQUFZLGFBRVg7QUFGRCxXQUFZLGFBQWE7SUFDckIsb0NBQW1CLENBQUE7QUFDdkIsQ0FBQyxFQUZXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBRXhCO0FBRUQsTUFBc0IsdUJBQXVCO0lBS3pDO1FBQ0ksaUNBQWlDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN6QyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsZUFBUSxDQUFrQixDQUFDO1lBQzFELElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFO2dCQUNwQyxNQUFNLElBQUkseUJBQVcsQ0FBQywrQkFBc0IsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDN0Q7WUFDRCxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDckM7UUFFRCxJQUFJLENBQUMsYUFBYSxHQUFHLGlCQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUMsZUFBZSxFQUFFLFNBQVMsRUFBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNiLE9BQU8sb0NBQWtCLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFNWSxJQUFJOztRQUNqQixDQUFDO0tBQUE7SUFFWSxJQUFJOztRQUNqQixDQUFDO0tBQUE7Q0FFSjtBQXZDRCwwREF1Q0MifQ==