feat: key status
This commit is contained in:
@@ -103,7 +103,7 @@ func (s *Server) Login(c *gin.Context) {
|
|||||||
func (s *Server) Health(c *gin.Context) {
|
func (s *Server) Health(c *gin.Context) {
|
||||||
var totalKeys, healthyKeys int64
|
var totalKeys, healthyKeys int64
|
||||||
s.DB.Model(&models.APIKey{}).Count(&totalKeys)
|
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"
|
status := "healthy"
|
||||||
httpStatus := http.StatusOK
|
httpStatus := http.StatusOK
|
||||||
|
@@ -108,7 +108,7 @@ func (s *Server) ListKeysInGroup(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
statusFilter := c.Query("status")
|
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"))
|
response.Error(c, app_errors.NewAPIError(app_errors.ErrValidation, "Invalid status filter"))
|
||||||
return
|
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)})
|
response.Success(c, gin.H{"message": fmt.Sprintf("%d invalid keys cleared.", rowsAffected)})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -6,6 +6,12 @@ import (
|
|||||||
"gorm.io/datatypes"
|
"gorm.io/datatypes"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Key状态
|
||||||
|
const (
|
||||||
|
KeyStatusActive = "active"
|
||||||
|
KeyStatusInvalid = "invalid"
|
||||||
|
)
|
||||||
|
|
||||||
// SystemSetting 对应 system_settings 表
|
// SystemSetting 对应 system_settings 表
|
||||||
type SystemSetting struct {
|
type SystemSetting struct {
|
||||||
ID uint `gorm:"primaryKey;autoIncrement" json:"id"`
|
ID uint `gorm:"primaryKey;autoIncrement" json:"id"`
|
||||||
|
@@ -172,14 +172,14 @@ func (s *KeyCronService) processResults() {
|
|||||||
var newErrorReason string
|
var newErrorReason string
|
||||||
|
|
||||||
if result.Error != nil {
|
if result.Error != nil {
|
||||||
newStatus = "inactive"
|
newStatus = models.KeyStatusInvalid
|
||||||
newErrorReason = result.Error.Error()
|
newErrorReason = result.Error.Error()
|
||||||
} else {
|
} else {
|
||||||
if result.IsValid {
|
if result.IsValid {
|
||||||
newStatus = "active"
|
newStatus = models.KeyStatusActive
|
||||||
newErrorReason = ""
|
newErrorReason = ""
|
||||||
} else {
|
} else {
|
||||||
newStatus = "inactive"
|
newStatus = models.KeyStatusInvalid
|
||||||
newErrorReason = "Validation returned false without a specific error."
|
newErrorReason = "Validation returned false without a specific error."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user