TyPe MiSmAtCh pGdAtE eXpEcTeD StRiNg
This commit is contained in:
1
Cargo.lock
generated
1
Cargo.lock
generated
@@ -424,6 +424,7 @@ name = "db-frontend"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"common",
|
||||
"diesel",
|
||||
"yew",
|
||||
]
|
||||
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
use diesel::prelude::*;
|
||||
use diesel::pg::data_types::PgDate;
|
||||
use common::CommonDriver;
|
||||
use crate::models::{Driver,NewDriver};
|
||||
|
||||
pub fn listdrivers(connection: &mut PgConnection)
|
||||
@@ -19,3 +21,19 @@ pub fn addriver(connection: &mut PgConnection, new_driver: NewDriver){
|
||||
.execute(connection)
|
||||
.expect("Couldn't insert new driver :)");
|
||||
}
|
||||
|
||||
pub fn get_driver(connection: &mut PgConnection, driver_id: i32) -> CommonDriver {
|
||||
use crate::schema::drivers::dsl::*;
|
||||
let driver = &mut drivers
|
||||
.filter(id.eq(driver_id))
|
||||
.limit(1)
|
||||
.load::<Driver>(connection)
|
||||
.expect("no drivers :(")[0];
|
||||
return CommonDriver {
|
||||
id: driver.id,
|
||||
name: String::from(&driver.name),
|
||||
address: String::from(&driver.address),
|
||||
reg_date: &driver.regdate,
|
||||
birthdate: String::from(&driver.birthdate),
|
||||
};
|
||||
}
|
||||
@@ -83,8 +83,7 @@ pub struct Driver {
|
||||
|
||||
#[derive(Insertable)]
|
||||
#[diesel(table_name = drivers)]
|
||||
pub
|
||||
struct NewDriver<'a> {
|
||||
pub struct NewDriver<'a> {
|
||||
pub id: i32,
|
||||
pub name: &'a str,
|
||||
pub address: &'a str,
|
||||
|
||||
@@ -15,3 +15,13 @@ pub struct CommonAdmin {
|
||||
pub name: String,
|
||||
pub address: String,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct CommonDriver {
|
||||
pub id: i32,
|
||||
pub name: String,
|
||||
pub address: String,
|
||||
pub reg_date: i32,
|
||||
pub birthdate: i32,
|
||||
}
|
||||
@@ -8,3 +8,4 @@ edition = "2021"
|
||||
[dependencies]
|
||||
yew = { version = "0.20.0", features = ["csr"] }
|
||||
common = { path = "../common"}
|
||||
diesel = { version = "2.0.0",features = ["postgres","r2d2"] }
|
||||
|
||||
15
src/main.rs
15
src/main.rs
@@ -3,9 +3,10 @@ use actix_web::{
|
||||
web::{self, Json},
|
||||
App, HttpServer,
|
||||
};
|
||||
use backend::{admin_data::get_admin, establish_connection, ticket_data::get_ticket};
|
||||
use backend::{establish_connection, admin_data::get_admin, ticket_data::get_ticket, driver_data::get_driver};
|
||||
use common::CommonAdmin;
|
||||
use common::CommonTicket;
|
||||
use common::CommonDriver;
|
||||
|
||||
// //Admin Services
|
||||
// #[get("/api/admin/{id}")]
|
||||
@@ -20,8 +21,8 @@ use common::CommonTicket;
|
||||
//Ticket Table Services
|
||||
#[get("api/ticket/{id}")]
|
||||
async fn api_ticket(id: web::Path<i32>) -> Json<CommonTicket> {
|
||||
let fetched_ticket = get_ticket(&mut establish_connection(), *id);
|
||||
Json(fetched_ticket)
|
||||
let fetched_ticket_data = get_ticket(&mut establish_connection(), *id);
|
||||
Json(fetched_ticket_data)
|
||||
}
|
||||
|
||||
// Getting admin data or smth idk
|
||||
@@ -31,9 +32,15 @@ async fn api_admin(id: web::Path<i32>) -> Json<CommonAdmin> {
|
||||
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)
|
||||
}
|
||||
|
||||
#[actix_web::main]
|
||||
async fn main() -> std::io::Result<()> {
|
||||
HttpServer::new(|| App::new().service(api_ticket).service(api_admin))
|
||||
HttpServer::new(|| App::new().service(api_ticket).service(api_admin).service(api_driver))
|
||||
.bind(("0.0.0.0", 48590))?
|
||||
.run()
|
||||
.await
|
||||
|
||||
Reference in New Issue
Block a user