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())
}
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();
opts.method("GET");
//Available request modes: Cors, NoCors, SameOrigin
opts.mode(RequestMode::NoCors); //NoCors because cors simply doesn't work here
opts.mode(RequestMode::Cors); //Cors is required for fetch to work
//initialise request
let request = Request::new_with_str_and_init(url, &opts)?;
//api header for json
request.headers().set("Accept", "application/json")?;
let window = web_sys::window().unwrap();
let window = gloo::utils::window();
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();
//parsing Json response
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)
let text = JsFuture::from(resp.text()?).await?;
Ok(text.as_string().unwrap())
}
//renders components above

View File

@@ -51,18 +51,6 @@ struct Stdnt {
gpa: f32,
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() {
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,
};
use common::{CommonAdmin, CommonDriver, CommonTicket};
//Json goodies? NAHH
//Ticket Table Services
#[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);
Json(fetched_ticket_data)
//return struct as string
HttpResponse::Ok().body(format!("{:?}", fetched_ticket_data))
}
// Getting admin data or smth idk
#[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);
Json(fetched_admin_data)
HttpResponse::Ok().body(format!("{:?}", fetched_admin_data))
}
#[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);
Json(fetched_driver_data)
HttpResponse::Ok().body(format!("{:?}", fetched_driver_data))
}
#[get("api/test")]
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)
// }