Server/project/src/routers/dynamic/NotifierDynamicRouter.ts
2023-11-13 11:12:17 -05:00

47 lines
1.7 KiB
TypeScript

import { inject, injectable } from "tsyringe";
import { NotifierCallbacks } from "@spt-aki/callbacks/NotifierCallbacks";
import { DynamicRouter, RouteAction } from "@spt-aki/di/Router";
@injectable()
export class NotifierDynamicRouter extends DynamicRouter
{
constructor(
@inject("NotifierCallbacks") protected notifierCallbacks: NotifierCallbacks,
)
{
super(
[
new RouteAction(
"/?last_id",
(url: string, info: any, sessionID: string, output: string): any =>
{
return this.notifierCallbacks.notify(url, info, sessionID);
},
),
new RouteAction(
"/notifierServer",
(url: string, info: any, sessionID: string, output: string): any =>
{
return this.notifierCallbacks.notify(url, info, sessionID);
},
),
new RouteAction(
"/push/notifier/get/",
(url: string, info: any, sessionID: string, output: string): any =>
{
return this.notifierCallbacks.getNotifier(url, info, sessionID);
},
),
new RouteAction(
"/push/notifier/getwebsocket/",
(url: string, info: any, sessionID: string, output: string): any =>
{
return this.notifierCallbacks.getNotifier(url, info, sessionID);
},
),
],
);
}
}