mod inbox; pub use inbox::inbox; mod outbox; pub use outbox::outbox; mod following; pub use following::follow___; use std::sync::Arc; use axum::{extract::{Path, State}, http::StatusCode}; use sea_orm::{DatabaseConnection, EntityTrait}; use crate::{activitystream::Base, model::user, server::Context}; use super::{jsonld::LD, JsonLD}; pub async fn list(State(_db) : State>) -> Result, StatusCode> { todo!() } pub async fn view(State(ctx) : State, Path(id): Path) -> Result, StatusCode> { match user::Entity::find_by_id(ctx.uid(id)).one(ctx.db()).await { Ok(Some(user)) => Ok(JsonLD(user.underlying_json_object().ld_context())), Ok(None) => Err(StatusCode::NOT_FOUND), Err(e) => { tracing::error!("error querying for user: {e}"); Err(StatusCode::INTERNAL_SERVER_ERROR) }, } }