This repository has been archived on 2024-10-29. You can view files and clone it, but cannot push or open issues or pull requests.
Files
scoresaber-reloadedv3/projects/backend/src/service/app.service.ts

28 lines
1.1 KiB
TypeScript
Raw Normal View History

import { PlayerModel } from "@ssr/common/model/player";
2024-10-12 04:12:35 +01:00
import { AppStatistics } from "@ssr/common/types/backend/app-statistics";
2024-10-24 14:36:24 +01:00
import { ScoreSaberScoreModel } from "@ssr/common/model/score/impl/scoresaber-score";
import { AdditionalScoreDataModel } from "@ssr/common/model/additional-score-data/additional-score-data";
import { BeatSaverMapModel } from "@ssr/common/model/beatsaver/map";
2024-10-26 13:13:32 +01:00
import { ScoreSaberLeaderboardModel } from "@ssr/common/model/leaderboard/impl/scoresaber-leaderboard";
2024-10-12 04:12:35 +01:00
export class AppService {
/**
* Gets the app statistics.
*/
public static async getAppStatistics(): Promise<AppStatistics> {
const trackedPlayers = await PlayerModel.countDocuments();
2024-10-24 14:36:24 +01:00
const trackedScores = await ScoreSaberScoreModel.countDocuments();
const additionalScoresData = await AdditionalScoreDataModel.countDocuments();
const cachedBeatSaverMaps = await BeatSaverMapModel.countDocuments();
2024-10-26 13:13:32 +01:00
const cachedScoreSaberLeaderboards = await ScoreSaberLeaderboardModel.countDocuments();
2024-10-12 04:12:35 +01:00
return {
trackedPlayers,
2024-10-24 14:36:24 +01:00
trackedScores,
additionalScoresData,
cachedBeatSaverMaps,
2024-10-26 13:13:32 +01:00
cachedScoreSaberLeaderboards,
2024-10-12 04:12:35 +01:00
};
}
}