This commit is contained in:
LinlyBoi
2022-12-23 17:07:10 +00:00
parent ee4fbf9a75
commit f99e1504f6
3 changed files with 30 additions and 4 deletions

1
.gitignore vendored
View File

@@ -1 +1,2 @@
/target /target
.env

View File

@@ -1,4 +1,5 @@
use crate::models::{Admin, AdminEmail, NewAdmin, NewAdminEmail}; use crate::models::{Admin, AdminEmail, NewAdmin, NewAdminEmail};
use common::CommonAdmin;
use diesel::prelude::*; use diesel::prelude::*;
pub fn listadmins(connection: &mut PgConnection) -> String { pub fn listadmins(connection: &mut PgConnection) -> String {
@@ -38,3 +39,17 @@ pub fn listadminmails(connection: &mut PgConnection) {
println!("{} {}", addmail.email, addmail.admin_id); println!("{} {}", addmail.email, addmail.admin_id);
} }
} }
pub fn get_admin(connection: &mut PgConnection, admin_id: i32) -> CommonAdmin {
use crate::schema::admins::dsl::*;
let admin = &mut admins
.filter(id.eq(admin_id))
.limit(1)
.load::<Admin>(connection)
.expect("no admins :(")[0];
return CommonAdmin {
id: admin.id,
name: String::from(&admin.name),
address: String::from(&admin.address),
};
}

View File

@@ -3,8 +3,9 @@ use actix_web::{
web::{self, Json}, web::{self, Json},
App, HttpServer, App, HttpServer,
}; };
use backend::{establish_connection, ticket_data::get_ticket}; use backend::{establish_connection, ticket_data::get_ticket, admin_data::get_admin};
use common::CommonTicket; use common::CommonTicket;
use common::CommonAdmin;
// //Admin Services // //Admin Services
// #[get("/api/admin/{id}")] // #[get("/api/admin/{id}")]
@@ -18,15 +19,24 @@ use common::CommonTicket;
//Ticket Table Services //Ticket Table Services
#[get("api/ticket/{id}")] #[get("api/ticket/{id}")]
async fn ticket(id: web::Path<i32>) -> Json<CommonTicket> { async fn get_ticket(id: web::Path<i32>) -> Json<CommonTicket> {
let fetched_ticket = get_ticket(&mut establish_connection(), *id); let fetched_ticket = get_ticket(&mut establish_connection(), *id);
Json(fetched_ticket) Json(fetched_ticket)
} }
// Getting admin data or smth idk
#[get("api/admin/{id}")]
async fn get_admin(id: web::Path<i32>) -> Json<CommonAdmin> {
let fetched_admin_data = get_admin(&mut establish_connection(), *id);
Json(fetched_admin_data)
}
#[actix_web::main] #[actix_web::main]
async fn main() -> std::io::Result<()> { async fn main() -> std::io::Result<()> {
HttpServer::new(|| App::new().service(ticket)) HttpServer::new(|| App::new()
.bind(("127.0.0.1", 8081))? .service(get_ticket)
.service(get_admin))
.bind(("0.0.0.0", 48590))?
.run() .run()
.await .await
} }