feat(presentation): add GET /federation/me/friends handler and route
This commit is contained in:
@@ -5,8 +5,8 @@ use crate::{
|
|||||||
};
|
};
|
||||||
use api_types::responses::{ProfileField, RemoteActorResponse};
|
use api_types::responses::{ProfileField, RemoteActorResponse};
|
||||||
use application::use_cases::federation_management::{
|
use application::use_cases::federation_management::{
|
||||||
accept_follow_request, initiate_actor_move, list_pending_requests, list_remote_followers,
|
accept_follow_request, get_remote_friends, initiate_actor_move, list_pending_requests,
|
||||||
list_remote_following, reject_follow_request, remove_remote_following,
|
list_remote_followers, list_remote_following, reject_follow_request, remove_remote_following,
|
||||||
};
|
};
|
||||||
use axum::{http::StatusCode, Json};
|
use axum::{http::StatusCode, Json};
|
||||||
use domain::ports::{EventPublisher, FederationActionPort, FollowRepository, UserRepository};
|
use domain::ports::{EventPublisher, FederationActionPort, FollowRepository, UserRepository};
|
||||||
@@ -96,6 +96,14 @@ pub async fn get_remote_following(
|
|||||||
Ok(Json(actors.into_iter().map(to_response).collect()))
|
Ok(Json(actors.into_iter().map(to_response).collect()))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub async fn get_remote_friends_handler(
|
||||||
|
Deps(d): Deps<FederationManagementDeps>,
|
||||||
|
AuthUser(uid): AuthUser,
|
||||||
|
) -> Result<Json<Vec<RemoteActorResponse>>, ApiError> {
|
||||||
|
let actors = get_remote_friends(&*d.federation, &uid).await?;
|
||||||
|
Ok(Json(actors.into_iter().map(to_response).collect()))
|
||||||
|
}
|
||||||
|
|
||||||
pub async fn delete_following(
|
pub async fn delete_following(
|
||||||
Deps(d): Deps<FederationManagementDeps>,
|
Deps(d): Deps<FederationManagementDeps>,
|
||||||
AuthUser(uid): AuthUser,
|
AuthUser(uid): AuthUser,
|
||||||
|
|||||||
@@ -105,6 +105,10 @@ pub fn router() -> Router<AppState> {
|
|||||||
get(federation_management::get_remote_following)
|
get(federation_management::get_remote_following)
|
||||||
.delete(federation_management::delete_following),
|
.delete(federation_management::delete_following),
|
||||||
)
|
)
|
||||||
|
.route(
|
||||||
|
"/federation/me/friends",
|
||||||
|
get(federation_management::get_remote_friends_handler),
|
||||||
|
)
|
||||||
.route(
|
.route(
|
||||||
"/federation/me/move",
|
"/federation/me/move",
|
||||||
post(federation_management::post_move_account),
|
post(federation_management::post_move_account),
|
||||||
|
|||||||
Reference in New Issue
Block a user