feat: key status

This commit is contained in:
tbphp
2025-07-07 15:50:47 +08:00
parent 0f85381082
commit 3228cdad64
4 changed files with 11 additions and 6 deletions

View File

@@ -103,7 +103,7 @@ func (s *Server) Login(c *gin.Context) {
func (s *Server) Health(c *gin.Context) {
var totalKeys, healthyKeys int64
s.DB.Model(&models.APIKey{}).Count(&totalKeys)
s.DB.Model(&models.APIKey{}).Where("status = ?", "active").Count(&healthyKeys)
s.DB.Model(&models.APIKey{}).Where("status = ?", models.KeyStatusActive).Count(&healthyKeys)
status := "healthy"
httpStatus := http.StatusOK

View File

@@ -108,7 +108,7 @@ func (s *Server) ListKeysInGroup(c *gin.Context) {
}
statusFilter := c.Query("status")
if statusFilter != "" && statusFilter != "active" && statusFilter != "inactive" {
if statusFilter != "" && statusFilter != models.KeyStatusActive && statusFilter != models.KeyStatusInvalid {
response.Error(c, app_errors.NewAPIError(app_errors.ErrValidation, "Invalid status filter"))
return
}
@@ -254,4 +254,3 @@ func (s *Server) ClearAllInvalidKeys(c *gin.Context) {
response.Success(c, gin.H{"message": fmt.Sprintf("%d invalid keys cleared.", rowsAffected)})
}

View File

@@ -6,6 +6,12 @@ import (
"gorm.io/datatypes"
)
// Key状态
const (
KeyStatusActive = "active"
KeyStatusInvalid = "invalid"
)
// SystemSetting 对应 system_settings 表
type SystemSetting struct {
ID uint `gorm:"primaryKey;autoIncrement" json:"id"`

View File

@@ -172,14 +172,14 @@ func (s *KeyCronService) processResults() {
var newErrorReason string
if result.Error != nil {
newStatus = "inactive"
newStatus = models.KeyStatusInvalid
newErrorReason = result.Error.Error()
} else {
if result.IsValid {
newStatus = "active"
newStatus = models.KeyStatusActive
newErrorReason = ""
} else {
newStatus = "inactive"
newStatus = models.KeyStatusInvalid
newErrorReason = "Validation returned false without a specific error."
}
}