Compare commits

...

2 Commits

Author SHA1 Message Date
Sebastian H. Gabrielli
c61692cc32 Fix issue where member last name became RFID card
When applying the JSON override fields the RFID card info was assigned
to the lastName field. this has been fixed.
2023-12-26 21:02:06 +01:00
Sebastian H. Gabrielli
e7cbe25602 Handle CORS 2023-12-26 21:01:36 +01:00
4 changed files with 54 additions and 3 deletions

37
Cargo.lock generated
View File

@ -1783,6 +1783,7 @@ version = "0.1.0"
dependencies = [ dependencies = [
"futures", "futures",
"rocket", "rocket",
"rocket_cors",
"sea-orm", "sea-orm",
"serde", "serde",
] ]
@ -1804,6 +1805,23 @@ dependencies = [
"version_check", "version_check",
] ]
[[package]]
name = "rocket_cors"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cfac3a1df83f8d4fc96aa41dba3b86c786417b7fc0f52ec76295df2ba781aa69"
dependencies = [
"http",
"log",
"regex",
"rocket",
"serde",
"serde_derive",
"unicase",
"unicase_serde",
"url",
]
[[package]] [[package]]
name = "rocket_http" name = "rocket_http"
version = "0.5.0" version = "0.5.0"
@ -2782,6 +2800,25 @@ dependencies = [
"version_check", "version_check",
] ]
[[package]]
name = "unicase"
version = "2.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
dependencies = [
"version_check",
]
[[package]]
name = "unicase_serde"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ef53697679d874d69f3160af80bc28de12730a985d57bdf2b47456ccb8b11f1"
dependencies = [
"serde",
"unicase",
]
[[package]] [[package]]
name = "unicode-bidi" name = "unicode-bidi"
version = "0.3.14" version = "0.3.14"

View File

@ -9,4 +9,5 @@ edition = "2021"
rocket = {version = "0.5.0", features = ["json"] } rocket = {version = "0.5.0", features = ["json"] }
serde = { version = "1.0", features = ["derive"] } serde = { version = "1.0", features = ["derive"] }
sea-orm = { version = "^0.12.0", features = [ "sqlx-sqlite", "runtime-tokio-native-tls", "macros", "mock" ] } sea-orm = { version = "^0.12.0", features = [ "sqlx-sqlite", "runtime-tokio-native-tls", "macros", "mock" ] }
futures = "0.3.28" futures = "0.3.28"
rocket_cors = "0.6.0"

View File

@ -1,12 +1,21 @@
// Webserver // Webserver
#[macro_use] extern crate rocket; #[macro_use] extern crate rocket;
mod database;
// Import the data models
pub mod models; pub mod models;
// Import the database setup
mod database;
use database::set_up_db; use database::set_up_db;
// Import the member functions
mod webserver_member; mod webserver_member;
use webserver_member::*; use webserver_member::*;
// Handle CORS
use rocket_cors::{AllowedOrigins, CorsOptions};
// Serve the very exiting main page
#[get("/")] #[get("/")]
fn index() -> &'static str { fn index() -> &'static str {
"Hello, world!\nNothing useful is served here." "Hello, world!\nNothing useful is served here."
@ -19,8 +28,12 @@ async fn rocket() -> _ {
Err(err) => panic!("{}", err) Err(err) => panic!("{}", err)
}; };
let cors = CorsOptions::default().allowed_origins(AllowedOrigins::all())
.to_cors().unwrap();
rocket::build() rocket::build()
.manage(db) .manage(db)
.attach(cors)
.mount("/", routes![ .mount("/", routes![
index, index,
get_member_by_id, get_member_by_id,

View File

@ -40,7 +40,7 @@ pub struct Member {
pub balance: i32, pub balance: i32,
#[serde(rename = "imagePreference")] #[serde(rename = "imagePreference")]
pub image_preference: String, pub image_preference: String,
#[serde(rename = "lastName")] #[serde(rename = "rfidCards")]
pub rfid_cards: Vec<RfidCard> pub rfid_cards: Vec<RfidCard>
} }