package bootstrap import ( "code.tczkiot.com/wlw/ai-agent/internal/handlers/api" "code.tczkiot.com/wlw/ai-agent/internal/handlers/dashboard" "code.tczkiot.com/wlw/ai-agent/internal/handlers/third" "github.com/gin-gonic/gin" ) func registerApiChannelRoutes(group *gin.RouterGroup) { group.Any("/config", api.ChannelAnyConfig) } func registerApiConversationRoutes(group *gin.RouterGroup) { group.GET("/quick_actions", api.ConversationGetQuick_actions) group.POST("/quick_action", api.ConversationPostQuick_action) group.GET("/:id", api.ConversationGetBy) group.POST("/close", api.ConversationPostClose) group.POST("/create_or_match", api.ConversationPostCreate_or_match) } func registerApiMessageRoutes(group *gin.RouterGroup) { group.Any("/list", api.MessageAnyList) group.POST("/read", api.MessagePostRead) group.POST("/send", api.MessagePostSend) group.POST("/upload_attachment", api.MessagePostUpload_attachment) group.POST("/upload_image", api.MessagePostUpload_image) } func registerDashboardDashboardRoutes(group *gin.RouterGroup) { group.GET("/overview", dashboard.DashboardGetOverview) } func registerDashboardConversationRoutes(group *gin.RouterGroup) { group.GET("/:id", dashboard.ConversationGetBy) group.POST("/assign", dashboard.ConversationPostAssign) group.POST("/close", dashboard.ConversationPostClose) group.Any("/conversations", dashboard.ConversationAnyConversations) group.POST("/dispatch", dashboard.ConversationPostDispatch) group.Any("/list", dashboard.ConversationAnyList) group.Any("/message_list", dashboard.ConversationAnyMessage_list) group.POST("/read", dashboard.ConversationPostRead) group.POST("/recall_message", dashboard.ConversationPostRecall_message) group.POST("/send_message", dashboard.ConversationPostSend_message) group.POST("/transfer", dashboard.ConversationPostTransfer) group.POST("/upload_attachment", dashboard.ConversationPostUpload_attachment) group.POST("/upload_image", dashboard.ConversationPostUpload_image) } func registerDashboardNotificationRoutes(group *gin.RouterGroup) { group.Any("/list", dashboard.NotificationAnyList) group.POST("/mark_all_read", dashboard.NotificationPostMark_all_read) group.POST("/mark_read", dashboard.NotificationPostMark_read) group.GET("/unread_count", dashboard.NotificationGetUnread_count) } func registerDashboardQuickReplyRoutes(group *gin.RouterGroup) { group.GET("/:id", dashboard.QuickReplyGetBy) group.POST("/create", dashboard.QuickReplyPostCreate) group.POST("/delete", dashboard.QuickReplyPostDelete) group.Any("/list", dashboard.QuickReplyAnyList) group.GET("/list_all", dashboard.QuickReplyGetList_all) group.POST("/update", dashboard.QuickReplyPostUpdate) } func registerDashboardChannelRoutes(group *gin.RouterGroup) { group.GET("/:id", dashboard.ChannelGetBy) group.POST("/create", dashboard.ChannelPostCreate) group.POST("/delete", dashboard.ChannelPostDelete) group.Any("/list", dashboard.ChannelAnyList) group.POST("/rollback_ai_agent_rollout", dashboard.ChannelPostRollback_ai_agent_rollout) group.POST("/update", dashboard.ChannelPostUpdate) group.POST("/update_status", dashboard.ChannelPostUpdate_status) group.Any("/wxwork/kf/accounts", dashboard.ChannelAnyWxworkKfAccounts) group.Any("/wxwork/outbox/failed/list", dashboard.ChannelAnyWxworkOutboxFailedList) group.POST("/wxwork/outbox/retry", dashboard.ChannelPostWxworkOutboxRetry) group.POST("/wxwork/outbox/ignore", dashboard.ChannelPostWxworkOutboxIgnore) } func registerDashboardAgentRoutes(group *gin.RouterGroup) { group.GET("/:id", dashboard.AgentGetBy) group.POST("/create", dashboard.AgentPostCreate) group.POST("/delete", dashboard.AgentPostDelete) group.Any("/list", dashboard.AgentAnyList) group.GET("/list_all", dashboard.AgentGetList_all) group.GET("/user-options", dashboard.AgentGetUser_options) group.POST("/update", dashboard.AgentPostUpdate) } func registerDashboardAgentTeamRoutes(group *gin.RouterGroup) { group.GET("/:id", dashboard.AgentTeamGetBy) group.POST("/create", dashboard.AgentTeamPostCreate) group.POST("/delete", dashboard.AgentTeamPostDelete) group.Any("/list", dashboard.AgentTeamAnyList) group.GET("/list_all", dashboard.AgentTeamGetList_all) group.POST("/update", dashboard.AgentTeamPostUpdate) } func registerDashboardAgentTeamScheduleRoutes(group *gin.RouterGroup) { group.GET("/:id", dashboard.AgentTeamScheduleGetBy) group.POST("/batch_generate", dashboard.AgentTeamSchedulePostBatch_generate) group.POST("/batch_preview", dashboard.AgentTeamSchedulePostBatch_preview) group.Any("/calendar", dashboard.AgentTeamScheduleAnyCalendar) group.POST("/create", dashboard.AgentTeamSchedulePostCreate) group.POST("/delete", dashboard.AgentTeamSchedulePostDelete) group.Any("/list", dashboard.AgentTeamScheduleAnyList) group.POST("/update", dashboard.AgentTeamSchedulePostUpdate) } func registerDashboardAIAgentRoutes(group *gin.RouterGroup) { group.POST("/publish", dashboard.AIAgentPostPublish) group.POST("/rollback", dashboard.AIAgentPostRollback) group.POST("/rollback_rollout", dashboard.AIAgentPostRollback_rollout) group.Any("/:id/revision/list", dashboard.AIAgentAnyRevisionList) group.GET("/:id", dashboard.AIAgentGetBy) group.POST("/create", dashboard.AIAgentPostCreate) group.POST("/delete", dashboard.AIAgentPostDelete) group.Any("/list", dashboard.AIAgentAnyList) group.GET("/list_all", dashboard.AIAgentGetList_all) group.POST("/update", dashboard.AIAgentPostUpdate) group.POST("/update_sort", dashboard.AIAgentPostUpdate_sort) group.POST("/update_status", dashboard.AIAgentPostUpdate_status) } func registerDashboardAgentRunRoutes(group *gin.RouterGroup) { group.Any("/metrics", dashboard.AgentRunAnyMetrics) group.POST("/evaluate", dashboard.AgentRunPostEvaluate) group.Any("/list", dashboard.AgentRunAnyList) group.POST("/quality_feedback", dashboard.AgentRunPostSave_quality_feedback) group.GET("/:id", dashboard.AgentRunGetBy) } func registerDashboardAIConfigRoutes(group *gin.RouterGroup) { group.GET("/:id", dashboard.AIConfigGetBy) group.POST("/create", dashboard.AIConfigPostCreate) group.POST("/delete", dashboard.AIConfigPostDelete) group.Any("/list", dashboard.AIConfigAnyList) group.Any("/list_all", dashboard.AIConfigAnyList_all) group.POST("/update", dashboard.AIConfigPostUpdate) group.POST("/update_sort", dashboard.AIConfigPostUpdateSort) group.POST("/update_status", dashboard.AIConfigPostUpdate_status) } func registerDashboardPlatformAIRoutes(group *gin.RouterGroup) { group.GET("/status", dashboard.PlatformAIGetStatus) } func registerDashboardAssetRoutes(group *gin.RouterGroup) { group.GET("/:id", dashboard.AssetGetBy) group.POST("/create", dashboard.AssetPostCreate) group.POST("/delete", dashboard.AssetPostDelete) group.Any("/list", dashboard.AssetAnyList) } func registerDashboardKnowledgeBaseRoutes(group *gin.RouterGroup) { group.GET("/:id", dashboard.KnowledgeBaseGetBy) group.POST("/create", dashboard.KnowledgeBasePostCreate) group.POST("/delete", dashboard.KnowledgeBasePostDelete) group.Any("/list", dashboard.KnowledgeBaseAnyList) group.Any("/list_all", dashboard.KnowledgeBaseAnyList_all) group.POST("/rebuild_index", dashboard.KnowledgeBasePostRebuild_index) group.POST("/update", dashboard.KnowledgeBasePostUpdate) group.POST("/update_sort", dashboard.KnowledgeBasePostUpdate_sort) } func registerDashboardKnowledgeDirectoryRoutes(group *gin.RouterGroup) { group.GET("/list_all", dashboard.KnowledgeDirectoryGetList_all) group.POST("/create", dashboard.KnowledgeDirectoryPostCreate) group.POST("/delete", dashboard.KnowledgeDirectoryPostDelete) group.POST("/update", dashboard.KnowledgeDirectoryPostUpdate) group.POST("/update_sort", dashboard.KnowledgeDirectoryPostUpdate_sort) } func registerDashboardKnowledgeDocumentRoutes(group *gin.RouterGroup) { group.GET("/:id", dashboard.KnowledgeDocumentGetBy) group.POST("/batch_delete", dashboard.KnowledgeDocumentPostBatch_delete) group.POST("/batch_move", dashboard.KnowledgeDocumentPostBatch_move) group.POST("/create", dashboard.KnowledgeDocumentPostCreate) group.POST("/delete", dashboard.KnowledgeDocumentPostDelete) group.Any("/list", dashboard.KnowledgeDocumentAnyList) group.POST("/update", dashboard.KnowledgeDocumentPostUpdate) } func registerDashboardKnowledgeFAQRoutes(group *gin.RouterGroup) { group.GET("/import_template", dashboard.KnowledgeFAQGetImport_template) group.GET("/export", dashboard.KnowledgeFAQGetExport) group.GET("/:id", dashboard.KnowledgeFAQGetBy) group.POST("/batch_delete", dashboard.KnowledgeFAQPostBatch_delete) group.POST("/batch_move", dashboard.KnowledgeFAQPostBatch_move) group.POST("/create", dashboard.KnowledgeFAQPostCreate) group.POST("/delete", dashboard.KnowledgeFAQPostDelete) group.POST("/import", dashboard.KnowledgeFAQPostImport) group.Any("/list", dashboard.KnowledgeFAQAnyList) group.POST("/update", dashboard.KnowledgeFAQPostUpdate) } func registerDashboardKnowledgeRetrieveRoutes(group *gin.RouterGroup) { group.POST("/build", dashboard.KnowledgeRetrievePostBuild) group.POST("/debug/answer", dashboard.KnowledgeRetrievePostDebugAnswer) group.POST("/debug/search", dashboard.KnowledgeRetrievePostDebugSearch) } func registerDashboardKnowledgeRetrieveLogRoutes(group *gin.RouterGroup) { group.GET("/:id", dashboard.KnowledgeRetrieveLogGetBy) group.Any("/list", dashboard.KnowledgeRetrieveLogAnyList) } func registerThirdWechatRoutes(group *gin.RouterGroup) { group.GET("/callback", third.WechatGetCallback) group.POST("/callback", third.WechatPostCallback) }