95 lines
3.4 KiB
TypeScript
95 lines
3.4 KiB
TypeScript
import { inject, injectable } from "tsyringe";
|
|
|
|
import { LauncherController } from "@spt-aki/controllers/LauncherController";
|
|
import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData";
|
|
import { IChangeRequestData } from "@spt-aki/models/eft/launcher/IChangeRequestData";
|
|
import { ILoginRequestData } from "@spt-aki/models/eft/launcher/ILoginRequestData";
|
|
import { IRegisterData } from "@spt-aki/models/eft/launcher/IRegisterData";
|
|
import { IRemoveProfileData } from "@spt-aki/models/eft/launcher/IRemoveProfileData";
|
|
import { SaveServer } from "@spt-aki/servers/SaveServer";
|
|
import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil";
|
|
import { Watermark } from "@spt-aki/utils/Watermark";
|
|
|
|
@injectable()
|
|
export class LauncherCallbacks
|
|
{
|
|
constructor(
|
|
@inject("HttpResponseUtil") protected httpResponse: HttpResponseUtil,
|
|
@inject("LauncherController") protected launcherController: LauncherController,
|
|
@inject("SaveServer") protected saveServer: SaveServer,
|
|
@inject("Watermark") protected watermark: Watermark,
|
|
)
|
|
{}
|
|
|
|
public connect(): string
|
|
{
|
|
return this.httpResponse.noBody(this.launcherController.connect());
|
|
}
|
|
|
|
public login(url: string, info: ILoginRequestData, sessionID: string): string
|
|
{
|
|
const output = this.launcherController.login(info);
|
|
return (!output) ? "FAILED" : output;
|
|
}
|
|
|
|
public register(url: string, info: IRegisterData, sessionID: string): "FAILED" | "OK"
|
|
{
|
|
const output = this.launcherController.register(info);
|
|
return (!output) ? "FAILED" : "OK";
|
|
}
|
|
|
|
public get(url: string, info: ILoginRequestData, sessionID: string): string
|
|
{
|
|
const output = this.launcherController.find(this.launcherController.login(info));
|
|
return this.httpResponse.noBody(output);
|
|
}
|
|
|
|
public changeUsername(url: string, info: IChangeRequestData, sessionID: string): "FAILED" | "OK"
|
|
{
|
|
const output = this.launcherController.changeUsername(info);
|
|
return (!output) ? "FAILED" : "OK";
|
|
}
|
|
|
|
public changePassword(url: string, info: IChangeRequestData, sessionID: string): "FAILED" | "OK"
|
|
{
|
|
const output = this.launcherController.changePassword(info);
|
|
return (!output) ? "FAILED" : "OK";
|
|
}
|
|
|
|
public wipe(url: string, info: IRegisterData, sessionID: string): "FAILED" | "OK"
|
|
{
|
|
const output = this.launcherController.wipe(info);
|
|
return (!output) ? "FAILED" : "OK";
|
|
}
|
|
|
|
public getServerVersion(): string
|
|
{
|
|
return this.httpResponse.noBody(this.watermark.getVersionTag());
|
|
}
|
|
|
|
public ping(url: string, info: IEmptyRequestData, sessionID: string): string
|
|
{
|
|
return this.httpResponse.noBody("pong!");
|
|
}
|
|
|
|
public removeProfile(url: string, info: IRemoveProfileData, sessionID: string): string
|
|
{
|
|
return this.httpResponse.noBody(this.saveServer.removeProfile(sessionID));
|
|
}
|
|
|
|
public getCompatibleTarkovVersion(): string
|
|
{
|
|
return this.httpResponse.noBody(this.launcherController.getCompatibleTarkovVersion());
|
|
}
|
|
|
|
public getLoadedServerMods(): string
|
|
{
|
|
return this.httpResponse.noBody(this.launcherController.getLoadedServerMods());
|
|
}
|
|
|
|
public getServerModsProfileUsed(url: string, info: IEmptyRequestData, sessionId: string): string
|
|
{
|
|
return this.httpResponse.noBody(this.launcherController.getServerModsProfileUsed(sessionId));
|
|
}
|
|
}
|