coffee-core
Version:
Coffee IT API core library
35 lines (30 loc) • 940 B
text/typescript
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();
}
}