@rytass/cms-base-nestjs-module
Version:
Rytass Content Management System NestJS Base Module
98 lines (95 loc) • 3.25 kB
JavaScript
import { PrimaryColumn, Column, Index, ManyToOne, JoinColumn, Entity, TableInheritance } from 'typeorm';
import { DEFAULT_LANGUAGE } from '../constants/default-language.js';
import { BaseArticleVersionEntity } from './base-article-version.entity.js';
import { FULL_TEXT_SEARCH_TOKEN_VERSION } from '../constants/full-text-search-token-version.js';
import { EMPTY_QUADRATS_ELEMENTS } from '../constants/empty-quadrats-elements.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 BaseArticleVersionContentRepo = Symbol('BaseArticleVersionContentRepo');
class BaseArticleVersionContentEntity {
articleId;
version;
language;
title;
description;
content;
searchTokens;
searchTokenVersion;
articleVersion;
}
_ts_decorate([
PrimaryColumn('uuid')
], BaseArticleVersionContentEntity.prototype, "articleId", void 0);
_ts_decorate([
PrimaryColumn('int', {
default: 0
})
], BaseArticleVersionContentEntity.prototype, "version", void 0);
_ts_decorate([
PrimaryColumn('varchar', {
default: DEFAULT_LANGUAGE
})
], BaseArticleVersionContentEntity.prototype, "language", void 0);
_ts_decorate([
Column('varchar'),
Index()
], BaseArticleVersionContentEntity.prototype, "title", void 0);
_ts_decorate([
Column('varchar', {
nullable: true,
comment: 'Use for SEO'
}),
Index()
], BaseArticleVersionContentEntity.prototype, "description", void 0);
_ts_decorate([
Column('json', {
default: EMPTY_QUADRATS_ELEMENTS
})
], BaseArticleVersionContentEntity.prototype, "content", void 0);
_ts_decorate([
Column('tsvector', {
nullable: true,
select: false
})
], BaseArticleVersionContentEntity.prototype, "searchTokens", void 0);
_ts_decorate([
Column('varchar', {
default: FULL_TEXT_SEARCH_TOKEN_VERSION,
select: false
})
], BaseArticleVersionContentEntity.prototype, "searchTokenVersion", void 0);
_ts_decorate([
ManyToOne(()=>BaseArticleVersionEntity, (articleVersion)=>articleVersion.multiLanguageContents, {
onUpdate: 'CASCADE',
onDelete: 'CASCADE',
orphanedRowAction: 'delete'
}),
JoinColumn([
{
name: 'articleId',
referencedColumnName: 'articleId'
},
{
name: 'version',
referencedColumnName: 'version'
}
])
], BaseArticleVersionContentEntity.prototype, "articleVersion", void 0);
BaseArticleVersionContentEntity = _ts_decorate([
Entity('article_version_contents'),
Index([
'articleId',
'version'
]),
TableInheritance({
column: {
type: 'varchar',
name: 'entityName'
}
})
], BaseArticleVersionContentEntity);
export { BaseArticleVersionContentEntity, BaseArticleVersionContentRepo };