UNPKG

@malagu/typeorm

Version:
59 lines 2.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OrmContext = exports.CURRENT_ORM_CONTEXT_REQUEST_KEY = void 0; const node_1 = require("@malagu/web/lib/node"); const common_1 = require("../../common"); exports.CURRENT_ORM_CONTEXT_REQUEST_KEY = 'CurrentOrmContextRequest'; var OrmContext; (function (OrmContext) { function getEntityManager(name = common_1.DEFAULT_CONNECTION_NAME) { const entityManagerMap = node_1.Context.getAttr(exports.CURRENT_ORM_CONTEXT_REQUEST_KEY, node_1.AttributeScope.Request); if (entityManagerMap) { const entityManagers = entityManagerMap.get(name); if (entityManagers && entityManagers.length > 0) { return entityManagers[entityManagers.length - 1]; } } return undefined; } OrmContext.getEntityManager = getEntityManager; function getRepository(target, name) { return getEntityManager(name).getRepository(target); } OrmContext.getRepository = getRepository; function getTreeRepository(target, name) { return getEntityManager(name).getTreeRepository(target); } OrmContext.getTreeRepository = getTreeRepository; function getMongoRepository(target, name) { return getEntityManager(name).getMongoRepository(target); } OrmContext.getMongoRepository = getMongoRepository; function getCustomRepository(customRepository, name) { return getEntityManager(name).getCustomRepository(customRepository); } OrmContext.getCustomRepository = getCustomRepository; function pushEntityManager(name, entityManager) { let entityManagerMap = node_1.Context.getAttr(exports.CURRENT_ORM_CONTEXT_REQUEST_KEY, node_1.AttributeScope.Request); if (!entityManagerMap) { entityManagerMap = new Map(); node_1.Context.setAttr(exports.CURRENT_ORM_CONTEXT_REQUEST_KEY, entityManagerMap); } if (!entityManagerMap.get(name)) { entityManagerMap.set(name, []); } entityManagerMap.get(name).push(entityManager); } OrmContext.pushEntityManager = pushEntityManager; function popEntityManager(name) { const entityManagerMap = node_1.Context.getAttr(exports.CURRENT_ORM_CONTEXT_REQUEST_KEY, node_1.AttributeScope.Request); if (entityManagerMap) { const entityManagers = entityManagerMap.get(name); if (entityManagers && entityManagers.length > 0) { return entityManagers.pop(); } } } OrmContext.popEntityManager = popEntityManager; })(OrmContext = exports.OrmContext || (exports.OrmContext = {})); //# sourceMappingURL=context-protocol.js.map