feat(go-api): Langfuse API key migration behavior (#16356)

## Summary

- Align Langfuse API key set/get/delete behavior with the Python
implementation.
- Improve DAO handling for Langfuse credential save/delete flows.
- Add tests for Langfuse service error handling and API key lifecycle
behavior.
This commit is contained in:
Hz_
2026-06-25 19:25:55 +08:00
committed by GitHub
parent 46b97bd1a1
commit e290a0d23e
10 changed files with 1105 additions and 1 deletions

View File

@@ -223,6 +223,7 @@ func startServer(config *server.Config) {
tenantService := service.NewTenantService()
chatService := service.NewChatService()
chatChannelService := service.NewChatChannelService()
langfuseService := service.NewLangfuseService()
chatSessionService := service.NewChatSessionService()
openaiChatService := service.NewOpenAIChatService()
systemService := service.NewSystemService()
@@ -248,6 +249,7 @@ func startServer(config *server.Config) {
llmHandler := handler.NewLLMHandler(llmService, userService)
chatHandler := handler.NewChatHandler(chatService, userService)
chatChannelHandler := handler.NewChatChannelHandler(chatChannelService)
langfuseHandler := handler.NewLangfuseHandler(langfuseService)
chatSessionHandler := handler.NewChatSessionHandler(chatSessionService, userService)
openaiChatHandler := handler.NewOpenAIChatHandler(openaiChatService)
connectorHandler := handler.NewConnectorHandler(connectorService, userService)
@@ -321,7 +323,7 @@ func startServer(config *server.Config) {
adminRuntimeHandler := handler.NewAdminRuntimeHandler(adminRuntimeSelector)
// Initialize router
r := router.NewRouter(authHandler, userHandler, tenantHandler, documentHandler, datasetsHandler, systemHandler, knowledgebaseHandler, chunkHandler, llmHandler, chatHandler, chatChannelHandler, chatSessionHandler, connectorHandler, searchHandler, fileHandler, memoryHandler, mcpHandler, skillSearchHandler, providerHandler, agentHandler, searchBotHandler, difyRetrievalHandler, pluginHandler, modelHandler, fileCommitHandler, adminRuntimeHandler, openaiChatHandler)
r := router.NewRouter(authHandler, userHandler, tenantHandler, documentHandler, datasetsHandler, systemHandler, knowledgebaseHandler, chunkHandler, llmHandler, chatHandler, chatChannelHandler, langfuseHandler, chatSessionHandler, connectorHandler, searchHandler, fileHandler, memoryHandler, mcpHandler, skillSearchHandler, providerHandler, agentHandler, searchBotHandler, difyRetrievalHandler, pluginHandler, modelHandler, fileCommitHandler, adminRuntimeHandler, openaiChatHandler)
// Create Gin engine
ginEngine := gin.New()