106 lines
2.1 KiB
TypeScript
106 lines
2.1 KiB
TypeScript
export interface User {
|
|
id: string;
|
|
account: string;
|
|
username: string;
|
|
avatar_store_url: string | null;
|
|
is_admin: boolean;
|
|
access_token: string
|
|
nickname?: string
|
|
email: string
|
|
user_id?: string
|
|
refresh_token?: string
|
|
avatar_file_url?: string
|
|
}
|
|
|
|
interface UserCountData {
|
|
video_count: number,
|
|
photo_count: number,
|
|
live_count: number,
|
|
video_length: number,
|
|
cover_url: string | null
|
|
}
|
|
export interface CountData {
|
|
used_bytes: number;
|
|
total_bytes: number;
|
|
counter: {
|
|
user_id: number;
|
|
total_count: UserCountData,
|
|
category_count: {
|
|
[key: string]: UserCountData
|
|
}
|
|
}
|
|
}
|
|
|
|
interface Counter {
|
|
user_id: number,
|
|
total_count: UserCountData,
|
|
category_count: {
|
|
[key: string]: UserCountData
|
|
}
|
|
}
|
|
export interface TitleRankings {
|
|
display_name: string,
|
|
ranking: number,
|
|
value: number,
|
|
material_type: string,
|
|
user_id: string,
|
|
region: string
|
|
}
|
|
export interface UserInfoDetails {
|
|
material_counter: Counter,
|
|
user_info: User,
|
|
stories_count: number,
|
|
conversations_count: number,
|
|
remain_points: number,
|
|
total_points: number,
|
|
title_rankings: TitleRankings[],
|
|
total_bytes: number,
|
|
medal_infos: {
|
|
"id": number,
|
|
"url": string
|
|
}[],
|
|
membership_level: string
|
|
}
|
|
|
|
|
|
export type SourceItem = {
|
|
id: number;
|
|
name: string;
|
|
display_name: string;
|
|
statistical_granularity: 'Count' | 'Duration';
|
|
};
|
|
|
|
export type GroupedData = {
|
|
[key: string]: SourceItem[];
|
|
};
|
|
|
|
export type TargetItem = {
|
|
name: string;
|
|
children: { name: string, value: number }[];
|
|
};
|
|
|
|
export type RankingItem = {
|
|
display_name: string
|
|
material_type: string
|
|
ranking: number
|
|
region: string
|
|
user_avatar_url: string
|
|
user_id: string
|
|
value: number
|
|
user_nick_name: string
|
|
}
|
|
|
|
export interface Address {
|
|
city: string;
|
|
country: string;
|
|
district: string;
|
|
formattedAddress: string;
|
|
isoCountryCode: string;
|
|
name: string;
|
|
postalCode: string | null;
|
|
region: string;
|
|
street: string;
|
|
streetNumber: string;
|
|
subregion: string | null;
|
|
timezone: string | null;
|
|
} |