remove replay stuff
All checks were successful
Deploy Backend / docker (ubuntu-latest) (push) Successful in 40s

This commit is contained in:
Lee 2024-10-19 17:51:24 +01:00
parent 8f617aca82
commit 899c3e11e6
3 changed files with 1 additions and 57 deletions

@ -1,21 +0,0 @@
import { Controller, Get } from "elysia-decorators";
import { t } from "elysia";
import { ReplayService } from "../service/replay.service";
@Controller("/replay")
export default class ReplayController {
@Get("/:playerId/:leaderboardId", {
config: {},
params: t.Object({
playerId: t.String({ required: true }),
leaderboardId: t.String({ required: true }),
}),
})
public async getOpenGraphImage({
params: { playerId, leaderboardId },
}: {
params: { playerId: string; leaderboardId: string };
}) {
return ReplayService.getReplay(playerId, leaderboardId);
}
}

@ -16,7 +16,6 @@ import { scoresaberService } from "@ssr/common/service/impl/scoresaber";
import { delay, isProduction } from "@ssr/common/utils/utils"; import { delay, isProduction } from "@ssr/common/utils/utils";
import { connectScoreSaberWebSocket } from "@ssr/common/websocket/scoresaber-websocket"; import { connectScoreSaberWebSocket } from "@ssr/common/websocket/scoresaber-websocket";
import ImageController from "./controller/image.controller"; import ImageController from "./controller/image.controller";
import ReplayController from "./controller/replay.controller";
import { ScoreService } from "./service/score.service"; import { ScoreService } from "./service/score.service";
import { Config } from "@ssr/common/config"; import { Config } from "@ssr/common/config";
import { PlayerDocument, PlayerModel } from "@ssr/common/model/player"; import { PlayerDocument, PlayerModel } from "@ssr/common/model/player";
@ -148,14 +147,7 @@ app.use(
*/ */
app.use( app.use(
decorators({ decorators({
controllers: [ controllers: [AppController, PlayerController, ImageController, ScoresController, LeaderboardController],
AppController,
PlayerController,
ImageController,
ReplayController,
ScoresController,
LeaderboardController,
],
}) })
); );

@ -1,27 +0,0 @@
import ky from "ky";
import { NotFoundError } from "../error/not-found-error";
const SCORESABER_REPLAY_ENDPOINT = "https://scoresaber.com/api/game/telemetry/downloadReplay";
export class ReplayService {
/**
* Gets the app statistics.
*/
public static async getReplay(playerId: string, leaderboardId: string) {
const response = await ky.get(SCORESABER_REPLAY_ENDPOINT, {
searchParams: {
playerId,
leaderboardId,
},
headers: {
"User-Agent": "ScoreSaber-PC/3.3.13",
},
});
const replayData = await response.arrayBuffer();
if (replayData === undefined) {
throw new NotFoundError(`Replay for player "${playerId}" and leaderboard "${leaderboardId}" not found`);
}
return replayData;
}
}