mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 16:56:36 -04:00
Clear duplicate deck setting keys on downgrade
This commit is contained in:
parent
4ee7be1e10
commit
138a03b6b0
2 changed files with 10 additions and 2 deletions
|
@ -362,11 +362,12 @@ impl From<Deck> for DeckSchema11 {
|
||||||
|
|
||||||
impl From<Deck> for DeckCommonSchema11 {
|
impl From<Deck> for DeckCommonSchema11 {
|
||||||
fn from(deck: Deck) -> Self {
|
fn from(deck: Deck) -> Self {
|
||||||
let other: HashMap<String, Value> = if deck.common.other.is_empty() {
|
let mut other: HashMap<String, Value> = if deck.common.other.is_empty() {
|
||||||
Default::default()
|
Default::default()
|
||||||
} else {
|
} else {
|
||||||
serde_json::from_slice(&deck.common.other).unwrap_or_default()
|
serde_json::from_slice(&deck.common.other).unwrap_or_default()
|
||||||
};
|
};
|
||||||
|
clear_other_duplicates(&mut other);
|
||||||
DeckCommonSchema11 {
|
DeckCommonSchema11 {
|
||||||
id: deck.id,
|
id: deck.id,
|
||||||
mtime: deck.mtime_secs,
|
mtime: deck.mtime_secs,
|
||||||
|
@ -393,6 +394,13 @@ impl From<Deck> for DeckCommonSchema11 {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// See [crate::deckconfig::schema11::clear_other_duplicates()].
|
||||||
|
fn clear_other_duplicates(other: &mut HashMap<String, Value>) {
|
||||||
|
for key in ["review_limit", "new_limit"] {
|
||||||
|
other.remove(key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl From<&Deck> for DeckTodaySchema11 {
|
impl From<&Deck> for DeckTodaySchema11 {
|
||||||
fn from(deck: &Deck) -> Self {
|
fn from(deck: &Deck) -> Self {
|
||||||
let day = deck.common.last_day_studied as i32;
|
let day = deck.common.last_day_studied as i32;
|
||||||
|
|
|
@ -159,8 +159,8 @@ impl From<Notetype> for NotetypeSchema11 {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// See [crate::deckconfig::schema11::clear_other_duplicates()].
|
||||||
fn clear_other_field_duplicates(other: &mut HashMap<String, Value>) {
|
fn clear_other_field_duplicates(other: &mut HashMap<String, Value>) {
|
||||||
// see `clear_other_duplicates()` in `deckconfig/schema11.rs`
|
|
||||||
for key in &["description"] {
|
for key in &["description"] {
|
||||||
other.remove(*key);
|
other.remove(*key);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue