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(),
"filtered" => write!(self.sql, "c.odid > 0").unwrap(),
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 config = self.req.storage.all_config()?;
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))
);
// 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(())
})
.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
.query_row_and_then("select decks from col", NO_PARAMS, |row| -> Result<_> {
Ok(serde_json::from_str(row.get_raw(0).as_str()?)?)