feat: key status

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

No files matched your search

+1 -1
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
+1 -2
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)})
}
+6
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"`
+3 -3
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."
}
}