returnservice.OpenAIErrorWrapperLocal(errors.New("user quota is not enough"),"insufficient_user_quota",http.StatusForbidden)
returnservice.OpenAIErrorWrapperLocal(errors.New(fmt.Sprintf("audio pre-consumed quota failed, user quota: %d, need quota: %d",userQuota,preConsumedQuota)),"insufficient_user_quota",http.StatusBadRequest)
returnservice.OpenAIErrorWrapperLocal(errors.New("user quota is not enough"),"insufficient_user_quota",http.StatusForbidden)
returnservice.OpenAIErrorWrapperLocal(errors.New(fmt.Sprintf("image pre-consumed quota failed, user quota: %d, need quota: %d",userQuota,quota)),"insufficient_user_quota",http.StatusBadRequest)
return0,0,service.OpenAIErrorWrapperLocal(errors.New("user quota is not enough"),"insufficient_user_quota",http.StatusForbidden)
}
ifuserQuota-preConsumedQuota<0{
return0,0,service.OpenAIErrorWrapperLocal(errors.New(fmt.Sprintf("chat pre-consumed quota failed, user quota: %d, need quota: %d",userQuota,preConsumedQuota)),"insufficient_user_quota",http.StatusBadRequest)
common.LogInfo(c.Request.Context(),fmt.Sprintf("user %d quota %d and token %d quota %d are enough, trusted and no need to pre-consume",relayInfo.UserId,userQuota,relayInfo.TokenId,tokenQuota))
common.LogInfo(c,fmt.Sprintf("user %d quota %d and token %d quota %d are enough, trusted and no need to pre-consume",relayInfo.UserId,userQuota,relayInfo.TokenId,tokenQuota))
}
}else{
// in this case, we do not pre-consume quota
// because the user has enough quota
preConsumedQuota=0
common.LogInfo(c.Request.Context(),fmt.Sprintf("user %d with unlimited token has enough quota %d, trusted and no need to pre-consume",relayInfo.UserId,userQuota))
common.LogInfo(c,fmt.Sprintf("user %d with unlimited token has enough quota %d, trusted and no need to pre-consume",relayInfo.UserId,userQuota))