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"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"common",
|
"common",
|
||||||
|
"diesel",
|
||||||
"yew",
|
"yew",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
use diesel::prelude::*;
|
use diesel::prelude::*;
|
||||||
|
use diesel::pg::data_types::PgDate;
|
||||||
|
use common::CommonDriver;
|
||||||
use crate::models::{Driver,NewDriver};
|
use crate::models::{Driver,NewDriver};
|
||||||
|
|
||||||
pub fn listdrivers(connection: &mut PgConnection)
|
pub fn listdrivers(connection: &mut PgConnection)
|
||||||
@@ -19,3 +21,19 @@ pub fn addriver(connection: &mut PgConnection, new_driver: NewDriver){
|
|||||||
.execute(connection)
|
.execute(connection)
|
||||||
.expect("Couldn't insert new driver :)");
|
.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)]
|
#[derive(Insertable)]
|
||||||
#[diesel(table_name = drivers)]
|
#[diesel(table_name = drivers)]
|
||||||
pub
|
pub struct NewDriver<'a> {
|
||||||
struct NewDriver<'a> {
|
|
||||||
pub id: i32,
|
pub id: i32,
|
||||||
pub name: &'a str,
|
pub name: &'a str,
|
||||||
pub address: &'a str,
|
pub address: &'a str,
|
||||||
|
|||||||
@@ -15,3 +15,13 @@ pub struct CommonAdmin {
|
|||||||
pub name: String,
|
pub name: String,
|
||||||
pub address: 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]
|
[dependencies]
|
||||||
yew = { version = "0.20.0", features = ["csr"] }
|
yew = { version = "0.20.0", features = ["csr"] }
|
||||||
common = { path = "../common"}
|
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},
|
web::{self, Json},
|
||||||
App, HttpServer,
|
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::CommonAdmin;
|
||||||
use common::CommonTicket;
|
use common::CommonTicket;
|
||||||
|
use common::CommonDriver;
|
||||||
|
|
||||||
// //Admin Services
|
// //Admin Services
|
||||||
// #[get("/api/admin/{id}")]
|
// #[get("/api/admin/{id}")]
|
||||||
@@ -20,8 +21,8 @@ use common::CommonTicket;
|
|||||||
//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>) -> Json<CommonTicket> {
|
||||||
let fetched_ticket = get_ticket(&mut establish_connection(), *id);
|
let fetched_ticket_data = get_ticket(&mut establish_connection(), *id);
|
||||||
Json(fetched_ticket)
|
Json(fetched_ticket_data)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Getting admin data or smth idk
|
// Getting admin data or smth idk
|
||||||
@@ -31,9 +32,15 @@ async fn api_admin(id: web::Path<i32>) -> Json<CommonAdmin> {
|
|||||||
Json(fetched_admin_data)
|
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]
|
#[actix_web::main]
|
||||||
async fn main() -> std::io::Result<()> {
|
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))?
|
.bind(("0.0.0.0", 48590))?
|
||||||
.run()
|
.run()
|
||||||
.await
|
.await
|
||||||
|
|||||||
Reference in New Issue
Block a user