added 3 new endpoints
This commit is contained in:
@@ -47,6 +47,18 @@ pub async fn plan_lookup(net_id: Path<String>) -> Json<PlanData> {
|
||||
|
||||
}
|
||||
|
||||
pub async fn all_plan(net_id: Path<String>) -> Json<Vec<PlanData>> {
|
||||
|
||||
let net_id = net_id.into_inner();
|
||||
|
||||
match get_all_plan(&net_id) {
|
||||
Ok(plans) => Json(plans),
|
||||
Err(e) => {
|
||||
error!("failed to grab plans from {}: {}", net_id, e);
|
||||
Json(vec![])
|
||||
}
|
||||
}
|
||||
}
|
||||
fn create_plan(plan: PlanData) -> Result<()> {
|
||||
|
||||
let conn = Connection::connect(ORACLE_USER, ORACLE_PASS, ORACLE_CON_STR)?;
|
||||
@@ -105,3 +117,36 @@ fn plan_search(net_id: &str) -> Result<PlanData> {
|
||||
Ok(plan)
|
||||
|
||||
}
|
||||
|
||||
fn get_all_plan(net_id: &str) -> Result<Vec<PlanData>> {
|
||||
|
||||
|
||||
let conn = Connection::connect(ORACLE_USER, ORACLE_PASS, ORACLE_CON_STR)?;
|
||||
|
||||
let mut stmt = conn.statement("select * from goal where s_net_id = :1 order by week_date").build()?;
|
||||
|
||||
|
||||
let rows = stmt.query(&[&net_id])?;
|
||||
let mut row_vec: Vec<PlanData> = vec![];
|
||||
|
||||
for row_result in rows {
|
||||
let row = row_result?;
|
||||
row_vec.push(PlanData {
|
||||
net_id: row.get(0)?,
|
||||
week_date: row.get(1)?,
|
||||
total_cal: row.get(2).unwrap_or(None),
|
||||
total_fat: row.get(3).unwrap_or(None),
|
||||
total_sat_fat: row.get(4).unwrap_or(None),
|
||||
total_trans_fat: row.get(5).unwrap_or(None),
|
||||
total_carbs: row.get(6).unwrap_or(None),
|
||||
total_fiber: row.get(7).unwrap_or(None),
|
||||
total_sugar: row.get(8).unwrap_or(None),
|
||||
total_protein: row.get(9).unwrap_or(None),
|
||||
total_sodium: row.get(10).unwrap_or(None),
|
||||
total_potassium: row.get(11).unwrap_or(None),
|
||||
total_cholesterol: row.get(12).unwrap_or(None)});
|
||||
}
|
||||
|
||||
Ok(row_vec)
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user