package api import ( "fmt" "log" "git.x2erp.com/qdy/go-base/ctx" "git.x2erp.com/qdy/go-base/model/response" "git.x2erp.com/qdy/go-svc-code/internal/opencode/container" ) // StopInstanceHandler 停止项目OpenCode实例 // 路由: POST /api/opencode/projects/:id/stop func StopInstanceHandler(manager *container.InstanceManager) func(string, *ctx.RequestContext) (*response.QueryResult[interface{}], error) { return func(id string, reqCtx *ctx.RequestContext) (*response.QueryResult[interface{}], error) { log.Printf("停止项目实例请求: 项目ID=%s", id) // 停止实例 if err := manager.StopInstance(id); err != nil { log.Printf("停止实例失败: 项目=%s, 错误=%v", id, err) return ErrorResponse(fmt.Errorf("停止实例失败: %v", err)) } log.Printf("实例停止成功: 项目=%s", id) return SuccessResponseWithMessage(true, "实例停止成功") } }