tolerate some string IDs

This commit is contained in:
Damien Elmes 2020-03-20 12:08:22 +10:00
parent 224bad2566
commit c90670ec3a
2 changed files with 7 additions and 1 deletions

View file

@ -2,12 +2,16 @@
// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
use crate::types::ObjID; use crate::types::ObjID;
use serde_aux::field_attributes::deserialize_number_from_string;
use serde_derive::Deserialize; use serde_derive::Deserialize;
#[derive(Deserialize)] #[derive(Deserialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct Config { pub struct Config {
#[serde(rename = "curDeck")] #[serde(
rename = "curDeck",
deserialize_with = "deserialize_number_from_string"
)]
pub(crate) current_deck_id: ObjID, pub(crate) current_deck_id: ObjID,
pub(crate) rollover: Option<i8>, pub(crate) rollover: Option<i8>,
pub(crate) creation_offset: Option<i32>, pub(crate) creation_offset: Option<i32>,

View file

@ -2,10 +2,12 @@
// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
use crate::types::ObjID; use crate::types::ObjID;
use serde_aux::field_attributes::deserialize_number_from_string;
use serde_derive::Deserialize; use serde_derive::Deserialize;
#[derive(Deserialize)] #[derive(Deserialize)]
pub struct Deck { pub struct Deck {
#[serde(deserialize_with = "deserialize_number_from_string")]
pub(crate) id: ObjID, pub(crate) id: ObjID,
pub(crate) name: String, pub(crate) name: String,
} }