feat: add POST /federation/me/move endpoint

This commit is contained in:
2026-05-28 01:47:29 +02:00
parent ff75361eb1
commit 50a90efbce
4 changed files with 39 additions and 0 deletions

View File

@@ -22,6 +22,11 @@ pub struct HandleBody {
pub handle: String,
}
#[derive(Deserialize)]
pub struct MoveBody {
pub new_actor_url: String,
}
deps_struct!(FederationManagementDeps {
federation: FederationActionPort,
follows: FollowRepository,
@@ -107,3 +112,17 @@ pub async fn delete_following(
.await?;
Ok(StatusCode::NO_CONTENT)
}
pub async fn post_move_account(
Deps(d): Deps<FederationManagementDeps>,
AuthUser(uid): AuthUser,
Json(body): Json<MoveBody>,
) -> Result<StatusCode, ApiError> {
let new_url = url::Url::parse(&body.new_actor_url)
.map_err(|_| ApiError::BadRequest("invalid new_actor_url".into()))?;
d.federation
.broadcast_move(&uid, new_url)
.await
.map_err(ApiError::from)?;
Ok(StatusCode::NO_CONTENT)
}

View File

@@ -104,6 +104,10 @@ pub fn router() -> Router<AppState> {
get(federation_management::get_remote_following)
.delete(federation_management::delete_following),
)
.route(
"/federation/me/move",
post(federation_management::post_move_account),
)
.route("/tags/popular", get(feed::get_popular_tags))
.route("/tags/{name}", get(feed::tag_thoughts_handler))
// notifications