From 064ff3412d0043ce5c3fbab20e7d5681bb2a5391 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 22 Aug 2020 18:08:06 +0100 Subject: [PATCH] this parses, but want to flatten --- demo/test.table.toml | 6 ++---- src/bin/otter.rs | 3 ++- src/spec.rs | 7 +++---- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/demo/test.table.toml b/demo/test.table.toml index d3ecd4c5..73054787 100644 --- a/demo/test.table.toml +++ b/demo/test.table.toml @@ -1,9 +1,7 @@ [[players]] nick = "alice" -access = "fixed" -token = "kmqAKPwK4TfReFjMor8MJhdRPBcwIBpe" +access = { deliver = "FixedToken", token = "kmqAKPwK4TfReFjMor8MJhdRPBcwIBpe" } [[players]] nick = "bob" -access = "fixed" -token = "ccg9kzoTh758QrVE1xMY7BQWB36dNJTx" +access = { deliver = "FixedToken", token = "ccg9kzoTh758QrVE1xMY7BQWB36dNJTx" } diff --git a/src/bin/otter.rs b/src/bin/otter.rs index a8e77c10..c51af3bf 100644 --- a/src/bin/otter.rs +++ b/src/bin/otter.rs @@ -404,7 +404,8 @@ mod create_table { setup_table(&mut chan, &spec)?; - eprintln!("CREATE-TABLE DID SETUP_TABLE NEEDS GAMESPEC"); // xxx + eprintln!("CREATE-TABLE DID SETUP_TABLE NEEDS GAMESPEC {:?}", + &spec); // xxx } inventory::submit!{Subcommand( diff --git a/src/spec.rs b/src/spec.rs index aed4fb69..f203cf71 100644 --- a/src/spec.rs +++ b/src/spec.rs @@ -11,7 +11,6 @@ pub struct TableSpec { #[derive(Debug,Serialize,Deserialize)] pub struct PlayerSpec { pub nick: String, - #[serde(flatten)] pub access: Option>, } @@ -31,7 +30,7 @@ pub struct PiecesSpec { pub info : Box, } -#[typetag::serde(tag="access")] +#[typetag::serde(tag="deliver")] pub trait PlayerAccessSpec : Debug { fn token_mgi(&self, _player: PlayerId) -> Option { None @@ -41,14 +40,14 @@ pub trait PlayerAccessSpec : Debug { } #[derive(Debug,Serialize,Deserialize)] -struct FixedToken(RawToken); +struct FixedToken { token: RawToken } #[typetag::serde] impl PlayerAccessSpec for FixedToken { fn token_mgi(&self, player: PlayerId) -> Option { Some(MgmtGameInstruction::SetFixedPlayerAccess { player, - token: self.0.clone(), + token: self.token.clone(), }) } #[throws(AE)] -- 2.30.2