use axum::{extract::{Query, State}, http::StatusCode, Json}; use crate::{errors::UpubError, routes::activitypub::{CreationResult, JsonLD, Pagination}, server::{auth::AuthIdentity, Context}, url}; pub async fn get(State(ctx): State) -> crate::Result> { crate::server::builders::collection(&url!(ctx, "/outbox"), None) } pub async fn page( State(ctx): State, Query(page): Query, AuthIdentity(auth): AuthIdentity, ) -> crate::Result> { crate::server::builders::paginate( url!(ctx, "/outbox/page"), auth.filter_condition(), // TODO filter local only stuff ctx.db(), page, ) .await } pub async fn post( State(_ctx): State, AuthIdentity(_auth): AuthIdentity, Json(_activity): Json, ) -> Result { // TODO administrative actions may be carried out against this outbox? Err(StatusCode::NOT_IMPLEMENTED.into()) }