quaerateum
Version:
Simple typescript ORM for node.js based on data-mapper, unit-of-work and identity-map patterns. Supports MongoDB, MySQL, PostgreSQL and SQLite databases as well as usage with vanilla JS.
35 lines (28 loc) • 739 B
JavaScript
const { MetadataStorage } = require('../../lib/metadata');
const { Collection, ReferenceType } = require('../../lib');
/**
* @property {number} id
*/
class BaseEntity4 {
constructor() {
const meta = MetadataStorage.getMetadata(this.constructor.name);
const props = meta.properties;
Object.keys(props).forEach(prop => {
if ([ReferenceType.ONE_TO_MANY, ReferenceType.MANY_TO_MANY].includes(props[prop].reference)) {
this[prop] = new Collection(this);
}
});
}
}
const schema = {
properties: {
id: {
primary: true,
type: 'number',
},
},
path: __filename,
};
module.exports.BaseEntity4 = BaseEntity4;
module.exports.entity = BaseEntity4;
module.exports.schema = schema;