//! 知识库模块 — 行业知识管理、RAG 检索、版本控制、结构化数据 pub mod types; pub mod service; pub mod handlers; pub mod extractors; 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/upload", post(handlers::upload_file)) .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/seed", post(handlers::seed_knowledge)) // 分析看板 .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)) // 结构化数据源管理 .route("/api/v1/structured/sources", get(handlers::list_structured_sources)) .route("/api/v1/structured/sources/:id", get(handlers::get_structured_source)) .route("/api/v1/structured/sources/:id/rows", get(handlers::list_structured_source_rows)) .route("/api/v1/structured/sources/:id", delete(handlers::delete_structured_source)) .route("/api/v1/structured/query", post(handlers::query_structured)) }