Feat: reconnect vendor backend

pull/44/head
zijiren233 1 year ago
parent 0cb732b0f7
commit d76da87811

@ -1,6 +1,7 @@
package handlers
import (
"fmt"
"net/http"
"reflect"
"slices"
@ -796,3 +797,25 @@ func AdminUpdateVendorBackends(ctx *gin.Context) {
ctx.Status(http.StatusNoContent)
}
func AdminReConnectVendorBackends(ctx *gin.Context) {
// user := ctx.MustGet("user").(*op.User)
var req model.VendorBackendEndpointsReq
if err := model.Decode(ctx, &req); err != nil {
ctx.AbortWithStatusJSON(http.StatusBadRequest, model.NewApiErrorResp(err))
return
}
conns := vendor.LoadConns()
for _, v := range req.Endpoints {
if c, ok := conns[v]; ok {
c.Conn.ResetConnectBackoff()
} else {
ctx.AbortWithStatusJSON(http.StatusBadRequest, model.NewApiErrorStringResp(fmt.Sprintf("endpoint %s not found", v)))
return
}
}
ctx.Status(http.StatusNoContent)
}

@ -46,6 +46,8 @@ func Init(e *gin.Engine) {
admin.DELETE("/vendors", AdminDeleteVendorBackends)
admin.OPTIONS("/vendors", AdminReConnectVendorBackends)
{
user := admin.Group("/user")

Loading…
Cancel
Save