fix: lots of small errors
Some checks failed
Rust / build_and_test (push) Failing after 52s

This commit is contained in:
Lukas Wölfer
2026-04-10 23:26:34 +02:00
parent 559f36224e
commit 1904c631c5
5 changed files with 585 additions and 487 deletions

View File

@@ -1,21 +1,47 @@
pub mod handlers;
pub mod models;
use axum::{routing::{get, post}, Router};
use axum_sessions::{async_session::MemoryStore, SessionLayer};
use oauth2::basic::BasicClient;
use axum::{
Router,
routing::{get, post},
};
use axum_session::{SessionConfig, SessionLayer, SessionStore};
use axum_session_sqlx::SessionSqlitePool;
use sqlx::SqlitePool;
use tower_http::services::ServeDir;
#[derive(Clone)]
pub struct AppState {
pub pool: SqlitePool,
pub oidc_client: BasicClient,
pub oidc_client: oauth2::Client<
oauth2::StandardErrorResponse<oauth2::basic::BasicErrorResponseType>,
oauth2::StandardTokenResponse<oauth2::EmptyExtraTokenFields, oauth2::basic::BasicTokenType>,
oauth2::StandardTokenIntrospectionResponse<
oauth2::EmptyExtraTokenFields,
oauth2::basic::BasicTokenType,
>,
oauth2::StandardRevocableToken,
oauth2::StandardErrorResponse<oauth2::RevocationErrorResponseType>,
oauth2::EndpointSet,
oauth2::EndpointNotSet,
oauth2::EndpointNotSet,
oauth2::EndpointNotSet,
oauth2::EndpointSet,
>,
}
pub fn create_app(state: AppState, session_secret: Vec<u8>) -> Router {
let store = MemoryStore::new();
let session_layer = SessionLayer::new(store, &session_secret).with_secure(false);
pub async fn create_app(state: AppState, session_secret: Vec<u8>, pool: SqlitePool) -> Router {
//This Defaults as normal Cookies.
//To enable Private cookies for integrity, and authenticity please check the next Example.
let session_config = SessionConfig::default()
.with_table_name("sessions_table")
.with_key(axum_session::Key::from(&session_secret));
// create SessionStore and initiate the database tables
let session_store =
SessionStore::<SessionSqlitePool>::new(Some(pool.clone().into()), session_config)
.await
.unwrap();
let app = Router::new()
.route("/", get(handlers::index))
@@ -23,7 +49,7 @@ pub fn create_app(state: AppState, session_secret: Vec<u8>) -> Router {
.route("/auth/callback", get(handlers::callback))
.route("/input", post(handlers::input_post))
.with_state(state)
.layer(session_layer)
.layer(SessionLayer::new(session_store))
.nest_service("/static", ServeDir::new("static"));
#[cfg(test)]