remove replay stuff
All checks were successful
Deploy Backend / docker (ubuntu-latest) (push) Successful in 40s
All checks were successful
Deploy Backend / docker (ubuntu-latest) (push) Successful in 40s
This commit is contained in:
parent
8f617aca82
commit
899c3e11e6
@ -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 { connectScoreSaberWebSocket } from "@ssr/common/websocket/scoresaber-websocket";
|
||||
import ImageController from "./controller/image.controller";
|
||||
import ReplayController from "./controller/replay.controller";
|
||||
import { ScoreService } from "./service/score.service";
|
||||
import { Config } from "@ssr/common/config";
|
||||
import { PlayerDocument, PlayerModel } from "@ssr/common/model/player";
|
||||
@ -148,14 +147,7 @@ app.use(
|
||||
*/
|
||||
app.use(
|
||||
decorators({
|
||||
controllers: [
|
||||
AppController,
|
||||
PlayerController,
|
||||
ImageController,
|
||||
ReplayController,
|
||||
ScoresController,
|
||||
LeaderboardController,
|
||||
],
|
||||
controllers: [AppController, PlayerController, ImageController, 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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user