add user status to debug server /data

This commit is contained in:
soruh 2023-06-11 02:58:16 +02:00
parent af5c090600
commit ed3195afeb

View File

@ -113,7 +113,7 @@ impl<T: Display> Debug for DisplayAsDebug<T> {
#[derive(Default, Serialize, Deserialize)] #[derive(Default, Serialize, Deserialize)]
pub struct PortState { pub struct PortState {
last_change: UnixTimestamp, last_change: UnixTimestamp,
#[serde(skip)] #[serde(skip_deserializing)]
status: PortStatus, status: PortStatus,
} }
@ -129,6 +129,7 @@ impl PortState {
} }
#[derive(Clone, Copy, Debug, PartialEq, Eq, Serialize, PartialOrd, Ord)] #[derive(Clone, Copy, Debug, PartialEq, Eq, Serialize, PartialOrd, Ord)]
#[serde(rename_all = "snake_case")]
pub enum PortStatus { pub enum PortStatus {
InCall, InCall,
Idle, Idle,
@ -179,6 +180,16 @@ impl PortHandler {
value_object.remove("rejectors").unwrap(); value_object.remove("rejectors").unwrap();
value_object.remove("last_update").unwrap(); value_object.remove("last_update").unwrap();
value_object
.get_mut("port_state")
.unwrap()
.as_object_mut()
.unwrap()
.values_mut()
.for_each(|value| {
value.as_object_mut().unwrap().remove("status").unwrap();
});
serde_json::to_writer(BufWriter::new(File::create(&temp_file)?), &value)?; serde_json::to_writer(BufWriter::new(File::create(&temp_file)?), &value)?;
std::fs::rename(temp_file, cache)?; std::fs::rename(temp_file, cache)?;
@ -445,7 +456,7 @@ impl PortHandler {
return Some(port); return Some(port);
} }
None // TODO None // TODO: are there more ways?
} }
#[instrument(skip(self))] #[instrument(skip(self))]