nest-typeorm-sharding-repository
Version:
This module extends TypeORM capabilities to support distributed database environments with List and Range-based sharding strategies in a NestJS application.
11 lines (10 loc) • 606 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRepositoryToken = void 0;
const MetadataUtils_1 = require("typeorm/metadata-builder/MetadataUtils");
const sharding_base_entity_1 = require("../sharding-base-entity");
function getRepositoryToken(entityType) {
const isSharded = MetadataUtils_1.MetadataUtils.getInheritanceTree(entityType).includes(sharding_base_entity_1.ShardingBaseEntity);
return isSharded ? `ShardingRepositoryService<${entityType.name}>` : `TypeormRepositoryService<${entityType.name}>`;
}
exports.getRepositoryToken = getRepositoryToken;