mirror of
https://github.com/songquanpeng/one-api.git
synced 2025-10-16 08:04:10 +00:00
fix: return quota to user when delete token (close #37)
This commit is contained in:
@@ -116,15 +116,26 @@ func DeleteTokenById(id int, userId int) (err error) {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
quota := token.RemainQuota
|
||||
if quota != 0 {
|
||||
if quota > 0 {
|
||||
err = IncreaseUserQuota(userId, quota)
|
||||
} else {
|
||||
err = DecreaseUserQuota(userId, quota)
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return token.Delete()
|
||||
}
|
||||
|
||||
func ConsumeTokenQuota(id int, quota int) (err error) {
|
||||
err = DB.Model(&Token{}).Where("id = ?", id).Update("remain_quota", gorm.Expr("remain_quota - ?", quota)).Error
|
||||
return err
|
||||
}
|
||||
|
||||
func TopUpTokenQuota(id int, quota int) (err error) {
|
||||
func IncreaseTokenQuota(id int, quota int) (err error) {
|
||||
err = DB.Model(&Token{}).Where("id = ?", id).Update("remain_quota", gorm.Expr("remain_quota + ?", quota)).Error
|
||||
return err
|
||||
}
|
||||
|
||||
func DecreaseTokenQuota(id int, quota int) (err error) {
|
||||
err = DB.Model(&Token{}).Where("id = ?", id).Update("remain_quota", gorm.Expr("remain_quota - ?", quota)).Error
|
||||
return err
|
||||
}
|
||||
|
Reference in New Issue
Block a user