@rytass/cms-base-nestjs-module
Version:
Rytass Content Management System NestJS Base Module
56 lines (53 loc) • 2.02 kB
JavaScript
import { PrimaryGeneratedColumn, CreateDateColumn, DeleteDateColumn, OneToMany, ManyToMany, JoinTable, Entity, TableInheritance } from 'typeorm';
import { BaseArticleVersionEntity } from './base-article-version.entity.js';
import { BaseCategoryEntity } from './base-category.entity.js';
function _ts_decorate(decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
}
const BaseArticleRepo = Symbol('BaseArticleRepo');
class BaseArticleEntity {
id;
createdAt;
deletedAt;
versions;
categories;
}
_ts_decorate([
PrimaryGeneratedColumn('uuid')
], BaseArticleEntity.prototype, "id", void 0);
_ts_decorate([
CreateDateColumn('timestamptz')
], BaseArticleEntity.prototype, "createdAt", void 0);
_ts_decorate([
DeleteDateColumn('timestamptz')
], BaseArticleEntity.prototype, "deletedAt", void 0);
_ts_decorate([
OneToMany(()=>BaseArticleVersionEntity, (articleVersion)=>articleVersion.article)
], BaseArticleEntity.prototype, "versions", void 0);
_ts_decorate([
ManyToMany(()=>BaseCategoryEntity, (category)=>category.articles),
JoinTable({
name: 'article_categories',
joinColumn: {
name: 'articleId',
referencedColumnName: 'id'
},
inverseJoinColumn: {
name: 'categoryId',
referencedColumnName: 'id'
}
})
], BaseArticleEntity.prototype, "categories", void 0);
BaseArticleEntity = _ts_decorate([
Entity('articles'),
TableInheritance({
column: {
type: 'varchar',
name: 'entityName'
}
})
], BaseArticleEntity);
export { BaseArticleEntity, BaseArticleRepo };