mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 22:12:21 -04:00
ctx->req
This commit is contained in:
parent
dc12c23ce9
commit
85af35509d
1 changed files with 8 additions and 8 deletions
|
@ -16,19 +16,19 @@ use std::fmt::Write;
|
||||||
|
|
||||||
struct SearchContext<'a> {
|
struct SearchContext<'a> {
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
ctx: &'a mut RequestContext<'a>,
|
req: &'a mut RequestContext<'a>,
|
||||||
sql: String,
|
sql: String,
|
||||||
args: Vec<ToSqlOutput<'a>>,
|
args: Vec<ToSqlOutput<'a>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
fn node_to_sql<'a>(
|
fn node_to_sql<'a>(
|
||||||
ctx: &'a mut RequestContext<'a>,
|
req: &'a mut RequestContext<'a>,
|
||||||
node: &'a Node,
|
node: &'a Node,
|
||||||
) -> Result<(String, Vec<ToSqlOutput<'a>>)> {
|
) -> Result<(String, Vec<ToSqlOutput<'a>>)> {
|
||||||
let sql = String::new();
|
let sql = String::new();
|
||||||
let args = vec![];
|
let args = vec![];
|
||||||
let mut sctx = SearchContext { ctx, sql, args };
|
let mut sctx = SearchContext { req, sql, args };
|
||||||
write_node_to_sql(&mut sctx, node)?;
|
write_node_to_sql(&mut sctx, node)?;
|
||||||
Ok((sctx.sql, sctx.args))
|
Ok((sctx.sql, sctx.args))
|
||||||
}
|
}
|
||||||
|
@ -110,7 +110,7 @@ fn write_tag(ctx: &mut SearchContext, text: &str) {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn write_rated(ctx: &mut SearchContext, days: u32, ease: Option<u8>) -> Result<()> {
|
fn write_rated(ctx: &mut SearchContext, days: u32, ease: Option<u8>) -> Result<()> {
|
||||||
let today_cutoff = ctx.ctx.storage.timing_today()?.next_day_at;
|
let today_cutoff = ctx.req.storage.timing_today()?.next_day_at;
|
||||||
let days = days.min(31) as i64;
|
let days = days.min(31) as i64;
|
||||||
let target_cutoff = today_cutoff - 86_400 * days;
|
let target_cutoff = today_cutoff - 86_400 * days;
|
||||||
write!(
|
write!(
|
||||||
|
@ -129,7 +129,7 @@ fn write_rated(ctx: &mut SearchContext, days: u32, ease: Option<u8>) -> Result<(
|
||||||
}
|
}
|
||||||
|
|
||||||
fn write_prop(ctx: &mut SearchContext, op: &str, kind: &PropertyKind) -> Result<()> {
|
fn write_prop(ctx: &mut SearchContext, op: &str, kind: &PropertyKind) -> Result<()> {
|
||||||
let timing = ctx.ctx.storage.timing_today()?;
|
let timing = ctx.req.storage.timing_today()?;
|
||||||
match kind {
|
match kind {
|
||||||
PropertyKind::Due(days) => {
|
PropertyKind::Due(days) => {
|
||||||
let day = days + (timing.days_elapsed as i32);
|
let day = days + (timing.days_elapsed as i32);
|
||||||
|
@ -152,7 +152,7 @@ fn write_prop(ctx: &mut SearchContext, op: &str, kind: &PropertyKind) -> Result<
|
||||||
}
|
}
|
||||||
|
|
||||||
fn write_state(ctx: &mut SearchContext, state: &StateKind) -> Result<()> {
|
fn write_state(ctx: &mut SearchContext, state: &StateKind) -> Result<()> {
|
||||||
let timing = ctx.ctx.storage.timing_today()?;
|
let timing = ctx.req.storage.timing_today()?;
|
||||||
match state {
|
match state {
|
||||||
StateKind::New => write!(ctx.sql, "c.queue = {}", CardQueue::New as u8),
|
StateKind::New => write!(ctx.sql, "c.queue = {}", CardQueue::New as u8),
|
||||||
StateKind::Review => write!(ctx.sql, "c.queue = {}", CardQueue::Review as u8),
|
StateKind::Review => write!(ctx.sql, "c.queue = {}", CardQueue::Review as u8),
|
||||||
|
@ -190,9 +190,9 @@ fn write_deck(ctx: &mut SearchContext, deck: &str) -> Result<()> {
|
||||||
"*" => write!(ctx.sql, "true").unwrap(),
|
"*" => write!(ctx.sql, "true").unwrap(),
|
||||||
"filtered" => write!(ctx.sql, "c.odid > 0").unwrap(),
|
"filtered" => write!(ctx.sql, "c.odid > 0").unwrap(),
|
||||||
deck => {
|
deck => {
|
||||||
let all_decks = ctx.ctx.storage.all_decks()?;
|
let all_decks = ctx.req.storage.all_decks()?;
|
||||||
let dids_with_children = if deck == "current" {
|
let dids_with_children = if deck == "current" {
|
||||||
let config = ctx.ctx.storage.all_config()?;
|
let config = ctx.req.storage.all_config()?;
|
||||||
let mut dids_with_children = vec![config.current_deck_id];
|
let mut dids_with_children = vec![config.current_deck_id];
|
||||||
let current = get_deck(&all_decks, config.current_deck_id)
|
let current = get_deck(&all_decks, config.current_deck_id)
|
||||||
.ok_or_else(|| AnkiError::invalid_input("invalid current deck"))?;
|
.ok_or_else(|| AnkiError::invalid_input("invalid current deck"))?;
|
||||||
|
|
Loading…
Reference in a new issue