From d800f8f3083f37f0752c525f449f20ce2ec23fb6 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 3 Jan 2021 23:19:50 +0000 Subject: [PATCH] wip links, compiles Signed-off-by: Ian Jackson --- daemon/cmdlistener.rs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/daemon/cmdlistener.rs b/daemon/cmdlistener.rs index adab27f5..09af0f6c 100644 --- a/daemon/cmdlistener.rs +++ b/daemon/cmdlistener.rs @@ -477,6 +477,34 @@ fn execute_game_insn<'cs, 'igr, 'ig: 'igr>( })? } + Insn::SetLink { kind, url } => { + update_links(cs,ag,ig, |ig_links|{ + let mut new_links : LinksTable = (**ig_links).clone(); + let url : Url = (&url).try_into()?; + let show : Html = (kind, url.as_str()).into(); + new_links[kind] = Some(url.into_string()); + let new_links = Arc::new(new_links); + *ig_links = new_links.clone(); + Ok(Html( + format!("{} set the link {}", + &who.0, &show.0) + )) + })? + } + + Insn::RemoveLink { kind } => { + update_links(cs,ag,ig, |ig_links|{ + let mut new_links : LinksTable = (**ig_links).clone(); + new_links[kind] = None; + let new_links = Arc::new(new_links); + *ig_links = new_links.clone(); + Ok(Html( + format!("{} removed the link {}", + &who.0, &kind) + )) + })? + } + ResetPlayerAccess(player) => { let (ig, auth) = cs.check_acl_manip_player_access (ag, ig, player, TP::ResetOthersAccess)?; -- 2.30.2