2023-03-03 16:23:46 +01:00
|
|
|
import { inject, injectable } from "tsyringe";
|
|
|
|
|
|
|
|
import { LauncherController } from "../controllers/LauncherController";
|
|
|
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
|
|
|
import { IChangeRequestData } from "../models/eft/launcher/IChangeRequestData";
|
|
|
|
import { ILoginRequestData } from "../models/eft/launcher/ILoginRequestData";
|
|
|
|
import { IRegisterData } from "../models/eft/launcher/IRegisterData";
|
|
|
|
import { IRemoveProfileData } from "../models/eft/launcher/IRemoveProfileData";
|
|
|
|
import { SaveServer } from "../servers/SaveServer";
|
|
|
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
|
|
|
import { Watermark } from "../utils/Watermark";
|
|
|
|
|
|
|
|
@injectable()
|
|
|
|
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());
|
|
|
|
}
|
|
|
|
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
|
|
public login(url: string, info: ILoginRequestData, sessionID: string): string
|
|
|
|
{
|
|
|
|
const output = this.launcherController.login(info);
|
|
|
|
return (!output) ? "FAILED" : output;
|
|
|
|
}
|
|
|
|
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
|
|
public register(url: string, info: IRegisterData, sessionID: string): "FAILED" | "OK"
|
|
|
|
{
|
|
|
|
const output = this.launcherController.register(info);
|
|
|
|
return (!output) ? "FAILED" : "OK";
|
|
|
|
}
|
|
|
|
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
|
|
public get(url: string, info: ILoginRequestData, sessionID: string): string
|
|
|
|
{
|
|
|
|
const output = this.launcherController.find(this.launcherController.login(info));
|
|
|
|
return this.httpResponse.noBody(output);
|
|
|
|
}
|
|
|
|
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
|
|
public changeUsername(url: string, info: IChangeRequestData, sessionID: string): "FAILED" | "OK"
|
|
|
|
{
|
|
|
|
const output = this.launcherController.changeUsername(info);
|
|
|
|
return (!output) ? "FAILED" : "OK";
|
|
|
|
}
|
|
|
|
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
|
|
public changePassword(url: string, info: IChangeRequestData, sessionID: string): "FAILED" | "OK"
|
|
|
|
{
|
|
|
|
const output = this.launcherController.changePassword(info);
|
|
|
|
return (!output) ? "FAILED" : "OK";
|
|
|
|
}
|
|
|
|
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
|
|
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());
|
|
|
|
}
|
|
|
|
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
|
|
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());
|
|
|
|
}
|
2023-08-10 15:29:09 +02:00
|
|
|
|
|
|
|
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));
|
|
|
|
}
|
2023-03-03 16:23:46 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
export { LauncherCallbacks };
|
2023-08-10 15:29:09 +02:00
|
|
|
|