| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package controller
- import (
- "net/http"
- "one-api/model"
- "one-api/setting"
- "one-api/setting/ratio_setting"
- "github.com/gin-gonic/gin"
- )
- func GetGroups(c *gin.Context) {
- groupNames := make([]string, 0)
- for groupName := range ratio_setting.GetGroupRatioCopy() {
- groupNames = append(groupNames, groupName)
- }
- c.JSON(http.StatusOK, gin.H{
- "success": true,
- "message": "",
- "data": groupNames,
- })
- }
- func GetUserGroups(c *gin.Context) {
- usableGroups := make(map[string]map[string]interface{})
- userGroup := ""
- userId := c.GetInt("id")
- userGroup, _ = model.GetUserGroup(userId, false)
- for groupName, ratio := range ratio_setting.GetGroupRatioCopy() {
- // UserUsableGroups contains the groups that the user can use
- userUsableGroups := setting.GetUserUsableGroups(userGroup)
- if desc, ok := userUsableGroups[groupName]; ok {
- usableGroups[groupName] = map[string]interface{}{
- "ratio": ratio,
- "desc": desc,
- }
- }
- }
- if setting.GroupInUserUsableGroups("auto") {
- usableGroups["auto"] = map[string]interface{}{
- "ratio": "自动",
- "desc": setting.GetUsableGroupDescription("auto"),
- }
- }
- c.JSON(http.StatusOK, gin.H{
- "success": true,
- "message": "",
- "data": usableGroups,
- })
- }
|