@rytass/cms-base-nestjs-module
Version:
Rytass Content Management System NestJS Base Module
33 lines (32 loc) • 1.85 kB
TypeScript
import { OnApplicationBootstrap } from '@nestjs/common';
import { BaseSignatureLevelEntity } from '../models/base-signature-level.entity';
import { DataSource, Repository } from 'typeorm';
import { ArticleSignatureEntity } from '../models/base-article-signature.entity';
import { BaseArticleVersionEntity } from '../models/base-article-version.entity';
import { SignatureInfoDto } from '../typings/signature-info.dto';
export declare class ArticleSignatureService<SignatureLevelEntity extends BaseSignatureLevelEntity = BaseSignatureLevelEntity> implements OnApplicationBootstrap {
private readonly articleVersionRepo;
private readonly signatureMode;
private readonly signatureLevels;
private readonly signatureLevelRepo;
private readonly articleSignatureRepo;
private readonly draftMode;
private readonly autoReleaseAfterApproved;
private readonly dataSource;
constructor(articleVersionRepo: Repository<BaseArticleVersionEntity>, signatureMode: boolean, signatureLevels: string[] | SignatureLevelEntity[], signatureLevelRepo: Repository<BaseSignatureLevelEntity>, articleSignatureRepo: Repository<ArticleSignatureEntity>, draftMode: boolean, autoReleaseAfterApproved: boolean, dataSource: DataSource);
private signatureLevelsCache;
get finalSignatureLevel(): SignatureLevelEntity | null;
rejectVersion(articleVersion: {
id: string;
version: number;
}, signatureInfo?: SignatureInfoDto<SignatureLevelEntity> & {
reason?: string | null;
}): Promise<ArticleSignatureEntity>;
approveVersion(articleVersion: {
id: string;
version: number;
}, signatureInfo?: SignatureInfoDto<SignatureLevelEntity>): Promise<ArticleSignatureEntity>;
private signature;
refreshSignatureLevelsCache(): Promise<void>;
onApplicationBootstrap(): Promise<void>;
}