@malagu/typeorm
Version:
59 lines • 2.72 kB
JavaScript
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
;