import { ICommonNode } from './ICommonNode'; import { ApplicationInstall } from '../Application/Database/ApplicationInstall'; import MongoDbClient from '../Storage/Mongodb/Client'; import { IApplication } from '../Application/Base/IApplication'; import ProcessDto from '../Utils/ProcessDto'; export default abstract class ACommonNode implements ICommonNode { private application?; private db?; abstract processAction(dto: ProcessDto): Promise | ProcessDto; abstract getName(): string; setApplication(application: IApplication): ACommonNode; setDb(db: MongoDbClient): ACommonNode; protected get _application(): IApplication; protected get _dbClient(): MongoDbClient; protected _getApplicationInstall(user?: string): Promise; protected _getApplicationInstallFromHeaders(dto: ProcessDto): Promise; }