refactor: update AppState imports to use state module

Mechanical change: all route handlers and auth middleware now import
AppState from application::state instead of application::server.
This commit is contained in:
Jon Seager 2026-02-06 13:48:09 +00:00
parent 4909d24a60
commit 9a46bb3613
No known key found for this signature in database
27 changed files with 30 additions and 30 deletions

View file

@ -6,7 +6,7 @@ use axum::{
use tower_cookies::Cookies;
use tracing::warn;
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::domain::users::User;
use crate::infrastructure::auth::hash_token;

View file

@ -6,7 +6,7 @@ use serde::Serialize;
use tracing::error;
use crate::application::auth::AuthenticatedUser;
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::domain::ids::PasskeyCredentialId;
#[derive(Serialize)]

View file

@ -5,7 +5,7 @@ use axum::response::{IntoResponse, Response};
use crate::application::auth::AuthenticatedUser;
use crate::application::errors::{ApiError, AppError};
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::infrastructure::backup::BackupData;
/// GET /api/v1/backup — export all data as JSON (requires authentication)

View file

@ -11,7 +11,7 @@ use crate::application::errors::{ApiError, AppError};
use crate::application::routes::support::{
FlexiblePayload, ListQuery, PayloadSource, is_datastar_request,
};
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::domain::bags::{BagFilter, BagSortKey, BagWithRoast, NewBag, UpdateBag};
use crate::domain::ids::{BagId, RoastId};
use crate::domain::listing::{ListRequest, SortDirection};

View file

@ -11,7 +11,7 @@ use crate::application::errors::{ApiError, AppError};
use crate::application::routes::support::{
FlexiblePayload, ListQuery, PayloadSource, is_datastar_request,
};
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::domain::bags::BagFilter;
use crate::domain::brews::{BrewFilter, BrewSortKey, BrewWithDetails, NewBrew, QuickNote};
use crate::domain::gear::{GearCategory, GearFilter, GearSortKey};

View file

@ -10,7 +10,7 @@ use crate::application::errors::{ApiError, AppError};
use crate::application::routes::support::{
FlexiblePayload, ListQuery, PayloadSource, is_datastar_request,
};
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::domain::cafes::{Cafe, CafeSortKey, NewCafe, UpdateCafe};
use crate::domain::ids::CafeId;
use crate::domain::listing::{ListRequest, SortDirection};

View file

@ -7,7 +7,7 @@ use serde::Deserialize;
use crate::application::auth::AuthenticatedUser;
use crate::application::errors::{ApiError, AppError};
use crate::application::routes::support::{FlexiblePayload, PayloadSource, is_datastar_request};
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::domain::cafes::NewCafe;
use crate::domain::cups::NewCup;
use crate::domain::ids::{CafeId, RoastId};

View file

@ -11,7 +11,7 @@ use crate::application::errors::{ApiError, AppError};
use crate::application::routes::support::{
FlexiblePayload, ListQuery, PayloadSource, is_datastar_request,
};
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::domain::cups::{CupFilter, CupSortKey, CupWithDetails, NewCup};
use crate::domain::ids::CupId;
use crate::domain::listing::{ListRequest, SortDirection};

View file

@ -13,7 +13,7 @@ use crate::application::errors::{ApiError, AppError};
use crate::application::routes::support::{
FlexiblePayload, ListQuery, PayloadSource, is_datastar_request,
};
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::domain::gear::{Gear, GearCategory, GearFilter, GearSortKey, NewGear, UpdateGear};
use crate::domain::ids::GearId;
use crate::domain::listing::{ListRequest, SortDirection};

View file

@ -14,7 +14,7 @@ macro_rules! define_get_handler {
($fn_name:ident, $id_type:ty, $entity_type:ty, $repo_field:ident) => {
#[tracing::instrument(skip(state))]
pub(crate) async fn $fn_name(
axum::extract::State(state): axum::extract::State<crate::application::server::AppState>,
axum::extract::State(state): axum::extract::State<crate::application::state::AppState>,
axum::extract::Path(id): axum::extract::Path<$id_type>,
) -> Result<axum::Json<$entity_type>, crate::application::errors::ApiError> {
let entity = state
@ -44,7 +44,7 @@ macro_rules! define_enriched_get_handler {
($fn_name:ident, $id_type:ty, $entity_type:ty, $repo_field:ident, $method:ident) => {
#[tracing::instrument(skip(state))]
pub(crate) async fn $fn_name(
axum::extract::State(state): axum::extract::State<crate::application::server::AppState>,
axum::extract::State(state): axum::extract::State<crate::application::state::AppState>,
axum::extract::Path(id): axum::extract::Path<$id_type>,
) -> Result<axum::Json<$entity_type>, crate::application::errors::ApiError> {
let entity = state
@ -80,7 +80,7 @@ macro_rules! define_delete_handler {
($fn_name:ident, $id_type:ty, $sort_key:ty, $repo_field:ident, $render_fragment:path) => {
#[tracing::instrument(skip(state, _auth_user, headers, query))]
pub(crate) async fn $fn_name(
axum::extract::State(state): axum::extract::State<crate::application::server::AppState>,
axum::extract::State(state): axum::extract::State<crate::application::state::AppState>,
_auth_user: crate::application::auth::AuthenticatedUser,
headers: axum::http::HeaderMap,
axum::extract::Path(id): axum::extract::Path<$id_type>,
@ -133,7 +133,7 @@ macro_rules! define_delete_handler {
macro_rules! define_list_fragment_renderer {
($fn_name:ident, $sort_key:ty, $loader:ident, $template:ident { $field:ident }, $selector:literal) => {
async fn $fn_name(
state: crate::application::server::AppState,
state: crate::application::state::AppState,
request: crate::domain::listing::ListRequest<$sort_key>,
search: Option<String>,
is_authenticated: bool,

View file

@ -16,7 +16,7 @@ pub(crate) mod webauthn;
use axum::extract::DefaultBodyLimit;
use axum::routing::{get, post};
use crate::application::server::AppState;
use crate::application::state::AppState;
#[allow(clippy::too_many_lines)]
pub(super) fn router() -> axum::Router<AppState> {

View file

@ -9,7 +9,7 @@ use crate::application::errors::{ApiError, AppError};
use crate::application::routes::support::{
FlexiblePayload, ListQuery, PayloadSource, is_datastar_request,
};
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::domain::ids::RoasterId;
use crate::domain::listing::{ListRequest, SortDirection};
use crate::domain::roasters::{NewRoaster, Roaster, RoasterSortKey, UpdateRoaster};

View file

@ -12,7 +12,7 @@ use crate::application::errors::{ApiError, AppError};
use crate::application::routes::support::{
FlexiblePayload, ListQuery, PayloadSource, is_datastar_request,
};
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::domain::ids::{RoastId, RoasterId};
use crate::domain::listing::{ListRequest, SortDirection};
use crate::domain::roasts::{NewRoast, RoastSortKey, RoastWithRoaster, UpdateRoast};

View file

@ -9,7 +9,7 @@ use super::roasts::TastingNotesInput;
use crate::application::auth::AuthenticatedUser;
use crate::application::errors::{ApiError, AppError};
use crate::application::routes::support::{FlexiblePayload, is_datastar_request};
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::domain::bags::NewBag;
use crate::domain::errors::RepositoryError;
use crate::domain::ids::RoastId;

View file

@ -11,7 +11,7 @@ use crate::application::errors::{ApiError, AppError};
use crate::application::routes::support::{
FlexiblePayload, is_datastar_request, render_signals_json,
};
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::domain::ids::{TokenId, UserId};
use crate::domain::tokens::{NewToken, Token};
use crate::infrastructure::auth::{generate_token, hash_token};

View file

@ -9,7 +9,7 @@ use uuid::Uuid;
use webauthn_rs::prelude::*;
use crate::application::auth::AuthenticatedUser;
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::domain::passkey_credentials::NewPasskeyCredential;
use crate::domain::sessions::NewSession;
use crate::domain::tokens::NewToken;

View file

@ -8,7 +8,7 @@ use tower_cookies::Cookies;
use tracing::{error, warn};
use crate::application::routes::render_html;
use crate::application::server::AppState;
use crate::application::state::AppState;
// --- View types ---

View file

@ -8,7 +8,7 @@ use crate::application::routes::render_html;
use crate::application::routes::support::{
load_cafe_options, load_roast_options, load_roaster_options,
};
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::presentation::web::templates::{AddTemplate, Tab};
use crate::application::routes::api::brews::load_brew_form_data;

View file

@ -7,7 +7,7 @@ use tower_cookies::{Cookie, Cookies};
use tracing::{info, warn};
use crate::application::routes::render_html;
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::infrastructure::auth::hash_token;
const SESSION_COOKIE_NAME: &str = "brewlog_session";

View file

@ -5,7 +5,7 @@ use axum::response::{IntoResponse, Redirect, Response};
use crate::application::errors::map_app_error;
use crate::application::routes::render_html;
use crate::application::routes::support::{load_cafe_options, load_roast_options};
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::presentation::web::templates::CheckInTemplate;
#[tracing::instrument(skip(state, cookies))]

View file

@ -6,7 +6,7 @@ use serde::Deserialize;
use crate::application::errors::{AppError, map_app_error};
use crate::application::routes::render_html;
use crate::application::routes::support::{ListQuery, is_datastar_request};
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::presentation::web::templates::{
BagListTemplate, BrewListTemplate, CafeListTemplate, CupListTemplate, DataTemplate,
GearListTemplate, RoastListTemplate, RoasterListTemplate, Tab, render_template,

View file

@ -4,7 +4,7 @@ use axum::response::{IntoResponse, Response};
use crate::application::errors::{AppError, map_app_error};
use crate::application::routes::render_html;
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::domain::bags::{BagFilter, BagSortKey};
use crate::domain::brews::{BrewFilter, BrewSortKey};
use crate::domain::cafes::CafeSortKey;

View file

@ -10,7 +10,7 @@ mod webauthn;
use axum::response::{IntoResponse, Redirect};
use axum::routing::{get, post};
use crate::application::server::AppState;
use crate::application::state::AppState;
pub(super) fn router() -> axum::Router<AppState> {
axum::Router::new()

View file

@ -7,7 +7,7 @@ use serde::Deserialize;
use crate::application::errors::{AppError, map_app_error};
use crate::application::routes::render_html;
use crate::application::routes::support::{is_datastar_request, normalize_request};
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::domain::listing::{ListRequest, PageSize, SortDirection, SortKey};
use crate::domain::timeline::{TimelineEvent, TimelineSortKey};
use crate::presentation::web::templates::{TimelineChunkTemplate, TimelineTemplate};

View file

@ -5,7 +5,7 @@ use axum::response::{IntoResponse, Response};
use tracing::warn;
use crate::application::routes::render_html;
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::infrastructure::auth::hash_token;
// --- Templates ---

View file

@ -13,7 +13,7 @@ use tower_http::trace::{DefaultMakeSpan, DefaultOnResponse, TraceLayer};
use tracing::Level;
use tracing::error;
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::presentation::web::templates::render_template;

View file

@ -7,7 +7,7 @@ use serde::Deserialize;
use tracing::warn;
use crate::application::errors::{ApiError, AppError};
use crate::application::server::AppState;
use crate::application::state::AppState;
use crate::domain::listing::{
DEFAULT_PAGE_SIZE, ListRequest, Page, PageSize, SortDirection, SortKey,
};