infrarust_server_manager 1.6.3

A Minecraft server manager that handles API monitoring and system commands
Documentation
use serde::{Deserialize, Serialize};

#[derive(Debug, Serialize, Deserialize)]
pub struct StartServerRequest {
    pub server_id: String,
}

#[derive(Debug, Serialize, Deserialize)]
pub struct StopServerRequest {
    pub server_id: String,
}

#[derive(Debug, Serialize, Deserialize)]
pub struct ApiResponse<T> {
    pub success: bool,
    pub data: Option<T>,
    pub message: Option<String>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ServerInfo {
    pub id: String,
    pub name: String,
    pub description: Option<String>,
    pub address: Option<String>,
    pub port: Option<u16>,
    pub version: Option<String>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ServerResourceUsage {
    pub cpu_percent: f32,
    pub memory_mb: u32,
    pub disk_mb: u32,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ServerCommand {
    pub command: String,
    pub timestamp: u64,
    pub status: CommandStatus,
}

#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub enum CommandStatus {
    Pending,
    Running,
    Completed,
    Failed,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ServerMetadata {
    pub server_info: ServerInfo,
    pub resources: Option<ServerResourceUsage>,
    pub online_players: Option<u32>,
    pub max_players: Option<u32>,
}