refactor(backend): drop redundant LoftError from Result return types

This commit is contained in:
2026-06-13 17:31:03 +03:00
parent 2616896ecb
commit 450b3fdf52
3 changed files with 16 additions and 15 deletions

View File

@@ -5,13 +5,14 @@ use axum::{
}; };
use tower_cookies::Cookies; use tower_cookies::Cookies;
use crate::{ctx::Ctx, error::LoftError, model::UserRepository, web::AUTH_TOKEN}; use crate::{
ctx::Ctx,
error::{LoftError, Result},
model::UserRepository,
web::AUTH_TOKEN,
};
pub async fn mw_require_auth( pub async fn mw_require_auth(ctx: Result<Ctx>, req: Request, next: Next) -> Result<Response> {
ctx: Result<Ctx, LoftError>,
req: Request,
next: Next,
) -> Result<Response, LoftError> {
ctx?; ctx?;
Ok(next.run(req).await) Ok(next.run(req).await)
@@ -22,7 +23,7 @@ pub async fn mw_ctx_resolver(
cookies: Cookies, cookies: Cookies,
mut req: Request, mut req: Request,
next: Next, next: Next,
) -> Result<Response, LoftError> { ) -> Result<Response> {
let auth_token = cookies.get(AUTH_TOKEN).map(|c| c.value().to_string()); let auth_token = cookies.get(AUTH_TOKEN).map(|c| c.value().to_string());
let result_ctx = match auth_token { let result_ctx = match auth_token {
@@ -46,7 +47,7 @@ impl<S: Send + Sync> FromRequestParts<S> for Ctx {
) -> Result<Self, Self::Rejection> { ) -> Result<Self, Self::Rejection> {
parts parts
.extensions .extensions
.get::<Result<Ctx, LoftError>>() .get::<Result<Ctx>>()
.ok_or(LoftError::AuthFailCtxNotInRequestExt)? .ok_or(LoftError::AuthFailCtxNotInRequestExt)?
.clone() .clone()
} }

View File

@@ -27,7 +27,7 @@ async fn upload_file(
State(file_repository): State<FileRepository>, State(file_repository): State<FileRepository>,
ctx: Ctx, ctx: Ctx,
mut multipart: Multipart, mut multipart: Multipart,
) -> Result<Json<FileRecord>, LoftError> { ) -> Result<Json<FileRecord>> {
let mut uploaded: Option<(String, String, usize)> = None; let mut uploaded: Option<(String, String, usize)> = None;
while let Some(field) = multipart.next_field().await? { while let Some(field) = multipart.next_field().await? {
@@ -52,7 +52,7 @@ async fn get_file(
State(file_repository): State<FileRepository>, State(file_repository): State<FileRepository>,
ctx: Ctx, ctx: Ctx,
Path(file_id): Path<u64>, Path(file_id): Path<u64>,
) -> Result<Json<FileRecord>, LoftError> { ) -> Result<Json<FileRecord>> {
let record = file_repository let record = file_repository
.get_file(file_id as i64, ctx.user_id()) .get_file(file_id as i64, ctx.user_id())
.await?; .await?;
@@ -121,7 +121,7 @@ async fn delete_file(
State(file_repository): State<FileRepository>, State(file_repository): State<FileRepository>,
ctx: Ctx, ctx: Ctx,
Path(file_id): Path<u64>, Path(file_id): Path<u64>,
) -> Result<Json<FileRecord>, LoftError> { ) -> Result<Json<FileRecord>> {
let file = file_repository let file = file_repository
.delete_file(file_id as i64, ctx.user_id()) .delete_file(file_id as i64, ctx.user_id())
.await?; .await?;
@@ -131,7 +131,7 @@ async fn delete_file(
async fn list_files( async fn list_files(
State(file_repository): State<FileRepository>, State(file_repository): State<FileRepository>,
ctx: Ctx, ctx: Ctx,
) -> Result<Json<Vec<FileRecord>>, LoftError> { ) -> Result<Json<Vec<FileRecord>>> {
let files = file_repository.list_files(ctx.user_id()).await?; let files = file_repository.list_files(ctx.user_id()).await?;
Ok(Json(files)) Ok(Json(files))
} }

View File

@@ -26,7 +26,7 @@ async fn login(
State(user_repository): State<UserRepository>, State(user_repository): State<UserRepository>,
cookies: Cookies, cookies: Cookies,
Json(payload): Json<LoginPayload>, Json(payload): Json<LoginPayload>,
) -> Result<StatusCode, LoftError> { ) -> Result<StatusCode> {
let user = user_repository let user = user_repository
.find_by_username(&payload.username) .find_by_username(&payload.username)
.await? .await?
@@ -53,7 +53,7 @@ async fn login(
async fn logout( async fn logout(
State(user_repository): State<UserRepository>, State(user_repository): State<UserRepository>,
cookies: Cookies, cookies: Cookies,
) -> Result<StatusCode, LoftError> { ) -> Result<StatusCode> {
let auth_token = cookies.get(AUTH_TOKEN).map(|c| c.value().to_string()); let auth_token = cookies.get(AUTH_TOKEN).map(|c| c.value().to_string());
if let Some(auth_token) = auth_token { if let Some(auth_token) = auth_token {
@@ -67,7 +67,7 @@ async fn logout(
async fn register( async fn register(
State(user_repository): State<UserRepository>, State(user_repository): State<UserRepository>,
Json(payload): Json<LoginPayload>, Json(payload): Json<LoginPayload>,
) -> Result<StatusCode, LoftError> { ) -> Result<StatusCode> {
if user_repository if user_repository
.find_by_username(&payload.username) .find_by_username(&payload.username)
.await? .await?