Linter errors fixed
This commit is contained in:
parent
c0cf36a892
commit
f47268fea3
1 changed files with 44 additions and 33 deletions
|
|
@ -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<WsResponse<RedmineIssueData[]>>;
|
||||
|
||||
private issueNumberParser: RegExp;
|
||||
private issuesChangesQueueParams: IssuesChangesQueueParams
|
||||
private issuesChangesQueueParams: IssuesChangesQueueParams;
|
||||
|
||||
constructor(
|
||||
private config: ConfigService,
|
||||
private redmineDataLoader: RedmineDataLoader
|
||||
private redmineDataLoader: RedmineDataLoader,
|
||||
) {
|
||||
this.issuesChangesQueueParams = this.config.get<IssuesChangesQueueParams>("issueChangesQueue")
|
||||
this.issuesChangesQueueParams =
|
||||
this.config.get<IssuesChangesQueueParams>('issueChangesQueue');
|
||||
this.initRedmineEventsGateway();
|
||||
}
|
||||
|
||||
@SubscribeMessage('issues-changes')
|
||||
issuesChanges(@MessageBody() data: any): Observable<WsResponse<RedmineIssueData[]>> {
|
||||
issuesChanges(
|
||||
@MessageBody() data: any,
|
||||
): Observable<WsResponse<RedmineIssueData[]>> {
|
||||
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<any>('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<any>('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<number, RedmineIssueData> = 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<number, RedmineIssueData> = 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();
|
||||
|
|
|
|||
Loading…
Reference in a new issue