fix(knowledge): deep audit — 18 bugs fixed across backend + frontend
CRITICAL: - Migration permission seed WHERE name → WHERE id (matched 0 rows, all KB APIs broken) HIGH: - analytics_quality SQL alias + missing comma fix - search() duplicate else block compile error - chunk_content duplicate var declarations + type mismatch - SQL invalid escape sequences - delete_category missing rows_affected check MEDIUM: - analytics_overview hit_rate vs positive_feedback_rate separation - analytics_quality GROUP BY kc.id,kc.name (same-name category merge) - update_category handler trim + empty name validation - update_item duplicate VALID_STATUSES inside transaction - page_size max(1) lower bound in list handlers - batch_create title/content/length validation - embedding dispatch silent error → tracing::warn - Version modal close clears detailItem state - Search empty state distinguishes not-searched vs no-results - Create modal cancel resets form
This commit is contained in:
@@ -4,7 +4,7 @@ pub mod types;
|
||||
pub mod service;
|
||||
pub mod handlers;
|
||||
|
||||
use axum::routing::{delete, get, post, put};
|
||||
use axum::routing::{delete, get, patch, post, put};
|
||||
|
||||
pub fn routes() -> axum::Router<crate::state::AppState> {
|
||||
axum::Router::new()
|
||||
@@ -14,10 +14,12 @@ pub fn routes() -> axum::Router<crate::state::AppState> {
|
||||
.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))
|
||||
|
||||
Reference in New Issue
Block a user