zents
Version:
ZenTS is a Node.js & TypeScript MVC-Framework for building rich web applications, released as free and open-source software under the MIT License. It is designed for building web applications with modern tools and design patterns.
38 lines • 1.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.customRepository = exports.treeRepository = exports.repository = exports.entityManager = exports.connection = void 0;
const enums_1 = require("../types/enums");
function connection(target, propertyKey) {
Reflect.defineMetadata(enums_1.REFLECT_METADATA.DATABASE_CONNECTION, propertyKey, target);
}
exports.connection = connection;
function entityManager(target, propertyKey) {
Reflect.defineMetadata(enums_1.REFLECT_METADATA.DATABASE_EM, propertyKey, target);
}
exports.entityManager = entityManager;
function repositoryDecorator(repositoryType, entity) {
return (target, propertyKey, parameterIndex) => {
var _a;
const repositories = (_a = Reflect.getMetadata(enums_1.REFLECT_METADATA.DATABASE_REPOSITORY, target, propertyKey)) !== null && _a !== void 0 ? _a : [];
repositories.push({
index: parameterIndex,
propertyKey,
entity,
repositoryType,
});
Reflect.defineMetadata(enums_1.REFLECT_METADATA.DATABASE_REPOSITORY, repositories, target, propertyKey);
};
}
function repository(entity) {
return repositoryDecorator(enums_1.REPOSITORY_TYPE.REPOSITORY, entity);
}
exports.repository = repository;
function treeRepository(entity) {
return repositoryDecorator(enums_1.REPOSITORY_TYPE.TREE, entity);
}
exports.treeRepository = treeRepository;
function customRepository(repository) {
return repositoryDecorator(enums_1.REPOSITORY_TYPE.CUSTOM, repository);
}
exports.customRepository = customRepository;
//# sourceMappingURL=database.js.map