feat: add documentation crate and integrate OpenAPI specifications

- Added a new crate `doc` for API documentation.
- Integrated `utoipa` for OpenAPI support in the presentation layer.
- Updated routes to include social features (follow, unfollow, etc.) and diary export.
- Enhanced API request and response structures with new DTOs for social interactions.
- Updated `Cargo.toml` files to include new dependencies and features.
- Modified Dockerfile to copy the new documentation crate.
- Refactored existing handlers and routes to accommodate new API endpoints.
- Updated tests to cover new functionality and ensure proper API behavior.

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
2026-05-09 21:29:20 +02:00
parent 6323322d97
commit ae7ff757d0
16 changed files with 777 additions and 38 deletions

View File

@@ -16,6 +16,7 @@ members = [
"crates/domain",
"crates/presentation",
"crates/tui",
"crates/doc",
]
resolver = "2"
@@ -39,6 +40,7 @@ sqlx = { version = "0.8.6", features = [
] }
reqwest = { version = "0.13", features = ["json", "query"] }
object_store = { version = "0.11", features = ["aws"] }
axum = { version = "0.8.8", features = ["macros"] }
domain = { path = "crates/domain" }
application = { path = "crates/application" }
@@ -55,3 +57,4 @@ sqlite-federation = { path = "crates/adapters/sqlite-federation" }
template-askama = { path = "crates/adapters/template-askama" }
activitypub = { path = "crates/adapters/activitypub" }
activitypub-base = { path = "crates/adapters/activitypub-base" }
doc = { path = "crates/doc" }