fix: database creation
This commit is contained in:
35
src/main.rs
35
src/main.rs
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user