refactor(routes): move page handlers to routes/app/ subdirectory
Move home, auth, data, add, and timeline page handlers to routes/app/. Update import paths: super::is_authenticated to crate::application::routes::is_authenticated, super::entity:: to crate::application::routes::api::entity:: in data.rs and add.rs.
This commit is contained in:
parent
9cc0b30cca
commit
bb8fff2630
5 changed files with 27 additions and 13 deletions
|
|
@ -11,7 +11,7 @@ use crate::application::routes::support::{
|
||||||
use crate::application::server::AppState;
|
use crate::application::server::AppState;
|
||||||
use crate::presentation::web::templates::{AddTemplate, Tab};
|
use crate::presentation::web::templates::{AddTemplate, Tab};
|
||||||
|
|
||||||
use super::brews::load_brew_form_data;
|
use crate::application::routes::api::brews::load_brew_form_data;
|
||||||
|
|
||||||
const ADD_TABS: &[Tab] = &[
|
const ADD_TABS: &[Tab] = &[
|
||||||
Tab {
|
Tab {
|
||||||
|
|
@ -60,7 +60,7 @@ pub(crate) async fn add_page(
|
||||||
cookies: tower_cookies::Cookies,
|
cookies: tower_cookies::Cookies,
|
||||||
Query(query): Query<AddQuery>,
|
Query(query): Query<AddQuery>,
|
||||||
) -> Result<Response, StatusCode> {
|
) -> Result<Response, StatusCode> {
|
||||||
let is_authenticated = super::is_authenticated(&state, &cookies).await;
|
let is_authenticated = crate::application::routes::is_authenticated(&state, &cookies).await;
|
||||||
|
|
||||||
if !is_authenticated {
|
if !is_authenticated {
|
||||||
return Ok(Redirect::to("/login").into_response());
|
return Ok(Redirect::to("/login").into_response());
|
||||||
|
|
@ -62,7 +62,7 @@ pub(crate) async fn data_page(
|
||||||
Query(list_query): Query<ListQuery>,
|
Query(list_query): Query<ListQuery>,
|
||||||
) -> Result<Response, StatusCode> {
|
) -> Result<Response, StatusCode> {
|
||||||
let entity_type = data_type.entity_type;
|
let entity_type = data_type.entity_type;
|
||||||
let is_authenticated = super::is_authenticated(&state, &cookies).await;
|
let is_authenticated = crate::application::routes::is_authenticated(&state, &cookies).await;
|
||||||
let search_value = list_query.search_value();
|
let search_value = list_query.search_value();
|
||||||
|
|
||||||
let content = render_entity_content(&state, &entity_type, list_query, is_authenticated)
|
let content = render_entity_content(&state, &entity_type, list_query, is_authenticated)
|
||||||
|
|
@ -145,7 +145,9 @@ async fn render_brews(
|
||||||
) -> Result<String, AppError> {
|
) -> Result<String, AppError> {
|
||||||
use crate::domain::brews::BrewSortKey;
|
use crate::domain::brews::BrewSortKey;
|
||||||
let (request, search) = list_query.into_request_and_search::<BrewSortKey>();
|
let (request, search) = list_query.into_request_and_search::<BrewSortKey>();
|
||||||
let data = super::brews::load_brew_page(state, request, search.as_deref()).await?;
|
let data =
|
||||||
|
crate::application::routes::api::brews::load_brew_page(state, request, search.as_deref())
|
||||||
|
.await?;
|
||||||
render_list(
|
render_list(
|
||||||
BrewListTemplate {
|
BrewListTemplate {
|
||||||
is_authenticated,
|
is_authenticated,
|
||||||
|
|
@ -163,8 +165,12 @@ async fn render_roasters(
|
||||||
) -> Result<String, AppError> {
|
) -> Result<String, AppError> {
|
||||||
use crate::domain::roasters::RoasterSortKey;
|
use crate::domain::roasters::RoasterSortKey;
|
||||||
let (request, search) = list_query.into_request_and_search::<RoasterSortKey>();
|
let (request, search) = list_query.into_request_and_search::<RoasterSortKey>();
|
||||||
let (roasters, navigator) =
|
let (roasters, navigator) = crate::application::routes::api::roasters::load_roaster_page(
|
||||||
super::roasters::load_roaster_page(state, request, search.as_deref()).await?;
|
state,
|
||||||
|
request,
|
||||||
|
search.as_deref(),
|
||||||
|
)
|
||||||
|
.await?;
|
||||||
render_list(
|
render_list(
|
||||||
RoasterListTemplate {
|
RoasterListTemplate {
|
||||||
is_authenticated,
|
is_authenticated,
|
||||||
|
|
@ -183,7 +189,8 @@ async fn render_roasts(
|
||||||
use crate::domain::roasts::RoastSortKey;
|
use crate::domain::roasts::RoastSortKey;
|
||||||
let (request, search) = list_query.into_request_and_search::<RoastSortKey>();
|
let (request, search) = list_query.into_request_and_search::<RoastSortKey>();
|
||||||
let (roasts, navigator) =
|
let (roasts, navigator) =
|
||||||
super::roasts::load_roast_page(state, request, search.as_deref()).await?;
|
crate::application::routes::api::roasts::load_roast_page(state, request, search.as_deref())
|
||||||
|
.await?;
|
||||||
render_list(
|
render_list(
|
||||||
RoastListTemplate {
|
RoastListTemplate {
|
||||||
is_authenticated,
|
is_authenticated,
|
||||||
|
|
@ -201,7 +208,9 @@ async fn render_bags(
|
||||||
) -> Result<String, AppError> {
|
) -> Result<String, AppError> {
|
||||||
use crate::domain::bags::BagSortKey;
|
use crate::domain::bags::BagSortKey;
|
||||||
let (request, search) = list_query.into_request_and_search::<BagSortKey>();
|
let (request, search) = list_query.into_request_and_search::<BagSortKey>();
|
||||||
let data = super::bags::load_bag_page(state, request, search.as_deref()).await?;
|
let data =
|
||||||
|
crate::application::routes::api::bags::load_bag_page(state, request, search.as_deref())
|
||||||
|
.await?;
|
||||||
render_list(
|
render_list(
|
||||||
BagListTemplate {
|
BagListTemplate {
|
||||||
is_authenticated,
|
is_authenticated,
|
||||||
|
|
@ -219,7 +228,9 @@ async fn render_gear(
|
||||||
) -> Result<String, AppError> {
|
) -> Result<String, AppError> {
|
||||||
use crate::domain::gear::GearSortKey;
|
use crate::domain::gear::GearSortKey;
|
||||||
let (request, search) = list_query.into_request_and_search::<GearSortKey>();
|
let (request, search) = list_query.into_request_and_search::<GearSortKey>();
|
||||||
let (gear, navigator) = super::gear::load_gear_page(state, request, search.as_deref()).await?;
|
let (gear, navigator) =
|
||||||
|
crate::application::routes::api::gear::load_gear_page(state, request, search.as_deref())
|
||||||
|
.await?;
|
||||||
render_list(
|
render_list(
|
||||||
GearListTemplate {
|
GearListTemplate {
|
||||||
is_authenticated,
|
is_authenticated,
|
||||||
|
|
@ -238,7 +249,8 @@ async fn render_cafes(
|
||||||
use crate::domain::cafes::CafeSortKey;
|
use crate::domain::cafes::CafeSortKey;
|
||||||
let (request, search) = list_query.into_request_and_search::<CafeSortKey>();
|
let (request, search) = list_query.into_request_and_search::<CafeSortKey>();
|
||||||
let (cafes, navigator) =
|
let (cafes, navigator) =
|
||||||
super::cafes::load_cafe_page(state, request, search.as_deref()).await?;
|
crate::application::routes::api::cafes::load_cafe_page(state, request, search.as_deref())
|
||||||
|
.await?;
|
||||||
render_list(
|
render_list(
|
||||||
CafeListTemplate {
|
CafeListTemplate {
|
||||||
is_authenticated,
|
is_authenticated,
|
||||||
|
|
@ -256,7 +268,9 @@ async fn render_cups(
|
||||||
) -> Result<String, AppError> {
|
) -> Result<String, AppError> {
|
||||||
use crate::domain::cups::CupSortKey;
|
use crate::domain::cups::CupSortKey;
|
||||||
let (request, search) = list_query.into_request_and_search::<CupSortKey>();
|
let (request, search) = list_query.into_request_and_search::<CupSortKey>();
|
||||||
let (cups, navigator) = super::cups::load_cup_page(state, request, search.as_deref()).await?;
|
let (cups, navigator) =
|
||||||
|
crate::application::routes::api::cups::load_cup_page(state, request, search.as_deref())
|
||||||
|
.await?;
|
||||||
render_list(
|
render_list(
|
||||||
CupListTemplate {
|
CupListTemplate {
|
||||||
is_authenticated,
|
is_authenticated,
|
||||||
|
|
@ -23,7 +23,7 @@ pub(crate) async fn home_page(
|
||||||
State(state): State<AppState>,
|
State(state): State<AppState>,
|
||||||
cookies: tower_cookies::Cookies,
|
cookies: tower_cookies::Cookies,
|
||||||
) -> Result<Response, StatusCode> {
|
) -> Result<Response, StatusCode> {
|
||||||
let is_authenticated = super::is_authenticated(&state, &cookies).await;
|
let is_authenticated = crate::application::routes::is_authenticated(&state, &cookies).await;
|
||||||
|
|
||||||
let (content, stats) =
|
let (content, stats) =
|
||||||
tokio::try_join!(load_home_content(&state), load_stats(&state),).map_err(map_app_error)?;
|
tokio::try_join!(load_home_content(&state), load_stats(&state),).map_err(map_app_error)?;
|
||||||
|
|
@ -78,7 +78,7 @@ pub(crate) async fn timeline_page(
|
||||||
Query(query): Query<TimelineQuery>,
|
Query(query): Query<TimelineQuery>,
|
||||||
) -> Result<Response, StatusCode> {
|
) -> Result<Response, StatusCode> {
|
||||||
let request = query.to_request();
|
let request = query.to_request();
|
||||||
let is_authenticated = super::is_authenticated(&state, &cookies).await;
|
let is_authenticated = crate::application::routes::is_authenticated(&state, &cookies).await;
|
||||||
|
|
||||||
if is_datastar_request(&headers) {
|
if is_datastar_request(&headers) {
|
||||||
return render_timeline_chunk(state, request, is_authenticated)
|
return render_timeline_chunk(state, request, is_authenticated)
|
||||||
Loading…
Reference in a new issue