zumito-db
Version:
Multi-driver database abstraction layer with decorator-based models
33 lines (32 loc) • 1.04 kB
JavaScript
import 'reflect-metadata';
import { MetadataStore } from '../metadata/MetadataStore.js';
export function HasMany(targetFn, options) {
return function (target, propertyKey) {
MetadataStore.addRelationMetadata(target.constructor, {
propertyKey: propertyKey,
target: targetFn,
type: 'hasMany',
foreignKey: options.foreignKey,
});
};
}
export function BelongsTo(targetFn, options) {
return function (target, propertyKey) {
MetadataStore.addRelationMetadata(target.constructor, {
propertyKey: propertyKey,
target: targetFn,
type: 'belongsTo',
foreignKey: options.foreignKey,
});
};
}
export function HasOne(targetFn, options) {
return function (target, propertyKey) {
MetadataStore.addRelationMetadata(target.constructor, {
propertyKey: propertyKey,
target: targetFn,
type: 'hasOne',
foreignKey: options.foreignKey,
});
};
}