Server/project/src/routers/dynamic/NotifierDynamicRouter.ts

47 lines
1.7 KiB
TypeScript
Raw Normal View History

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