diff --git a/libs/event-emitter/src/events/redmine-events.gateway.ts b/libs/event-emitter/src/events/redmine-events.gateway.ts index b9e20ae..788a61f 100644 --- a/libs/event-emitter/src/events/redmine-events.gateway.ts +++ b/libs/event-emitter/src/events/redmine-events.gateway.ts @@ -1,23 +1,29 @@ -import { MessageBody, SubscribeMessage, WebSocketGateway, WebSocketServer, WsResponse } from "@nestjs/websockets"; -import { Server } from "socket.io"; -import { Observable } from "rxjs"; -import { map } from "rxjs/operators"; -import { MailListener } from "../maillistener/maillistener"; -import { Queue } from "../queue/queue"; -import { RedmineDataLoader } from "../redmine-data-loader/redmine-data-loader"; -import { RedmineIssueData } from "../models/RedmineIssueData"; -import { ConfigService } from "@nestjs/config"; -import axios from "axios"; -import { WebhookConfigItemModel } from "../models/webhook-config-item-model"; -import { RssListener } from "../rsslistener/rsslistener"; -import { EventsListener } from "./events-listener"; +import { + MessageBody, + SubscribeMessage, + WebSocketGateway, + WebSocketServer, + WsResponse, +} from '@nestjs/websockets'; +import { Server } from 'socket.io'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; +import { MailListener } from '../maillistener/maillistener'; +import { Queue } from '../queue/queue'; +import { RedmineDataLoader } from '../redmine-data-loader/redmine-data-loader'; +import { RedmineIssueData } from '../models/RedmineIssueData'; +import { ConfigService } from '@nestjs/config'; +import axios from 'axios'; +import { WebhookConfigItemModel } from '../models/webhook-config-item-model'; +import { RssListener } from '../rsslistener/rsslistener'; +import { EventsListener } from './events-listener'; type IssuesChangesQueueParams = { - updateInterval: number, - itemsLimit: number -} + updateInterval: number; + itemsLimit: number; +}; -@WebSocketGateway({namespace: 'redmine-events'}) +@WebSocketGateway({ namespace: 'redmine-events' }) export class RedmineEventsGateway { @WebSocketServer() server: Server; @@ -25,18 +31,21 @@ export class RedmineEventsGateway { issuesChangesObservable: Observable>; private issueNumberParser: RegExp; - private issuesChangesQueueParams: IssuesChangesQueueParams + private issuesChangesQueueParams: IssuesChangesQueueParams; constructor( private config: ConfigService, - private redmineDataLoader: RedmineDataLoader + private redmineDataLoader: RedmineDataLoader, ) { - this.issuesChangesQueueParams = this.config.get("issueChangesQueue") + this.issuesChangesQueueParams = + this.config.get('issueChangesQueue'); this.initRedmineEventsGateway(); } @SubscribeMessage('issues-changes') - issuesChanges(@MessageBody() data: any): Observable> { + issuesChanges( + @MessageBody() data: any, + ): Observable> { return this.issuesChangesObservable; } @@ -55,7 +64,7 @@ export class RedmineEventsGateway { return []; } return res; - } + }, ); this.issuesChangesQueue.start(); } @@ -88,8 +97,8 @@ export class RedmineEventsGateway { }); } - private mailListener: MailListener|null|undefined; - private getMailListener(): MailListener|null { + private mailListener: MailListener | null | undefined; + private getMailListener(): MailListener | null { if (typeof this.mailListener === 'undefined') { const mailListenerParams = this.config.get('mailListener'); if (mailListenerParams) { @@ -101,8 +110,8 @@ export class RedmineEventsGateway { return this.mailListener; } - private rssListener: RssListener|null|undefined; - private getRssListener(): RssListener|null { + private rssListener: RssListener | null | undefined; + private getRssListener(): RssListener | null { if (typeof this.rssListener === 'undefined') { const rssListenerParams = this.config.get('rssListener'); if (rssListenerParams) { @@ -114,8 +123,8 @@ export class RedmineEventsGateway { return this.rssListener; } - private listener: EventsListener|null|undefined; - private getMainListener(): EventsListener|null { + private listener: EventsListener | null | undefined; + private getMainListener(): EventsListener | null { if (typeof this.listener !== 'undefined') { return this.listener; } @@ -137,14 +146,16 @@ export class RedmineEventsGateway { private initWebSocketsSendData(): void { const queue: Queue = this.getIssuesChangesQueue(); - this.issuesChangesObservable = queue.queue.pipe(map(data => { - return {event: 'issues-changes', data: data} - })); + this.issuesChangesObservable = queue.queue.pipe( + map((data) => { + return { event: 'issues-changes', data: data }; + }), + ); } private initWebHooksSendData(): void { const queue: Queue = this.getIssuesChangesQueue(); - queue.queue.subscribe(data => this.sendWebHookFullDataEvents(data)); + queue.queue.subscribe((data) => this.sendWebHookFullDataEvents(data)); } private initRedmineEventsGateway(): boolean { @@ -154,7 +165,7 @@ export class RedmineEventsGateway { return false; } const issuesChangesQueue = this.getIssuesChangesQueue(); - listener.issues.subscribe(issues => { + listener.issues.subscribe((issues) => { issuesChangesQueue.add(issues); }); this.initWebSocketsSendData();