miter
Version:
A typescript web framework based on ExpressJs based loosely on SailsJs
24 lines • 980 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const model_1 = require("../../metadata/orm/model");
require("reflect-metadata");
const pk_decorator_1 = require("./pk.decorator");
function Model(tableName) {
let meta;
if (typeof tableName === 'string')
meta = { tableName: tableName };
else
meta = tableName || {};
return function (model) {
Reflect.defineMetadata(model_1.ModelMetadataSym, meta, model.prototype);
model.db = Symbol();
let props = Reflect.getOwnMetadata(model_1.ModelPropertiesSym, model.prototype) || [];
if (!props.find((propName) => propName == 'id')) {
pk_decorator_1.Pk()(model.prototype, 'id');
props = Reflect.getOwnMetadata(model_1.ModelPropertiesSym, model.prototype);
}
Reflect.defineMetadata(model_1.ModelPropertiesSym, props, model.prototype);
};
}
exports.Model = Model;
//# sourceMappingURL=model.decorator.js.map