nise/nise-frontend/src/app/replays.ts

210 lines
4.8 KiB
TypeScript
Raw Normal View History

export interface ReplayDataChart {
title: string;
data: number[];
}
2024-02-25 22:49:38 +00:00
export interface ReplayDataSimilarScore {
replay_id: number;
user_id: number;
date: string;
pp: number;
username: string;
similarity: number;
correlation: number;
}
2024-03-04 23:32:57 +00:00
export interface UserReplayData {
replay_id: string;
osu_replay_id?: string;
username: string;
beatmap_id: number;
beatmap_beatmapset_id: number;
beatmap_artist: string;
beatmap_title: string;
beatmap_star_rating: number;
beatmap_creator: string;
beatmap_version: string;
score: number;
mods: string[];
ur?: number;
adjusted_ur?: number;
frametime: number;
snaps: number;
hits: number;
mean_error?: number;
error_variance?: number;
error_standard_deviation?: number;
minimum_error?: number;
maximum_error?: number;
error_range?: number;
error_coefficient_of_variation?: number;
error_kurtosis?: number;
error_skewness?: number;
perfect: boolean;
max_combo: number;
count_300: number;
count_100: number;
count_50: number;
count_miss: number;
comparable_samples?: number;
comparable_mean_error?: number,
comparable_error_variance?: number,
comparable_error_standard_deviation?: number,
comparable_minimum_error?: number,
comparable_maximum_error?: number,
comparable_error_range?: number,
comparable_error_coefficient_of_variation?: number,
comparable_error_kurtosis?: number,
comparable_error_skewness?: number,
similar_scores: ReplayDataSimilarScore[];
error_distribution: ErrorDistribution;
charts: ReplayDataChart[];
}
2024-03-05 12:24:47 +00:00
export function getMockReplayData(): ReplayData {
return {
'replay_id': 123,
'user_id': 123,
'username': 'username',
'date': 'date',
'beatmap_id': 123,
'beatmap_beatmapset_id': 123,
'beatmap_artist': 'beatmap_artist',
'beatmap_title': 'beatmap_title',
'beatmap_star_rating': 123,
'beatmap_creator': 'beatmap_creator',
'beatmap_version': 'beatmap_version',
'score': 123,
'mods': ['mods'],
'rank': 'rank',
'ur': 123,
'average_ur': 123,
'adjusted_ur': 123,
'frametime': 123,
'snaps': 123,
'hits': 123,
'pp': 123,
'perfect': true,
'max_combo': 123,
'mean_error': 123,
'error_variance': 123,
'error_standard_deviation': 123,
'minimum_error': 123,
'maximum_error': 123,
'error_range': 123,
'error_coefficient_of_variation': 123,
'error_kurtosis': 123,
'error_skewness': 123,
'count_300': 123,
'count_100': 123,
'count_50': 123,
'count_miss': 123,
'similar_scores': [],
'error_distribution': {},
'charts': []
};
}
2024-02-14 16:43:11 +00:00
export interface ReplayData {
2024-03-03 17:44:32 +00:00
replay_id: number | null;
2024-02-14 16:43:11 +00:00
user_id: number;
username: string;
date: string;
beatmap_id: number;
beatmap_beatmapset_id: number;
beatmap_artist: string;
beatmap_title: string;
beatmap_star_rating: number;
beatmap_creator: string;
beatmap_version: string;
score: number;
mods: string[];
rank: string;
ur: number;
average_ur: number | null;
adjusted_ur?: number;
frametime: number;
snaps: number;
hits: number;
pp: number,
perfect: boolean;
max_combo: number,
mean_error?: number,
error_variance?: number,
error_standard_deviation?: number,
minimum_error?: number,
maximum_error?: number,
error_range?: number,
error_coefficient_of_variation?: number,
error_kurtosis?: number,
error_skewness?: number,
comparable_samples?: number;
comparable_mean_error?: number,
comparable_error_variance?: number,
comparable_error_standard_deviation?: number,
comparable_minimum_error?: number,
comparable_maximum_error?: number,
comparable_error_range?: number,
comparable_error_coefficient_of_variation?: number,
comparable_error_kurtosis?: number,
comparable_error_skewness?: number,
count_300: number,
count_100: number,
count_50: number,
count_miss: number;
2024-02-25 22:49:38 +00:00
similar_scores: ReplayDataSimilarScore[];
2024-02-14 16:43:11 +00:00
error_distribution: ErrorDistribution;
charts: ReplayDataChart[];
2024-02-14 16:43:11 +00:00
}
export interface DistributionEntry {
percentageMiss: number;
percentage300: number;
percentage100: number;
percentage50: number;
}
export interface ErrorDistribution {
[key: number]: DistributionEntry;
}
export interface SuspiciousScore {
user_id: number;
username: string;
replay_id: number;
date: string;
beatmap_id: number;
beatmap_beatmapset_id: number;
beatmap_title: string;
beatmap_star_rating: number;
pp: number;
frametime: number;
ur: number;
}
export interface SimilarReplay {
replay_id_1: number;
replay_id_2: number;
username_1: string;
username_2: string;
beatmap_beatmapset_id: number;
replay_date_1: string;
replay_date_2: string;
replay_pp_1: number;
replay_pp_2: number;
beatmap_id: number;
beatmap_title: string;
beatmap_star_rating: number;
similarity: number;
}