xnode_manager_sdk/process/
models.rs

1use serde::{Deserialize, Serialize};
2
3use crate::utils::Output;
4
5#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
6pub struct SystemCtlProcess {
7    pub unit: String,
8    pub description: String,
9    pub sub: String,
10}
11
12#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
13pub struct Process {
14    pub name: String,
15    pub description: Option<String>,
16    pub running: bool,
17}
18
19#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
20pub struct LogQuery {
21    pub max: Option<u32>,
22    pub level: Option<LogLevel>,
23}
24
25#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
26pub struct Log {
27    pub timestamp: u64, // Epoch time in Microseconds
28    pub message: Output,
29    pub level: LogLevel,
30}
31
32#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
33pub enum LogLevel {
34    Error,
35    Warn,
36    Info,
37    Unknown,
38}
39
40#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
41pub enum ProcessCommand {
42    Start,
43    Stop,
44    Restart,
45}