summaryrefslogtreecommitdiffstats
path: root/src/server/routes/users.rs
blob: 9c9a3bffdb516a00198442ddddb08c6c52edcd5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
pub mod get_outbox;
pub mod post_inbox;
pub mod get_user;
pub mod webfinger;

use activitypub_federation::traits::Activity;
use axum::{routing::{get, post}, Router};
use serde::{Deserialize, Serialize};

use crate::server::activities::{accept::Accept, follow::Follow};
use url::Url;
use activitypub_federation::config::Data;

/// List of all activities which this actor can receive.
#[derive(Deserialize, Serialize, Debug)]
#[serde(untagged)]
#[enum_delegate::implement(Activity)]
pub enum PersonAcceptedActivities {
    Follow(Follow),
    Accept(Accept),
}


pub fn users_router() -> Router {
    Router::new()
        .route("/users/{username}", get(get_user::http_get_user))
        .route("/users/{username}/outbox", get(get_outbox::http_get_outbox))
        .route("/users/{username}/inbox", post(post_inbox::http_post_user_inbox))
        .route("/.well-known/webfinger", get(webfinger::webfinger))
}