typeorm-versions
Version:
Entity versioning for TypeORM
43 lines • 1.38 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.VersionedBaseEntity = void 0;
const typeorm_1 = require("typeorm");
const VersionRepository_1 = require("../repository/VersionRepository");
class VersionHelperMethods {
constructor(entity) {
this.entity = entity;
}
getDataSource() {
// @ts-ignore
return this.entity.constructor.target?.dataSource;
}
/**
* @protected
* @deprecated in favor of getDataSource
*/
getConnection() {
return this.getDataSource();
}
async list() {
return (0, VersionRepository_1.VersionRepository)(this.getDataSource()).allForEntity(this.entity);
}
async previous() {
return (0, VersionRepository_1.VersionRepository)(this.getDataSource()).previousForEntity(this.entity);
}
async latest() {
return (0, VersionRepository_1.VersionRepository)(this.getDataSource()).latestForEntity(this.entity);
}
async previousObject() {
return (await this.previous())?.getObject();
}
async latestObject() {
return (await this.latest())?.getObject();
}
}
class VersionedBaseEntity extends typeorm_1.BaseEntity {
versions() {
return new VersionHelperMethods(this);
}
}
exports.VersionedBaseEntity = VersionedBaseEntity;
//# sourceMappingURL=VersionedBaseEntity.js.map
;