mirror of
https://github.com/Buriburizaem0n/nezha-dash-v1.git
synced 2026-02-04 12:40:10 +00:00
161 lines
2.9 KiB
TypeScript
161 lines
2.9 KiB
TypeScript
export interface NezhaWebsocketResponse {
|
|
now: number;
|
|
servers: NezhaServer[];
|
|
}
|
|
|
|
export interface NezhaServer {
|
|
id: number;
|
|
name: string;
|
|
last_active: string;
|
|
country_code: string;
|
|
host: NezhaServerHost;
|
|
state: NezhaServerStatus;
|
|
}
|
|
|
|
export interface NezhaServerHost {
|
|
platform: string;
|
|
platform_version: string;
|
|
cpu: string[];
|
|
mem_total: number;
|
|
disk_total: number;
|
|
swap_total: number;
|
|
arch: string;
|
|
boot_time: number;
|
|
country_code: string;
|
|
version: string;
|
|
}
|
|
|
|
export interface NezhaServerStatus {
|
|
cpu: number;
|
|
mem_used: number;
|
|
swap_used: number;
|
|
disk_used: number;
|
|
net_in_transfer: number;
|
|
net_out_transfer: number;
|
|
net_in_speed: number;
|
|
net_out_speed: number;
|
|
uptime: number;
|
|
load_1: number;
|
|
load_5: number;
|
|
load_15: number;
|
|
tcp_conn_count: number;
|
|
udp_conn_count: number;
|
|
process_count: number;
|
|
temperatures: number;
|
|
gpu: number;
|
|
}
|
|
|
|
export interface ServerGroupResponse {
|
|
success: boolean;
|
|
data: ServerGroup[];
|
|
}
|
|
|
|
export interface ServerGroup {
|
|
group: {
|
|
id: number;
|
|
created_at: string;
|
|
updated_at: string;
|
|
name: string;
|
|
};
|
|
servers: number[];
|
|
}
|
|
|
|
export interface LoginUserResponse {
|
|
success: boolean;
|
|
data: {
|
|
id: number;
|
|
username: string;
|
|
password: string;
|
|
created_at: string;
|
|
updated_at: string;
|
|
};
|
|
}
|
|
|
|
export interface MonitorResponse {
|
|
success: boolean;
|
|
data: NezhaMonitor[];
|
|
}
|
|
|
|
export type ServerMonitorChart = {
|
|
[key: string]: {
|
|
created_at: number;
|
|
avg_delay: number;
|
|
}[];
|
|
};
|
|
|
|
export interface NezhaMonitor {
|
|
monitor_id: number;
|
|
monitor_name: string;
|
|
server_id: number;
|
|
server_name: string;
|
|
created_at: number[];
|
|
avg_delay: number[];
|
|
}
|
|
|
|
export interface ServiceResponse {
|
|
success: boolean;
|
|
data: {
|
|
services: {
|
|
[key: string]: ServiceData;
|
|
};
|
|
cycle_transfer_stats: CycleTransferStats;
|
|
};
|
|
}
|
|
|
|
export interface Service {
|
|
// created_at: string;
|
|
// updated_at: string;
|
|
name: string;
|
|
// type: number;
|
|
// target: string;
|
|
// duration: number;
|
|
// notification_group_id: number;
|
|
// cover: number;
|
|
// fail_trigger_tasks: null | any[];
|
|
// recover_trigger_tasks: null | any[];
|
|
// min_latency: number;
|
|
// max_latency: number;
|
|
// skip_servers: null | any[];
|
|
}
|
|
|
|
export interface ServiceData {
|
|
service: Service;
|
|
current_up: number;
|
|
current_down: number;
|
|
total_up: number;
|
|
total_down: number;
|
|
delay: number[];
|
|
up: number[];
|
|
down: number[];
|
|
}
|
|
|
|
export interface CycleTransferStats {
|
|
[key: string]: CycleTransferData;
|
|
}
|
|
|
|
export interface CycleTransferData {
|
|
name: string;
|
|
from: string;
|
|
to: string;
|
|
max: number;
|
|
min: number;
|
|
server_name: {
|
|
[key: string]: string;
|
|
};
|
|
transfer: {
|
|
[key: string]: number;
|
|
};
|
|
next_update: {
|
|
[key: string]: string;
|
|
};
|
|
}
|
|
|
|
export interface SettingResponse {
|
|
success: boolean;
|
|
data: {
|
|
language: string;
|
|
site_name: string;
|
|
custom_code: string;
|
|
};
|
|
}
|