| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | package settingsimport (	"github.com/0xJacky/Nginx-UI/query"	"github.com/0xJacky/Nginx-UI/settings"	"github.com/gin-gonic/gin"	"github.com/uozi-tech/cosy"	"net/http"	"time")func GetBanLoginIP(c *gin.Context) {	b := query.BanIP	// clear expired banned IPs	_, _ = b.Where(b.ExpiredAt.Lte(time.Now().Unix())).Delete()	banIps, err := b.Where(		b.ExpiredAt.Gte(time.Now().Unix()),		b.Attempts.Gte(settings.AuthSettings.MaxAttempts)).Find()	if err != nil {		cosy.ErrHandler(c, err)		return	}	c.JSON(http.StatusOK, banIps)}func RemoveBannedIP(c *gin.Context) {	var json struct {		IP string `json:"ip"`	}	if !cosy.BindAndValid(c, &json) {		return	}	b := query.BanIP	_, err := b.Where(b.IP.Eq(json.IP)).Delete()	if err != nil {		cosy.ErrHandler(c, err)		return	}	c.JSON(http.StatusNoContent, nil)}
 |