@sqb/connect
Version:
Multi-dialect database connection framework written with TypeScript
64 lines (63 loc) • 3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BeforeInsert = BeforeInsert;
exports.BeforeUpdate = BeforeUpdate;
exports.BeforeDestroy = BeforeDestroy;
exports.AfterInsert = AfterInsert;
exports.AfterUpdate = AfterUpdate;
exports.AfterDestroy = AfterDestroy;
const entity_metadata_js_1 = require("../model/entity-metadata.js");
function BeforeInsert() {
return (target, propertyKey) => {
if (typeof propertyKey !== 'string')
throw new Error('You can define a Column for only string properties');
const model = entity_metadata_js_1.EntityMetadata.define(target.constructor);
const fn = target.constructor.prototype[propertyKey];
entity_metadata_js_1.EntityMetadata.addEventListener(model, 'before-insert', fn);
};
}
function BeforeUpdate() {
return (target, propertyKey) => {
if (typeof propertyKey !== 'string')
throw new Error('You can define a Column for only string properties');
const model = entity_metadata_js_1.EntityMetadata.define(target.constructor);
const fn = target.constructor.prototype[propertyKey];
entity_metadata_js_1.EntityMetadata.addEventListener(model, 'before-update', fn);
};
}
function BeforeDestroy() {
return (target, propertyKey) => {
if (typeof propertyKey !== 'string')
throw new Error('You can define a Column for only string properties');
const model = entity_metadata_js_1.EntityMetadata.define(target.constructor);
const fn = target.constructor.prototype[propertyKey];
entity_metadata_js_1.EntityMetadata.addEventListener(model, 'before-destroy', fn);
};
}
function AfterInsert() {
return (target, propertyKey) => {
if (typeof propertyKey !== 'string')
throw new Error('You can define a Column for only string properties');
const model = entity_metadata_js_1.EntityMetadata.define(target.constructor);
const fn = target.constructor.prototype[propertyKey];
entity_metadata_js_1.EntityMetadata.addEventListener(model, 'after-insert', fn);
};
}
function AfterUpdate() {
return (target, propertyKey) => {
if (typeof propertyKey !== 'string')
throw new Error('You can define a Column for only string properties');
const model = entity_metadata_js_1.EntityMetadata.define(target.constructor);
const fn = target.constructor.prototype[propertyKey];
entity_metadata_js_1.EntityMetadata.addEventListener(model, 'after-update', fn);
};
}
function AfterDestroy() {
return (target, propertyKey) => {
if (typeof propertyKey !== 'string')
throw new Error('You can define a Column for only string properties');
const model = entity_metadata_js_1.EntityMetadata.define(target.constructor);
const fn = target.constructor.prototype[propertyKey];
entity_metadata_js_1.EntityMetadata.addEventListener(model, 'after-destroy', fn);
};
}