UNPKG

@rytass/cms-base-nestjs-module

Version:

Rytass Content Management System NestJS Base Module

87 lines (86 loc) 8.13 kB
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>; }