feat(diesel): start setting up diesel

This commit is contained in:
DJMrTV 2025-02-24 10:43:47 +01:00
commit 2cd0311a20
8 changed files with 468 additions and 2 deletions

10
src/account/account.rs Normal file
View file

@ -0,0 +1,10 @@
use diesel::{Queryable, Selectable};
#[derive(Queryable, Selectable)]
#[diesel(table_name = crate::db::user)]
#[diesel(check_for_backend(diesel::mysql::Mysql))]
pub struct User {
pub id: i32,
pub name: String,
pub hashed_pw: String
}

1
src/account/mod.rs Normal file
View file

@ -0,0 +1 @@
mod account;

View file

@ -1,10 +1,26 @@
use std::env;
use diesel::{Connection, MysqlConnection};
use dotenvy::dotenv;
use rocket::fairing::AdHoc;
use rocket::http::Header;
use rocket::routes;
mod xml;
mod conntest;
mod db;
mod account;
#[rocket::launch]
async fn launch() -> _ {
dotenv().ok();
let act_database_url = env::var("ACCOUNT_DATABASE_URL").expect("account database url is not set");
let conn = MysqlConnection::establish(&act_database_url).expect("unable to connect to database");
rocket::build()
.attach(AdHoc::on_response("org", |_, response| Box::pin(async move {
response.adjoin_header(Header::new("x-organization", "Nintendo"));
})))
.mount("/", routes![conntest::conntest])
}