@rytass/cms-base-nestjs-module
Version:
Rytass Content Management System NestJS Base Module
87 lines (86 loc) • 8.13 kB
TypeScript
import { OnApplicationBootstrap } from '@nestjs/common';
import { DataSource, QueryRunner, Repository } from 'typeorm';
import { BaseArticleEntity } from '../models/base-article.entity';
import { MultiLanguageArticleCreateDto, SingleArticleCreateDto } from '../typings/article-create.dto';
import { BaseArticleVersionEntity } from '../models/base-article-version.entity';
import { BaseArticleVersionContentEntity } from '../models/base-article-version-content.entity';
import { ArticleFindAllDto } from '../typings/article-find-all.dto';
import { Language } from '../typings/language';
import { ArticleBaseDto, SingleArticleBaseDto } from '../typings/article-base.dto';
import { BaseCategoryEntity } from '../models/base-category.entity';
import { ArticleFindByIdBaseDto } from '../typings/article-find-by-id.dto';
import { ArticleCollectionDto, SingleArticleCollectionDto } from '../typings/article-collection.dto';
import { ArticleSignatureEntity } from '../models/article-signature.entity';
import { BaseSignatureLevelEntity } from '../models/base-signature-level.entity';
import { SignatureInfoDto } from '../typings/signature-info.dto';
import { ArticleDataLoader } from '../data-loaders/article.dataloader';
import { SignatureService } from './signature.service';
export declare class ArticleBaseService<ArticleEntity extends BaseArticleEntity = BaseArticleEntity, ArticleVersionEntity extends BaseArticleVersionEntity = BaseArticleVersionEntity, ArticleVersionContentEntity extends BaseArticleVersionContentEntity = BaseArticleVersionContentEntity, SignatureLevelEntity extends BaseSignatureLevelEntity = BaseSignatureLevelEntity> implements OnApplicationBootstrap {
private readonly baseArticleRepo;
private readonly baseArticleVersionRepo;
private readonly baseArticleVersionContentRepo;
private readonly baseCategoryRepo;
private readonly multipleLanguageMode;
private readonly fullTextSearchMode;
private readonly draftMode;
private readonly signatureLevels;
private readonly signatureLevelRepo;
private readonly articleSignatureRepo;
private readonly autoReleaseAfterApproved;
private readonly dataSource;
private readonly articleDataLoader;
private readonly signatureService;
constructor(baseArticleRepo: Repository<BaseArticleEntity>, baseArticleVersionRepo: Repository<BaseArticleVersionEntity>, baseArticleVersionContentRepo: Repository<BaseArticleVersionContentEntity>, baseCategoryRepo: Repository<BaseCategoryEntity>, multipleLanguageMode: boolean, fullTextSearchMode: boolean, draftMode: boolean, signatureLevels: string[] | SignatureLevelEntity[], signatureLevelRepo: Repository<BaseSignatureLevelEntity>, articleSignatureRepo: Repository<ArticleSignatureEntity>, autoReleaseAfterApproved: boolean, dataSource: DataSource, articleDataLoader: ArticleDataLoader, signatureService: SignatureService<SignatureLevelEntity>);
private readonly logger;
private readonly queryStagesFeaturesCheck;
private limitStageWithQueryBuilder;
private getDefaultQueryBuilder;
private bindSearchTokens;
onApplicationBootstrap(): Promise<void>;
findById<A extends ArticleEntity = ArticleEntity, AV extends ArticleVersionEntity = ArticleVersionEntity, AVC extends ArticleVersionContentEntity = ArticleVersionContentEntity>(id: string, options?: ArticleFindByIdBaseDto, runner?: QueryRunner): Promise<ArticleBaseDto<A, AV, AVC>>;
findById<A extends ArticleEntity = ArticleEntity, AV extends ArticleVersionEntity = ArticleVersionEntity, AVC extends ArticleVersionContentEntity = ArticleVersionContentEntity>(id: string, options?: ArticleFindByIdBaseDto & {
language: Language;
}, runner?: QueryRunner): Promise<SingleArticleBaseDto<A, AV, AVC>>;
private getFindAllQueryBuilder;
findCollection<A extends ArticleEntity = ArticleEntity, AV extends ArticleVersionEntity = ArticleVersionEntity, AVC extends ArticleVersionContentEntity = ArticleVersionContentEntity>(options?: ArticleFindAllDto & {
language: Language;
}): Promise<SingleArticleCollectionDto<A, AV, AVC>>;
findCollection<A extends ArticleEntity = ArticleEntity, AV extends ArticleVersionEntity = ArticleVersionEntity, AVC extends ArticleVersionContentEntity = ArticleVersionContentEntity>(options?: ArticleFindAllDto): Promise<ArticleCollectionDto<A, AV, AVC>>;
findAll<A extends ArticleEntity = ArticleEntity, AV extends ArticleVersionEntity = ArticleVersionEntity, AVC extends ArticleVersionContentEntity = ArticleVersionContentEntity>(options?: ArticleFindAllDto & {
language: Language;
}): Promise<SingleArticleBaseDto<A, AV, AVC>[]>;
findAll<A extends ArticleEntity = ArticleEntity, AV extends ArticleVersionEntity = ArticleVersionEntity, AVC extends ArticleVersionContentEntity = ArticleVersionContentEntity>(options?: ArticleFindAllDto): Promise<ArticleBaseDto<A, AV, AVC>[]>;
deleteVersion(id: string, version: number): Promise<void>;
archive(id: string): Promise<void>;
withdraw<A extends ArticleEntity = ArticleEntity, AV extends ArticleVersionEntity = ArticleVersionEntity, AVC extends ArticleVersionContentEntity = ArticleVersionContentEntity>(id: string, version: number): Promise<ArticleBaseDto<A, AV, AVC>>;
release<A extends ArticleEntity = ArticleEntity, AV extends ArticleVersionEntity = ArticleVersionEntity, AVC extends ArticleVersionContentEntity = ArticleVersionContentEntity>(id: string, options?: {
releasedAt?: Date;
version?: number;
userId?: string;
}): Promise<ArticleBaseDto<A, AV, AVC>>;
submit<A extends ArticleEntity = ArticleEntity, AV extends ArticleVersionEntity = ArticleVersionEntity, AVC extends ArticleVersionContentEntity = ArticleVersionContentEntity>(id: string, options?: {
userId?: string;
}): Promise<ArticleBaseDto<A, AV, AVC>>;
putBack<A extends ArticleEntity = ArticleEntity, AV extends ArticleVersionEntity = ArticleVersionEntity, AVC extends ArticleVersionContentEntity = ArticleVersionContentEntity>(id: string): Promise<ArticleBaseDto<A, AV, AVC>>;
private getPlacedArticleStage;
private optionsCheck;
addVersion<A extends ArticleEntity = ArticleEntity, AV extends ArticleVersionEntity = ArticleVersionEntity, AVC extends ArticleVersionContentEntity = ArticleVersionContentEntity>(id: string, options: SingleArticleCreateDto<A, AV, AVC>): Promise<ArticleBaseDto<A, AV, AVC>>;
addVersion<A extends ArticleEntity = ArticleEntity, AV extends ArticleVersionEntity = ArticleVersionEntity, AVC extends ArticleVersionContentEntity = ArticleVersionContentEntity>(id: string, options: MultiLanguageArticleCreateDto<A, AV, AVC>): Promise<ArticleBaseDto<A, AV, AVC>>;
create<A extends ArticleEntity = ArticleEntity, AV extends ArticleVersionEntity = ArticleVersionEntity, AVC extends ArticleVersionContentEntity = ArticleVersionContentEntity>(options: SingleArticleCreateDto<A, AV, AVC>): Promise<ArticleBaseDto<A, AV, AVC>>;
create<A extends ArticleEntity = ArticleEntity, AV extends ArticleVersionEntity = ArticleVersionEntity, AVC extends ArticleVersionContentEntity = ArticleVersionContentEntity>(options: MultiLanguageArticleCreateDto<A, AV, AVC>): Promise<ArticleBaseDto<A, AV, AVC>>;
rejectVersion<A extends ArticleEntity = ArticleEntity, AV extends ArticleVersionEntity = ArticleVersionEntity, AVC extends ArticleVersionContentEntity = ArticleVersionContentEntity>(articleVersion: {
id: string;
}, signatureInfo?: SignatureInfoDto<SignatureLevelEntity> & {
reason?: string | null;
runner?: QueryRunner;
}): Promise<ArticleBaseDto<A, AV, AVC>>;
approveVersion<A extends ArticleEntity = ArticleEntity, AV extends ArticleVersionEntity = ArticleVersionEntity, AVC extends ArticleVersionContentEntity = ArticleVersionContentEntity>(articleVersion: {
id: string;
version: number;
}, signatureInfo?: SignatureInfoDto<SignatureLevelEntity> & {
runner?: QueryRunner;
}): Promise<ArticleBaseDto<A, AV, AVC>>;
private signature;
private updateSignaturedArticleStageCache;
refreshSignatureLevelsCache(): Promise<void>;
}