tactical nuke..no json :(
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
15
src/api.rs
15
src/api.rs
@@ -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
20
src/shadowrealmapi.rs
Normal 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)
|
||||||
|
// }
|
||||||
Reference in New Issue
Block a user