UNPKG

coffee-core

Version:

Coffee IT API core library

35 lines (30 loc) 940 B
import { OnApplicationBootstrap, OnModuleDestroy } from '@nestjs/common'; import { ClientConfigInterface } from './client-config.interface'; import { ClientConnector } from './client-connector'; import { ConnectableClient } from './connectable-client.interface'; export abstract class ClientConnectorService implements OnApplicationBootstrap, OnModuleDestroy { private readonly connector: ClientConnector; protected readonly client: ConnectableClient; protected constructor( config: ClientConfigInterface, client: ConnectableClient, serviceName: string, context?: string, ) { this.client = client; this.connector = new ClientConnector( config, client, serviceName, context ?? this.constructor.name, ); } public async onApplicationBootstrap(): Promise<void> { await this.connector.connect(); } public onModuleDestroy(): void { this.connector.destroy(); } }