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