refactor(backend): drop redundant LoftError from Result return types
This commit is contained in:
@@ -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()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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?
|
||||||
|
|||||||
Reference in New Issue
Block a user