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 { 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;
|
|
||||||
}
|
|
||||||
}
|
|
Reference in New Issue
Block a user