UNPKG

coffee-core

Version:

Coffee IT API core library

30 lines (22 loc) 862 B
import { SubscriberService } from './subscriber-service'; import { OnApplicationBootstrap, OnModuleDestroy, OnModuleInit } from '@nestjs/common'; export abstract class SubscriberController implements OnApplicationBootstrap, OnModuleInit, OnModuleDestroy { protected subscribers: SubscriberService[]; public async onModuleInit(): Promise<void> { this.subscribers = this.initializeSubscribers(); for (const subscriber of this.subscribers) { await subscriber.subscribe(); } } public async onApplicationBootstrap(): Promise<void> { for (const subscriber of this.subscribers) { await subscriber.start(); } } public async onModuleDestroy(): Promise<void> { for (const subscriber of this.subscribers) { await subscriber.close(); } } protected abstract initializeSubscribers(): SubscriberService[]; }