Spaces:
Build error
Build error
| package controller | |
| import ( | |
| "one-api/model" | |
| "one-api/setting" | |
| "one-api/setting/ratio_setting" | |
| "github.com/gin-gonic/gin" | |
| ) | |
| func GetPricing(c *gin.Context) { | |
| pricing := model.GetPricing() | |
| userId, exists := c.Get("id") | |
| usableGroup := map[string]string{} | |
| groupRatio := map[string]float64{} | |
| for s, f := range ratio_setting.GetGroupRatioCopy() { | |
| groupRatio[s] = f | |
| } | |
| var group string | |
| if exists { | |
| user, err := model.GetUserCache(userId.(int)) | |
| if err == nil { | |
| group = user.Group | |
| for g := range groupRatio { | |
| ratio, ok := ratio_setting.GetGroupGroupRatio(group, g) | |
| if ok { | |
| groupRatio[g] = ratio | |
| } | |
| } | |
| } | |
| } | |
| usableGroup = setting.GetUserUsableGroups(group) | |
| // check groupRatio contains usableGroup | |
| for group := range ratio_setting.GetGroupRatioCopy() { | |
| if _, ok := usableGroup[group]; !ok { | |
| delete(groupRatio, group) | |
| } | |
| } | |
| c.JSON(200, gin.H{ | |
| "success": true, | |
| "data": pricing, | |
| "vendors": model.GetVendors(), | |
| "group_ratio": groupRatio, | |
| "usable_group": usableGroup, | |
| "supported_endpoint": model.GetSupportedEndpointMap(), | |
| "auto_groups": setting.AutoGroups, | |
| }) | |
| } | |
| func ResetModelRatio(c *gin.Context) { | |
| defaultStr := ratio_setting.DefaultModelRatio2JSONString() | |
| err := model.UpdateOption("ModelRatio", defaultStr) | |
| if err != nil { | |
| c.JSON(200, gin.H{ | |
| "success": false, | |
| "message": err.Error(), | |
| }) | |
| return | |
| } | |
| err = ratio_setting.UpdateModelRatioByJSONString(defaultStr) | |
| if err != nil { | |
| c.JSON(200, gin.H{ | |
| "success": false, | |
| "message": err.Error(), | |
| }) | |
| return | |
| } | |
| c.JSON(200, gin.H{ | |
| "success": true, | |
| "message": "重置模型倍率成功", | |
| }) | |
| } | |