tactical nuke..no json :(

This commit is contained in:
LinlyBoi
2022-12-25 10:19:11 +02:00
parent 523bae94f2
commit d7a93d5a3f
4 changed files with 34 additions and 36 deletions

View File

@@ -228,28 +228,17 @@ async fn fetch_commit(url: &'static str) -> Result<String, FetchError> {
Ok(text.as_string().unwrap()) Ok(text.as_string().unwrap())
} }
async fn fetch_driver(url: &'static str) -> Result<CommonDriver, FetchError> { async fn fetch_driver(url: &'static str) -> Result<String, FetchError> {
let mut opts = RequestInit::new(); let mut opts = RequestInit::new();
opts.method("GET"); opts.method("GET");
//Available request modes: Cors, NoCors, SameOrigin opts.mode(RequestMode::Cors); //Cors is required for fetch to work
opts.mode(RequestMode::NoCors); //NoCors because cors simply doesn't work here //initialise request
let request = Request::new_with_str_and_init(url, &opts)?; let request = Request::new_with_str_and_init(url, &opts)?;
//api header for json let window = gloo::utils::window();
request.headers().set("Accept", "application/json")?;
let window = web_sys::window().unwrap();
let resp_value = JsFuture::from(window.fetch_with_request(&request)).await?; let resp_value = JsFuture::from(window.fetch_with_request(&request)).await?;
assert!(resp_value.is_instance_of::<Response>());
let resp: Response = resp_value.dyn_into().unwrap(); let resp: Response = resp_value.dyn_into().unwrap();
let text = JsFuture::from(resp.text()?).await?;
//parsing Json response Ok(text.as_string().unwrap())
let fetched_json = JsFuture::from(resp.json()?).await?;
log!(fetched_json.clone());
let fetched_json: JsValue = fetched_json.into();
//parsing into CommonDriver struct
let fetched_json: CommonDriver = fetched_json.into_serde().unwrap();
Ok(fetched_json)
} }
//renders components above //renders components above

View File

@@ -51,18 +51,6 @@ struct Stdnt {
gpa: f32, gpa: f32,
email: String, email: String,
} }
//testing this rn
//Component that returns HTML from json fetched from Api yes :D
// async fn fetch_person() -> Html {
// let resp = Request::get("http://libkyy.cf/api/driver/1234")
// .send()
// .await
// .unwrap();
// assert_eq!(resp.status(), 200);
// let driver: CommonDriver = resp.json().await.unwrap();
// let result = driver.use_it();
// return result;
// }
fn main() { fn main() {
yew::Renderer::<App>::new().render(); yew::Renderer::<App>::new().render();

View File

@@ -7,25 +7,26 @@ use backend::{
admin_data::get_admin, driver_data::get_driver, establish_connection, ticket_data::get_ticket, admin_data::get_admin, driver_data::get_driver, establish_connection, ticket_data::get_ticket,
}; };
use common::{CommonAdmin, CommonDriver, CommonTicket}; use common::{CommonAdmin, CommonDriver, CommonTicket};
//Json goodies? NAHH
//Ticket Table Services //Ticket Table Services
#[get("api/ticket/{id}")] #[get("api/ticket/{id}")]
async fn api_ticket(id: web::Path<i32>) -> Json<CommonTicket> { async fn api_ticket(id: web::Path<i32>) -> impl Responder {
let fetched_ticket_data = get_ticket(&mut establish_connection(), *id); let fetched_ticket_data = get_ticket(&mut establish_connection(), *id);
Json(fetched_ticket_data) //return struct as string
HttpResponse::Ok().body(format!("{:?}", fetched_ticket_data))
} }
// Getting admin data or smth idk // Getting admin data or smth idk
#[get("api/admin/{id}")] #[get("api/admin/{id}")]
async fn api_admin(id: web::Path<i32>) -> Json<CommonAdmin> { async fn api_admin(id: web::Path<i32>) -> impl Responder {
let fetched_admin_data = get_admin(&mut establish_connection(), *id); let fetched_admin_data = get_admin(&mut establish_connection(), *id);
Json(fetched_admin_data) HttpResponse::Ok().body(format!("{:?}", fetched_admin_data))
} }
#[get("api/driver/{id}")] #[get("api/driver/{id}")]
async fn api_driver(id: web::Path<i32>) -> Json<CommonDriver> { async fn api_driver(id: web::Path<i32>) -> impl Responder {
let fetched_driver_data = get_driver(&mut establish_connection(), *id); let fetched_driver_data = get_driver(&mut establish_connection(), *id);
Json(fetched_driver_data) HttpResponse::Ok().body(format!("{:?}", fetched_driver_data))
} }
#[get("api/test")] #[get("api/test")]
async fn api_test() -> impl Responder { async fn api_test() -> impl Responder {

20
src/shadowrealmapi.rs Normal file
View File

@@ -0,0 +1,20 @@
//Json goodies? NAHH
//Ticket Table Services
// #[get("api/ticket/{id}")]
// async fn api_ticket(id: web::Path<i32>) -> Json<CommonTicket> {
// let fetched_ticket_data = get_ticket(&mut establish_connection(), *id);
// Json(fetched_ticket_data)
// }
//
// // Getting admin data or smth idk
// #[get("api/admin/{id}")]
// async fn api_admin(id: web::Path<i32>) -> Json<CommonAdmin> {
// let fetched_admin_data = get_admin(&mut establish_connection(), *id);
// Json(fetched_admin_data)
// }
//
// #[get("api/driver/{id}")]
// async fn api_driver(id: web::Path<i32>) -> Json<CommonDriver> {
// let fetched_driver_data = get_driver(&mut establish_connection(), *id);
// Json(fetched_driver_data)
// }