Initial commit

This commit is contained in:
Sebastian H. Gabrielli 2023-12-23 12:00:10 +01:00
commit ab81d241df
5 changed files with 1602 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/target

1539
Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

10
Cargo.toml Normal file
View File

@ -0,0 +1,10 @@
[package]
name = "rocket-test"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
rocket = {version = "0.5.0", features = ["json"] }
serde = { version = "1.0", features = ["derive"] }

52
src/main.rs Normal file
View File

@ -0,0 +1,52 @@
// Webserver
#[macro_use] extern crate rocket;
use rocket::response::status;
use rocket::serde::{Serialize, Deserialize, json::Json};
// Database
#[derive(Serialize, Deserialize)]
struct RfidCard {
cardId: String,
cardComment: String
}
#[derive(Serialize, Deserialize)]
struct Member {
id: u64,
ntnuUsername: String,
firstName: String,
lastName: String,
email: String,
balance: i64,
imagePreference: String,
rfidCards: Vec<RfidCard>
}
#[get("/")]
fn index() -> &'static str {
"Hello, world!\nNothing useful is served here."
}
#[get("/member/<memberId>")]
fn get_member(memberId: u64) -> Json<Member> {
let sebasthg = Member {
id: 1,
ntnuUsername: "sebasthg".to_string(),
firstName: "Sebastian".to_string(),
lastName: "Gabrielli".to_string(),
email: "sebastian@fastmail.mx".to_string(),
balance: 50,
imagePreference: "Money".to_string(),
rfidCards: vec![ RfidCard { cardId: "0364249683".to_string(), cardComment: "Studentkort".to_string() } ]
};
Json(sebasthg)
}
#[launch]
fn rocket() -> _ {
rocket::build()
.mount("/", routes![index])
.mount("/", routes![get_member])
}

BIN
test.db Normal file

Binary file not shown.