UNPKG

@rytass/cms-base-nestjs-module

Version:

Rytass Content Management System NestJS Base Module

98 lines (95 loc) 3.25 kB
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 };