steamroom_cli/daemon/proto/
status.rs1use super::JobId;
2use super::JobKind;
3use super::ProgressUpdate;
4use rkyv::Archive;
5use rkyv::Deserialize;
6use rkyv::Serialize;
7
8#[derive(Archive, Serialize, Deserialize, Debug, Clone, serde::Serialize, serde::Deserialize)]
9#[rkyv(derive(Debug))]
10pub struct JobRecord {
11 pub job_id: JobId,
12 pub kind: JobKind,
13 pub args_summary: String,
14 pub priority: bool,
15 pub submitted_at: u64,
16 pub started_at: Option<u64>,
17 pub finished_at: Option<u64>,
18 pub exit_code: Option<i32>,
19 pub progress: Option<ProgressUpdate>,
20}
21
22#[derive(Archive, Serialize, Deserialize, Debug, Clone)]
23#[rkyv(derive(Debug))]
24pub struct StatusSnapshot {
25 pub daemon_pid: u32,
26 pub daemon_started_at: u64,
27 pub account: Option<String>,
28 pub active: Option<JobRecord>,
29 pub queue: Vec<JobRecord>,
30 pub recent: Vec<JobRecord>,
31}