//! 知识库模块 — 行业知识管理、RAG 检索、版本控制 pub mod types; pub mod service; pub mod handlers; use axum::routing::{delete, get, patch, post, put}; pub fn routes() -> axum::Router { axum::Router::new() // 分类管理 .route("/api/v1/knowledge/categories", get(handlers::list_categories)) .route("/api/v1/knowledge/categories", post(handlers::create_category)) .route("/api/v1/knowledge/categories/:id", put(handlers::update_category)) .route("/api/v1/knowledge/categories/:id", delete(handlers::delete_category)) .route("/api/v1/knowledge/categories/:id/items", get(handlers::list_category_items)) .route("/api/v1/knowledge/categories/reorder", patch(handlers::reorder_categories)) // 知识条目 CRUD .route("/api/v1/knowledge/items", get(handlers::list_items)) .route("/api/v1/knowledge/items", post(handlers::create_item)) .route("/api/v1/knowledge/items/batch", post(handlers::batch_create_items)) .route("/api/v1/knowledge/items/import", post(handlers::import_items)) .route("/api/v1/knowledge/items/:id", get(handlers::get_item)) .route("/api/v1/knowledge/items/:id", put(handlers::update_item)) .route("/api/v1/knowledge/items/:id", delete(handlers::delete_item)) // 版本控制 .route("/api/v1/knowledge/items/:id/versions", get(handlers::list_versions)) .route("/api/v1/knowledge/items/:id/versions/:v", get(handlers::get_version)) .route("/api/v1/knowledge/items/:id/rollback/:v", post(handlers::rollback_version)) // 检索 .route("/api/v1/knowledge/search", post(handlers::search)) .route("/api/v1/knowledge/recommend", post(handlers::recommend)) // 分析看板 .route("/api/v1/knowledge/analytics/overview", get(handlers::analytics_overview)) .route("/api/v1/knowledge/analytics/trends", get(handlers::analytics_trends)) .route("/api/v1/knowledge/analytics/top-items", get(handlers::analytics_top_items)) .route("/api/v1/knowledge/analytics/quality", get(handlers::analytics_quality)) .route("/api/v1/knowledge/analytics/gaps", get(handlers::analytics_gaps)) }