fix: database creation

This commit is contained in:
Lukas Wölfer
2026-04-11 14:33:36 +02:00
parent 5b9ab3f47d
commit 614f044160
4 changed files with 61 additions and 46 deletions

View File

@@ -1,6 +1,7 @@
use oauth2::{AuthUrl, ClientId, ClientSecret, RedirectUrl, TokenUrl, basic::BasicClient};
use std::str::FromStr;
use sqlx::SqlitePool;
use weight_tracker::{AppState, create_app, config::Config};
use weight_tracker::{AppState, config::Config, create_app};
#[tokio::main]
async fn main() {
@@ -13,26 +14,16 @@ async fn main() {
});
// Set up database
let pool = SqlitePool::connect(&config.database.url)
.await
.expect("Failed to connect to database");
let pool = SqlitePool::connect_with(
sqlx::sqlite::SqliteConnectOptions::from_str(&config.database.url)
.expect("Could not parse database URL")
.create_if_missing(true),
)
.await
.expect("Failed to connect to database");
// Set up OIDC client
let client_id = ClientId::new(config.oidc.client_id);
let client_secret = ClientSecret::new(config.oidc.client_secret);
let auth_url = AuthUrl::new(config.oidc.auth_url)
.unwrap();
let token_url = TokenUrl::new(config.oidc.token_url)
.unwrap();
let redirect_url = RedirectUrl::new(config.oidc.redirect_url)
.unwrap();
let oidc_client = BasicClient::new(client_id)
.set_client_secret(client_secret)
.set_auth_uri(auth_url)
.set_token_uri(token_url)
// Set the URL the user will be redirected to after the authorization process.
.set_redirect_uri(redirect_url);
let oidc_client = config.oidc.to_client();
let secret = config.session.secret.as_bytes().to_vec();
@@ -44,9 +35,7 @@ async fn main() {
let app = create_app(app_state, secret, pool).await;
let addr = format!("{}:{}", config.server.host, config.server.port);
let listener = tokio::net::TcpListener::bind(&addr)
.await
.unwrap();
let listener = tokio::net::TcpListener::bind(&addr).await.unwrap();
println!("listening on {}", listener.local_addr().unwrap());
axum::serve(listener, app).await.unwrap();
}