diff --git a/srv/src/main.rs b/srv/src/main.rs index 318023e..938b72e 100644 --- a/srv/src/main.rs +++ b/srv/src/main.rs @@ -49,12 +49,14 @@ fn get_list(db: &State) -> Json> { #[get("/api/favorites")] fn get_favorites(db: &State) -> Json> { - let query = "WITH favorites as (SELECT itemname, COUNT(date_added) day_count + let opt = Opt::parse(); + + let query = format!("WITH favorites as (SELECT itemname, COUNT(date_added) day_count FROM adds WHERE (date(julianday('now')) - date(date_added, 'unixepoch')) < 184 GROUP BY itemname - HAVING day_count > 0) - SELECT favorites.itemname, category FROM favorites LEFT OUTER JOIN categories ON favorites.itemname = categories.itemname"; + HAVING day_count > {num_days}) + SELECT favorites.itemname, category FROM favorites LEFT OUTER JOIN categories ON favorites.itemname = categories.itemname", num_days = opt.num_days); let list: Vec = db .prepare(query) .unwrap() @@ -115,6 +117,8 @@ fn delete_item(item: &str, db: &State) { struct Opt { #[clap(long, env = "DB_PATH")] db_path: PathBuf, + #[clap(long, env = "NUM_DAYS", default_value = "5")] + num_days: u32, } #[launch]