fix: enhance token status handling in UpdateToken function with additional cases

This commit is contained in:
Laisky.Cai 2024-11-20 03:02:21 +00:00
parent 0d9c79be35
commit f322f8029d

View File

@ -350,7 +350,8 @@ func UpdateToken(c *gin.Context) {
return
}
if token.Status == model.TokenStatusEnabled {
switch token.Status {
case model.TokenStatusEnabled:
if cleanToken.Status == model.TokenStatusExpired &&
cleanToken.ExpiredTime <= helper.GetTimestamp() && cleanToken.ExpiredTime != -1 &&
token.ExpiredTime != -1 && token.ExpiredTime < helper.GetTimestamp() {
@ -369,6 +370,14 @@ func UpdateToken(c *gin.Context) {
})
return
}
case model.TokenStatusExhausted:
if token.RemainQuota > 0 || token.UnlimitedQuota {
token.Status = model.TokenStatusEnabled
}
case model.TokenStatusExpired:
if token.ExpiredTime == -1 || token.ExpiredTime > helper.GetTimestamp() {
token.Status = model.TokenStatusEnabled
}
}
if statusOnly != "" {