fix decks

This commit is contained in:
Damien Elmes 2020-03-20 10:03:58 +10:00
parent 2693e142aa
commit 425a9d04ca
2 changed files with 13 additions and 2 deletions

View file

@ -187,7 +187,13 @@ impl SqlWriter<'_, '_> {
"*" => write!(self.sql, "true").unwrap(), "*" => write!(self.sql, "true").unwrap(),
"filtered" => write!(self.sql, "c.odid > 0").unwrap(), "filtered" => write!(self.sql, "c.odid > 0").unwrap(),
deck => { deck => {
let all_decks = self.req.storage.all_decks()?; let all_decks: Vec<_> = self
.req
.storage
.all_decks()?
.into_iter()
.map(|(_, v)| v)
.collect();
let dids_with_children = if deck == "current" { let dids_with_children = if deck == "current" {
let config = self.req.storage.all_config()?; let config = self.req.storage.all_config()?;
let mut dids_with_children = vec![config.current_deck_id]; let mut dids_with_children = vec![config.current_deck_id];
@ -415,6 +421,11 @@ mod test {
format!("(c.id > {})", t.next_day_at - (86_400 * 3)) format!("(c.id > {})", t.next_day_at - (86_400 * 3))
); );
// deck
assert_eq!(s(ctx, "deck:default"), ("(c.did in (1))".into(), vec![],));
assert_eq!(s(ctx, "deck:current"), ("(c.did in (1))".into(), vec![],));
assert_eq!(s(ctx, "deck:filtered"), ("(c.odid > 0)".into(), vec![],));
Ok(()) Ok(())
}) })
.unwrap(); .unwrap();

View file

@ -223,7 +223,7 @@ impl StorageContext<'_> {
} }
} }
pub(crate) fn all_decks(&self) -> Result<Vec<Deck>> { pub(crate) fn all_decks(&self) -> Result<HashMap<ObjID, Deck>> {
self.db self.db
.query_row_and_then("select decks from col", NO_PARAMS, |row| -> Result<_> { .query_row_and_then("select decks from col", NO_PARAMS, |row| -> Result<_> {
Ok(serde_json::from_str(row.get_raw(0).as_str()?)?) Ok(serde_json::from_str(row.get_raw(0).as_str()?)?)