ai-gateway/providers/api2d/balance.go

31 lines
722 B
Go
Raw Permalink Normal View History

2023-12-02 09:51:28 +00:00
package api2d
import (
"errors"
"one-api/common"
"one-api/model"
2023-12-02 11:54:21 +00:00
"one-api/providers/base"
2023-12-02 09:51:28 +00:00
)
func (p *Api2dProvider) Balance(channel *model.Channel) (float64, error) {
2023-12-02 11:54:21 +00:00
fullRequestURL := p.GetFullRequestURL("/dashboard/billing/credit_grants", "")
2023-12-02 09:51:28 +00:00
headers := p.GetRequestHeaders()
client := common.NewClient()
req, err := client.NewRequest("GET", fullRequestURL, common.WithHeader(headers))
if err != nil {
return 0, err
}
// 发送请求
2023-12-02 11:54:21 +00:00
var response base.BalanceResponse
2023-12-02 09:51:28 +00:00
_, errWithCode := common.SendRequest(req, &response, false)
if errWithCode != nil {
return 0, errors.New(errWithCode.OpenAIError.Message)
}
channel.UpdateBalance(response.TotalAvailable)
return response.TotalAvailable, nil
}