From 8a044812369aa23667e004f6fe4bef42b617edca Mon Sep 17 00:00:00 2001 From: _ <> Date: Mon, 15 Mar 2021 19:22:23 +0000 Subject: [PATCH] finish hooking up the unregistered servers page --- crates/ptth_relay/src/lib.rs | 26 +++++++++++++++++++++++++- crates/ptth_relay/src/relay_state.rs | 1 + 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/crates/ptth_relay/src/lib.rs b/crates/ptth_relay/src/lib.rs index e0cf7dc..5154644 100644 --- a/crates/ptth_relay/src/lib.rs +++ b/crates/ptth_relay/src/lib.rs @@ -309,8 +309,32 @@ async fn handle_server_list_internal (state: &Arc ) async fn handle_unregistered_servers_internal (state: &Arc ) -> UnregisteredServerListPage { + use LastSeen::*; + + let now = Utc::now (); + + let server_list = { + let guard = state.unregistered_servers.read ().await; + (*guard).clone () + }; + + let unregistered_servers = server_list.into_iter () + .map (|x| { + let last_seen = match pretty_print_last_seen (now, x.seen) { + Negative => "Error (negative time)".into (), + Connected => "Recently".into (), + Description (s) => s.into (), + }; + + UnregisteredServer { + name: x.name, + tripcode: base64::encode (x.tripcode.as_bytes ()), + last_seen, + } + }).collect (); + UnregisteredServerListPage { - unregistered_servers: vec! [], + unregistered_servers, } } diff --git a/crates/ptth_relay/src/relay_state.rs b/crates/ptth_relay/src/relay_state.rs index 1a27dca..96d3a98 100644 --- a/crates/ptth_relay/src/relay_state.rs +++ b/crates/ptth_relay/src/relay_state.rs @@ -70,6 +70,7 @@ impl Default for ServerStatus { } } +#[derive (Clone)] pub struct RejectedServer { pub name: String, pub tripcode: blake3::Hash,