diff options
author | rtkay123 <dev@kanjala.com> | 2025-07-17 14:00:40 +0200 |
---|---|---|
committer | rtkay123 <dev@kanjala.com> | 2025-07-17 14:00:40 +0200 |
commit | 69fe55ad54468948c13af520a498ed4aeac194ed (patch) | |
tree | c7db25aa7cf615480e9b386064f232d2bec6ccc3 /src/server/routes/users/webfinger.rs | |
parent | 5fdb24b6a2cef7964a049e789ed90f883221d657 (diff) | |
download | sellershut-69fe55ad54468948c13af520a498ed4aeac194ed.tar.bz2 sellershut-69fe55ad54468948c13af520a498ed4aeac194ed.zip |
chore: convert to workspace
Diffstat (limited to 'src/server/routes/users/webfinger.rs')
-rw-r--r-- | src/server/routes/users/webfinger.rs | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/src/server/routes/users/webfinger.rs b/src/server/routes/users/webfinger.rs deleted file mode 100644 index c395d59..0000000 --- a/src/server/routes/users/webfinger.rs +++ /dev/null @@ -1,86 +0,0 @@ -use activitypub_federation::{ - config::Data, - fetch::webfinger::{build_webfinger_response, extract_webfinger_name}, -}; -use axum::{Json, extract::Query, http::StatusCode, response::IntoResponse}; -use serde::Deserialize; - -use crate::{error::AppError, server::routes::users::get_user::read_user, state::AppHandle}; - -#[derive(Deserialize)] -pub struct WebfingerQuery { - resource: String, -} - -pub async fn webfinger( - Query(query): Query<WebfingerQuery>, - data: Data<AppHandle>, -) -> Result<impl IntoResponse, AppError> { - let name = extract_webfinger_name(&query.resource, &data)?; - if let Some(db_user) = read_user(name, &data).await? { - Ok(( - StatusCode::OK, - Json(build_webfinger_response( - query.resource, - db_user.ap_id.into_inner(), - )), - ) - .into_response()) - } else { - Ok((StatusCode::NOT_FOUND, "").into_response()) - } -} - -#[cfg(test)] -mod tests { - use axum::{ - body::Body, - http::{Request, StatusCode}, - }; - use sqlx::PgPool; - use stack_up::Services; - use tower::ServiceExt; - - use crate::{ - server::{self, test_config}, - state::AppState, - }; - - #[sqlx::test] - async fn webfinger_ok(pool: PgPool) { - let services = Services { postgres: pool }; - let state = AppState::create(services, &test_config()).await.unwrap(); - let app = server::router(state); - - let response = app - .oneshot( - Request::builder() - .uri("/.well-known/webfinger?resource=acct:sellershut@localhost") - .body(Body::empty()) - .unwrap(), - ) - .await - .unwrap(); - - assert_eq!(response.status(), StatusCode::OK); - } - - #[sqlx::test] - async fn webfinger_err(pool: PgPool) { - let services = Services { postgres: pool }; - let state = AppState::create(services, &test_config()).await.unwrap(); - let app = server::router(state); - - let response = app - .oneshot( - Request::builder() - .uri("/.well-known/webfinger?resource=acct:sst@localhost") - .body(Body::empty()) - .unwrap(), - ) - .await - .unwrap(); - - assert_eq!(response.status(), StatusCode::NOT_FOUND); - } -} |