2023-12-27 17:15:38 +00:00
|
|
|
import { AchievementController } from "@spt-aki/controllers/AchievementController";
|
2023-12-27 22:43:42 +00:00
|
|
|
import { ProfileController } from "@spt-aki/controllers/ProfileController";
|
2023-12-27 15:05:07 +00:00
|
|
|
import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData";
|
2023-12-27 22:43:42 +00:00
|
|
|
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";
|
2023-12-27 15:05:07 +00:00
|
|
|
import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil";
|
|
|
|
import { inject, injectable } from "tsyringe";
|
|
|
|
|
|
|
|
@injectable()
|
|
|
|
export class AchievementCallbacks
|
|
|
|
{
|
|
|
|
constructor(
|
2023-12-27 17:15:38 +00:00
|
|
|
@inject("AchievementController") protected achievementController: AchievementController,
|
2023-12-27 22:43:42 +00:00
|
|
|
@inject("ProfileController") protected profileController: ProfileController,
|
2023-12-27 15:05:07 +00:00
|
|
|
@inject("HttpResponseUtil") protected httpResponse: HttpResponseUtil,
|
|
|
|
)
|
|
|
|
{}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Handle client/achievement/list
|
|
|
|
*/
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
2024-02-02 13:54:07 -05:00
|
|
|
public getAchievements(
|
|
|
|
url: string,
|
|
|
|
info: IEmptyRequestData,
|
|
|
|
sessionID: string,
|
|
|
|
): IGetBodyResponseData<IGetAchievementsResponse>
|
2023-12-27 15:05:07 +00:00
|
|
|
{
|
2023-12-27 17:15:38 +00:00
|
|
|
return this.httpResponse.getBody(this.achievementController.getAchievements(sessionID));
|
2023-12-27 15:05:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Handle client/achievement/statistic
|
|
|
|
*/
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
2024-02-02 13:54:07 -05:00
|
|
|
public statistic(
|
|
|
|
url: string,
|
|
|
|
info: IEmptyRequestData,
|
|
|
|
sessionID: string,
|
|
|
|
): IGetBodyResponseData<ICompletedAchievementsResponse>
|
2023-12-27 15:05:07 +00:00
|
|
|
{
|
2024-01-04 21:28:47 +00:00
|
|
|
return this.httpResponse.getBody(this.achievementController.getAchievementStatistics(sessionID));
|
2023-12-27 15:05:07 +00:00
|
|
|
}
|
2024-02-02 13:54:07 -05:00
|
|
|
}
|