yggdrasil/api/mod.rs
1//! API 层根模块。
2//!
3//! 按职责划分子模块,包含两类接口:
4//! - Dioxus server function(`#[server(Name, "/api")]`),如 `auth`、`posts`;
5//! - Axum 手动路由处理器,如 `upload`、`image`。
6
7/// 素材管理(assets/asset_refs)的 Dioxus server function。
8pub mod assets;
9/// 认证相关的 Dioxus server function。
10pub mod auth;
11/// 更新日志(内嵌 CHANGELOG.md 渲染)的 Dioxus server function。
12pub mod changelog;
13/// 代码运行接口与数据结构。
14pub mod code_runner;
15/// 评论相关接口。
16pub mod comments;
17/// CSRF 防护中间件。
18pub mod csrf;
19/// 数据库管理接口(运行状态 / SQL 控制台 / 导出 / 备份恢复)。
20pub mod database;
21/// 应用错误类型与转换。
22pub mod error;
23/// RSS 2.0 与 JSON Feed 1.1 订阅端点(server-only)。
24pub mod feed;
25/// 友链 CRUD 与前台列表的 Dioxus server function。
26pub mod friends;
27/// 健康检查端点(liveness / readiness)。
28pub mod health;
29/// 图片服务的 Axum 处理器。
30pub mod image;
31/// KaTeX 服务端数学公式渲染(server-only)。
32#[cfg(feature = "server")]
33pub mod katex;
34/// Markdown 渲染与 HTML 清理。
35pub mod markdown;
36/// MCP 访问令牌管理(签发 / 列表 / 重查 / 撤销)的 Dioxus server function。
37pub mod mcp_tokens;
38/// mhchem 化学公式转译器(\ce/\pu → LaTeX,server-only)。
39#[cfg(feature = "server")]
40pub mod mhchem;
41/// 文章 CRUD 相关接口。
42pub mod posts;
43/// 限流工具。
44pub mod rate_limit;
45/// HTML 消毒器。
46pub mod sanitizer;
47/// 回收站与站点配置接口。
48pub mod settings;
49/// URL slug 生成与校验。
50pub mod slug;
51/// 图片上传的 Axum 处理器。
52pub mod upload;
53/// SSRF 防护的 URL 抓取(服务端按图,供 MCP upload_media 工具)。
54#[cfg(feature = "server")]
55pub mod url_fetch;