- Add 9 extended fields to AgentTemplateInfo: soul_content, scenarios, welcome_message, quick_commands, personality, communication_style, emoji, version, source_id - Refactor service.rs to use sqlx::Row (manual column extraction) to avoid the 16-element tuple FromRow limit - Add /api/v1/agent-templates/available (lightweight public listing) and /api/v1/agent-templates/:id/full endpoints - Add 24h key_usage_window cleanup task in scheduler - Update seed data with extended fields for all 5 existing templates plus new Medical Assistant template (healthcare category)
20 lines
779 B
Rust
20 lines
779 B
Rust
//! Agent 配置模板管理模块
|
|
|
|
pub mod types;
|
|
pub mod service;
|
|
pub mod handlers;
|
|
|
|
use axum::routing::{delete, get, post};
|
|
use crate::state::AppState;
|
|
|
|
/// Agent 模板管理路由 (需要认证)
|
|
pub fn routes() -> axum::Router<AppState> {
|
|
axum::Router::new()
|
|
.route("/api/v1/agent-templates", get(handlers::list_templates).post(handlers::create_template))
|
|
.route("/api/v1/agent-templates/available", get(handlers::list_available))
|
|
.route("/api/v1/agent-templates/:id", get(handlers::get_template))
|
|
.route("/api/v1/agent-templates/:id", post(handlers::update_template))
|
|
.route("/api/v1/agent-templates/:id", delete(handlers::archive_template))
|
|
.route("/api/v1/agent-templates/:id/full", get(handlers::get_full_template))
|
|
}
|