adding menu items

This commit is contained in:
Colin McKechney
2023-04-30 16:01:13 -04:00
parent c76a63735a
commit 82b4be1ba1
4 changed files with 58 additions and 1 deletions

52
backend/src/api/eatery.rs Normal file
View File

@@ -0,0 +1,52 @@
use serde::{Serialize, Deserialize};
use actix_web::{web::Path, Responder, HttpResponse};
use oracle::{Connection, Error};
use log::{error};
const ORACLE_USER: &str = "timmy";
const ORACLE_PASS: &str = "timmy";
#[derive(Serialize, Deserialize, Debug, Default)]
struct food_item {
item_id: u32,
eatery_id: u32,
item_name: String,
serving_size: f32,
calories: f32,
fat: f32,
sat_fat: f32,
trans_fat: f32,
carbs: f32,
fiber: f32,
sugar: f32,
protein: f32,
sodium: f32,
potassium: f32,
cholesterol: f32
}
pub fn menu(eatery: Path<String>) -> impl Responder {
let eatery = eatery.into_inner();
let conn = match Connection::connect(ORACLE_USER, ORACLE_PASS, "") {
Ok(c) => c,
Err(e) => {
error!("Unable to reach oracle server: {}", e);
return HttpResponse::InternalServerError();
}
};
let mut stmt = match conn.statement("select * from menu_item natural join nutrition_info food where menu_item.eatery_id = :1").build() {
Ok(s) => s,
Err(e) => {
error!("Unable to build statement: {}", e);
return HttpResponse::InternalServerError();
}
};
let rows = stmt.query(&[&eatery]).unwrap().collect();
println!("{}", rows);
HttpResponse::Ok()
}

View File

@@ -1,2 +1,3 @@
pub mod user;
pub mod eatery;

View File

@@ -156,7 +156,7 @@ fn create_user(username: &str, password: &str, first_name: &str, last_name: &str
}
};
let mut new_table = conn.statement("create table week_:netid ( item_id number(5), foreign key (item_id) references menu_item (id))").build()?;
let mut new_table = conn.statement("create table :net_id ( item_id number(5), foreign key (item_id) references menu_item (id))").build()?;
match new_table.execute_named(&[("net_id", &username)]) {
Ok(_) => {