0
0
mirror of https://github.com/sp-tarkov/server.git synced 2025-02-13 09:50:43 -05:00
server/project/src/callbacks/AchievementCallbacks.ts
Refringe 90492f3aa2
Formatting
Have you been using the recommended VSCode extensions? ;)
2024-02-02 15:00:21 -05:00

47 lines
1.8 KiB
TypeScript

import { AchievementController } from "@spt-aki/controllers/AchievementController";
import { ProfileController } from "@spt-aki/controllers/ProfileController";
import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData";
import { IAchievement } from "@spt-aki/models/eft/common/tables/IAchievement";
import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData";
import { ICompletedAchievementsResponse } from "@spt-aki/models/eft/profile/ICompletedAchievementsResponse";
import { IGetAchievementsResponse } from "@spt-aki/models/eft/profile/IGetAchievementsResponse";
import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil";
import { inject, injectable } from "tsyringe";
@injectable()
export class AchievementCallbacks
{
constructor(
@inject("AchievementController") protected achievementController: AchievementController,
@inject("ProfileController") protected profileController: ProfileController,
@inject("HttpResponseUtil") protected httpResponse: HttpResponseUtil,
)
{}
/**
* Handle client/achievement/list
*/
// eslint-disable-next-line @typescript-eslint/no-unused-vars
public getAchievements(
url: string,
info: IEmptyRequestData,
sessionID: string,
): IGetBodyResponseData<IGetAchievementsResponse>
{
return this.httpResponse.getBody(this.achievementController.getAchievements(sessionID));
}
/**
* Handle client/achievement/statistic
*/
// eslint-disable-next-line @typescript-eslint/no-unused-vars
public statistic(
url: string,
info: IEmptyRequestData,
sessionID: string,
): IGetBodyResponseData<ICompletedAchievementsResponse>
{
return this.httpResponse.getBody(this.achievementController.getAchievementStatistics(sessionID));
}
}