29 lines
944 B
TypeScript
29 lines
944 B
TypeScript
|
import { inject, injectable } from "tsyringe";
|
||
|
import { INotification } from "../models/eft/notifier/INotifier";
|
||
|
import { WebSocketServer } from "../servers/WebSocketServer";
|
||
|
import { NotificationService } from "../services/NotificationService";
|
||
|
|
||
|
@injectable()
|
||
|
export class NotificationSendHelper
|
||
|
{
|
||
|
constructor(
|
||
|
@inject("WebSocketServer") protected webSocketServer: WebSocketServer,
|
||
|
@inject("NotificationService") protected notificationService: NotificationService
|
||
|
)
|
||
|
{}
|
||
|
|
||
|
/**
|
||
|
* Send notification message to the appropriate channel
|
||
|
*/
|
||
|
public sendMessage(sessionID: string, notificationMessage: INotification): void
|
||
|
{
|
||
|
if (this.webSocketServer.isConnectionWebSocket(sessionID))
|
||
|
{
|
||
|
this.webSocketServer.sendMessage(sessionID, notificationMessage);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
this.notificationService.add(sessionID, notificationMessage);
|
||
|
}
|
||
|
}
|
||
|
}
|