Cleanup
This commit is contained in:
parent
0a42cb107a
commit
6064e8e1d9
2 changed files with 2 additions and 24 deletions
19
src/db.rs
19
src/db.rs
|
@ -34,17 +34,6 @@ pub fn create_db() -> Result<()> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// pub fn query_ingestions() -> Result<Vec<SubstanceEntry>> {
|
|
||||||
// let conn = init_db_conn().unwrap();
|
|
||||||
// let query = "
|
|
||||||
// SELECT * FROM ingestions
|
|
||||||
// ";
|
|
||||||
// let ingestions: Vec<SubstanceEntry> = vec![];
|
|
||||||
// match conn.iterate(query, ) {
|
|
||||||
// Ok(i) => i,
|
|
||||||
// Err(e) => e,
|
|
||||||
// };
|
|
||||||
// }
|
|
||||||
pub fn get_all_ingestions(conn: &sqlite::Connection) -> Result<Vec<IngestionEntry>> {
|
pub fn get_all_ingestions(conn: &sqlite::Connection) -> Result<Vec<IngestionEntry>> {
|
||||||
let mut statement = conn.prepare(
|
let mut statement = conn.prepare(
|
||||||
"SELECT substance, route, amount, unit, ingestion_time FROM ingestions ORDER BY ingestion_time DESC"
|
"SELECT substance, route, amount, unit, ingestion_time FROM ingestions ORDER BY ingestion_time DESC"
|
||||||
|
@ -57,7 +46,6 @@ pub fn get_all_ingestions(conn: &sqlite::Connection) -> Result<Vec<IngestionEntr
|
||||||
let route = statement.read::<String, _>("route")?;
|
let route = statement.read::<String, _>("route")?;
|
||||||
let amount = statement.read::<f64, _>("amount")?;
|
let amount = statement.read::<f64, _>("amount")?;
|
||||||
|
|
||||||
// Parse the unit string back to Unit enum
|
|
||||||
let unit_str = statement.read::<String, _>("unit")?;
|
let unit_str = statement.read::<String, _>("unit")?;
|
||||||
let unit = match unit_str.as_str() {
|
let unit = match unit_str.as_str() {
|
||||||
"ug" => Unit::Ug,
|
"ug" => Unit::Ug,
|
||||||
|
@ -67,17 +55,16 @@ pub fn get_all_ingestions(conn: &sqlite::Connection) -> Result<Vec<IngestionEntr
|
||||||
_ => continue, // Skip invalid units
|
_ => continue, // Skip invalid units
|
||||||
};
|
};
|
||||||
|
|
||||||
// Parse the ingestion_time string back to DateTime
|
|
||||||
let time_str = statement.read::<String, _>("ingestion_time")?;
|
let time_str = statement.read::<String, _>("ingestion_time")?;
|
||||||
let ingestion_time = match chrono::DateTime::parse_from_rfc3339(&time_str) {
|
let ingestion_time = match chrono::DateTime::parse_from_rfc3339(&time_str) {
|
||||||
Ok(dt) => dt.with_timezone(&chrono::Local),
|
Ok(dt) => dt.with_timezone(&chrono::Local),
|
||||||
Err(_) => continue, // Skip invalid dates
|
Err(_) => continue,
|
||||||
};
|
};
|
||||||
|
|
||||||
let created_str = statement.read::<String, _>("ingestion_time")?;
|
let created_str = statement.read::<String, _>("ingestion_time")?;
|
||||||
let created_at = match chrono::DateTime::parse_from_rfc3339(&created_str) {
|
let created_at = match chrono::DateTime::parse_from_rfc3339(&created_str) {
|
||||||
Ok(dt) => Some(dt.with_timezone(&chrono::Local)),
|
Ok(dt) => Some(dt.with_timezone(&chrono::Local)),
|
||||||
Err(_) => continue, // Skip invalid dates
|
Err(_) => continue,
|
||||||
};
|
};
|
||||||
|
|
||||||
result.push(IngestionEntry {
|
result.push(IngestionEntry {
|
||||||
|
@ -94,7 +81,6 @@ pub fn get_all_ingestions(conn: &sqlite::Connection) -> Result<Vec<IngestionEntr
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn save_ingestion_to_db(conn: &sqlite::Connection, entry: &IngestionEntry) -> Result<()> {
|
pub fn save_ingestion_to_db(conn: &sqlite::Connection, entry: &IngestionEntry) -> Result<()> {
|
||||||
// Prepare the statement with named parameters
|
|
||||||
let query = format!(
|
let query = format!(
|
||||||
"INSERT INTO ingestions (substance, route, amount, unit, ingestion_time, created_at)
|
"INSERT INTO ingestions (substance, route, amount, unit, ingestion_time, created_at)
|
||||||
VALUES ('{}', '{}', {}, '{}', '{}', '{}')",
|
VALUES ('{}', '{}', {}, '{}', '{}', '{}')",
|
||||||
|
@ -106,7 +92,6 @@ pub fn save_ingestion_to_db(conn: &sqlite::Connection, entry: &IngestionEntry) -
|
||||||
chrono::Local::now().to_rfc3339()
|
chrono::Local::now().to_rfc3339()
|
||||||
);
|
);
|
||||||
|
|
||||||
// Execute the query
|
|
||||||
conn.execute(query)?;
|
conn.execute(query)?;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
|
@ -57,11 +57,6 @@ pub struct IngestionEntry {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() -> Result<(), Box<dyn Error>> {
|
fn main() -> Result<(), Box<dyn Error>> {
|
||||||
println!("=======");
|
|
||||||
println!("meowlog");
|
|
||||||
println!("=======");
|
|
||||||
|
|
||||||
// Load substances from JSON file
|
|
||||||
let substances = match read_substances_from_file() {
|
let substances = match read_substances_from_file() {
|
||||||
Ok(s) => s,
|
Ok(s) => s,
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
|
@ -89,7 +84,6 @@ fn handle_commands(
|
||||||
Command::AddIngestion => {
|
Command::AddIngestion => {
|
||||||
let ingestion = gather_ingestion_data(substances.clone())?;
|
let ingestion = gather_ingestion_data(substances.clone())?;
|
||||||
|
|
||||||
// Display the recorded information
|
|
||||||
println!("\nRecorded Information:");
|
println!("\nRecorded Information:");
|
||||||
println!("---------------------");
|
println!("---------------------");
|
||||||
println!("Substance: {}", ingestion.entry.substance);
|
println!("Substance: {}", ingestion.entry.substance);
|
||||||
|
@ -100,7 +94,6 @@ fn handle_commands(
|
||||||
ingestion.entry.ingestion_time.format("%Y-%m-%d %H:%M")
|
ingestion.entry.ingestion_time.format("%Y-%m-%d %H:%M")
|
||||||
);
|
);
|
||||||
|
|
||||||
// Show onset, duration, and after-effects if available
|
|
||||||
if let Some(onset) = ingestion.data["formatted_onset"]["value"].as_str() {
|
if let Some(onset) = ingestion.data["formatted_onset"]["value"].as_str() {
|
||||||
let unit = ingestion.data["formatted_onset"]["_unit"]
|
let unit = ingestion.data["formatted_onset"]["_unit"]
|
||||||
.as_str()
|
.as_str()
|
||||||
|
|
Loading…
Add table
Reference in a new issue