Go: show model and list all models (#16272)

### What problem does this PR solve?
```
RAGFlow(admin)> show model 'abc';
+------------+----------------------------------------------------------------+
| field      | value                                                          |
+------------+----------------------------------------------------------------+
| command    | get_model_by_model_name                                        |
| error      | 'get model by model name' is implemented in enterprise edition |
| model_name | abc                                                            |
+------------+----------------------------------------------------------------+

RAGFlow(admin)> list models;
+-----------------+--------------------------------------------------------+
| command         | error                                                  |
+-----------------+--------------------------------------------------------+
| list_all_models | 'list all models' is implemented in enterprise edition |
+-----------------+--------------------------------------------------------+
```

### Type of change

- [x] Refactoring

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
This commit is contained in:
Jin Hai
2026-06-23 19:29:06 +08:00
committed by GitHub
parent 49714865c1
commit 4f02ba4cf4
6 changed files with 104 additions and 94 deletions

View File

@@ -410,7 +410,7 @@ func (h *Handler) ListModels(c *gin.Context) {
})
}
func (h *Handler) ShowModel(c *gin.Context) {
func (h *Handler) ShowProviderModel(c *gin.Context) {
providerName := c.Param("provider_name")
if providerName == "" {
c.JSON(http.StatusBadRequest, gin.H{
@@ -876,39 +876,46 @@ func (h *Handler) DeleteModels(c *gin.Context) {
success(c, result, "Model deleted successfully")
}
type ListModelsOrShowModelRequest struct {
ModelName string `json:"model_name"`
func (h *Handler) ListAllModels(c *gin.Context) {
// List models
models, err := h.service.ListAllModels()
if err != nil {
errorResponse(c, err.Error(), 500)
return
}
success(c, models, "")
}
func (h *Handler) ListModelsOrShowModel(c *gin.Context) {
var req ListModelsOrShowModelRequest
if err := c.ShouldBindJSON(&req); err != nil {
func (h *Handler) ShowModel(c *gin.Context) {
encodedModelName := c.Param("model_name")
if encodedModelName == "" {
c.JSON(http.StatusBadRequest, gin.H{
"code": 400,
"message": "Invalid request body",
"message": "Encoded model name is empty",
})
return
}
if req.ModelName == "" {
// List models
models, err := h.service.ListAllModels()
if err != nil {
errorResponse(c, err.Error(), 500)
return
}
success(c, models, "")
} else {
// Get model
model, err := h.service.GetModelByModelName(req.ModelName)
if err != nil {
errorResponse(c, err.Error(), 500)
return
}
success(c, model, "")
decodedModelName, err := common.DecodeFromBase64(encodedModelName)
if err != nil {
errorResponse(c, err.Error(), 400)
return
}
if decodedModelName == "" {
errorResponse(c, "Decoded model name is empty", 400)
return
}
// Get model
model, err := h.service.GetModelByModelName(decodedModelName)
if err != nil {
errorResponse(c, err.Error(), 500)
return
}
success(c, model, "")
}
// GetSystemFingerprint handle get system fingerprint
@@ -1035,7 +1042,7 @@ func (h *Handler) ShowUserDatasetSummary(c *gin.Context) {
}
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1061,7 +1068,7 @@ func (h *Handler) ShowUserDatasetSummary(c *gin.Context) {
// ShowUserSummary handle show user summary
func (h *Handler) ShowUserSummary(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1087,7 +1094,7 @@ func (h *Handler) ShowUserSummary(c *gin.Context) {
// ShowUserStorage handle show user storage
func (h *Handler) ShowUserStorage(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1113,7 +1120,7 @@ func (h *Handler) ShowUserStorage(c *gin.Context) {
// ShowUserQuota handle show user quota
func (h *Handler) ShowUserQuota(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1139,7 +1146,7 @@ func (h *Handler) ShowUserQuota(c *gin.Context) {
// ShowUserIndex handle show user index
func (h *Handler) ShowUserIndex(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1170,7 +1177,7 @@ type UpdateUserRoleHTTPRequest struct {
// UpdateUserRole handle update user role
func (h *Handler) UpdateUserRole(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1198,7 +1205,7 @@ func (h *Handler) UpdateUserRole(c *gin.Context) {
// ShowUserPermission handle show user permission
func (h *Handler) ShowUserPermission(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1220,7 +1227,7 @@ func (h *Handler) ShowUserPermission(c *gin.Context) {
// ListUserDatasets handle show user datasets
func (h *Handler) ListUserDatasets(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1242,7 +1249,7 @@ func (h *Handler) ListUserDatasets(c *gin.Context) {
// ListUserAgents handle show user agents
func (h *Handler) ListUserAgents(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1264,7 +1271,7 @@ func (h *Handler) ListUserAgents(c *gin.Context) {
// ListUserChats handle show user chats
func (h *Handler) ListUserChats(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1286,7 +1293,7 @@ func (h *Handler) ListUserChats(c *gin.Context) {
// ListUserSearches handle show user searches
func (h *Handler) ListUserSearches(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1308,7 +1315,7 @@ func (h *Handler) ListUserSearches(c *gin.Context) {
// ListUserModels handle show user models
func (h *Handler) ListUserModels(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1330,7 +1337,7 @@ func (h *Handler) ListUserModels(c *gin.Context) {
// ListUserFiles handle show user files
func (h *Handler) ListUserFiles(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1352,7 +1359,7 @@ func (h *Handler) ListUserFiles(c *gin.Context) {
// ListUserProviders handle show user providers
func (h *Handler) ListUserProviders(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1374,7 +1381,7 @@ func (h *Handler) ListUserProviders(c *gin.Context) {
// ListUserProviderInstances handle show user provider instances
func (h *Handler) ListUserProviderInstances(c *gin.Context) {
encodedUsername := c.Param("username")
userName, err := common.DecodeEmail(encodedUsername)
userName, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1402,7 +1409,7 @@ func (h *Handler) ListUserProviderInstances(c *gin.Context) {
// ListUserProviderInstanceModels handle show user provider instance models
func (h *Handler) ListUserProviderInstanceModels(c *gin.Context) {
encodedUsername := c.Param("username")
userName, err := common.DecodeEmail(encodedUsername)
userName, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1436,7 +1443,7 @@ func (h *Handler) ListUserProviderInstanceModels(c *gin.Context) {
// ListUserDefaultModels handle show user default models
func (h *Handler) ListUserDefaultModels(c *gin.Context) {
encodedUsername := c.Param("username")
userName, err := common.DecodeEmail(encodedUsername)
userName, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1875,7 +1882,7 @@ func (h *Handler) PurgeUserData(c *gin.Context) {
return
}
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1933,7 +1940,7 @@ func (h *Handler) PurgeUsersData(c *gin.Context) {
// GenerateUserAPIKey handle create tenant API key
func (h *Handler) GenerateUserAPIKey(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1951,7 +1958,7 @@ func (h *Handler) GenerateUserAPIKey(c *gin.Context) {
// DeleteUserAPIKey handle delete user API key
func (h *Handler) DeleteUserAPIKey(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -1974,7 +1981,7 @@ func (h *Handler) DeleteUserAPIKey(c *gin.Context) {
// ListUserAPIKeys handle list user API keys
func (h *Handler) ListUserAPIKeys(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return

View File

@@ -295,7 +295,7 @@ func (h *Handler) CreateUser(c *gin.Context) {
// GetUser handle get user
func (h *Handler) GetUser(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -321,7 +321,7 @@ func (h *Handler) GetUser(c *gin.Context) {
// DeleteUser handle delete user
func (h *Handler) DeleteUser(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -353,7 +353,7 @@ type ChangePasswordHTTPRequest struct {
// ChangePassword handle change password
func (h *Handler) ChangePassword(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -385,7 +385,7 @@ type UpdateActivateStatusHTTPRequest struct {
// UpdateUserActivateStatus handle update user activate status
func (h *Handler) UpdateUserActivateStatus(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -418,7 +418,7 @@ func (h *Handler) UpdateUserActivateStatus(c *gin.Context) {
// GrantAdmin handle grant admin role
func (h *Handler) GrantAdmin(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -446,7 +446,7 @@ func (h *Handler) GrantAdmin(c *gin.Context) {
// RevokeAdmin handle revoke admin role
func (h *Handler) RevokeAdmin(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -474,7 +474,7 @@ func (h *Handler) RevokeAdmin(c *gin.Context) {
// ListUserAPITokens handle get user API keys
func (h *Handler) ListUserAPITokens(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -496,7 +496,7 @@ func (h *Handler) ListUserAPITokens(c *gin.Context) {
// GenerateUserAPIToken handle generate user API key
func (h *Handler) GenerateUserAPIToken(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return
@@ -518,7 +518,7 @@ func (h *Handler) GenerateUserAPIToken(c *gin.Context) {
// DeleteUserAPIToken handle delete user API key
func (h *Handler) DeleteUserAPIToken(c *gin.Context) {
encodedUsername := c.Param("username")
username, err := common.DecodeEmail(encodedUsername)
username, err := common.DecodeFromBase64(encodedUsername)
if err != nil {
errorResponse(c, err.Error(), 400)
return

View File

@@ -180,22 +180,25 @@ func (r *Router) Setup(engine *gin.Engine) {
provider.GET("/:provider_name", r.handler.ShowProvider)
provider.DELETE("/", r.handler.DeleteModelProvider)
provider.GET("/:provider_name/models", r.handler.ListModels)
provider.GET("/:provider_name/models/:model_name", r.handler.ShowModel)
provider.GET("/:provider_name/models/:model_name", r.handler.ShowProviderModel)
provider.POST("/:provider_name/instances", r.handler.AddModelInstance)
provider.GET("/:provider_name/instances", r.handler.ListModelInstances)
provider.DELETE("/:provider_name/instances", r.handler.DeleteModelInstance)
provider.GET("/:provider_name/instances/:instance_name", r.handler.ShowProviderInstance)
provider.GET("/:provider_name/instances/:instance_name/balance", r.handler.ShowProviderInstanceBalance)
provider.GET("/:provider_name/instances/:instance_name/connection", r.handler.CheckInstanceConnection)
provider.POST("/:provider_name/connection", r.handler.CheckProviderConnection)
provider.PUT("/:provider_name/instances/:instance_name", r.handler.AlterProviderInstance)
provider.DELETE("/:provider_name/instances", r.handler.DeleteModelInstance)
provider.GET("/:provider_name/instances/:instance_name/models", r.handler.ListInstanceModels)
provider.PATCH("/:provider_name/instances/:instance_name/models/*model_name", r.handler.EnableOrDisableModel)
provider.POST("/:provider_name/instances/:instance_name/models", r.handler.AddModels)
provider.DELETE("/:provider_name/instances/:instance_name/models", r.handler.DeleteModels)
}
protected.GET("/all-models", r.handler.ListModelsOrShowModel)
protected.GET("/all-models", r.handler.ListAllModels)
protected.GET("/all-models/:model_name", r.handler.ShowModel)
// License
protected.GET("/system/fingerprint", r.handler.GetSystemFingerprint)

View File

@@ -306,7 +306,7 @@ func (c *CLI) AdminGrantUserAdminCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/admin", encodedUserName)
resp, err := c.AdminServerClient.Request("PUT", apiURL, "admin", nil, nil)
@@ -342,7 +342,7 @@ func (c *CLI) AdminRevokeUserAdminCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/admin", encodedUserName)
resp, err := c.AdminServerClient.Request("DELETE", apiURL, "admin", nil, nil)
@@ -567,7 +567,7 @@ func (c *CLI) AdminCreateUserAPIKeyCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/keys", encodedUserName)
@@ -622,7 +622,7 @@ func (c *CLI) AdminActivateUser(cmd *Command) (ResponseIf, error) {
"activate_status": activateStatus,
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/activate", encodedUserName)
resp, err := c.AdminServerClient.Request("PUT", apiURL, "admin", nil, payload)
@@ -678,7 +678,7 @@ func (c *CLI) AdminAlterUserPassword(cmd *Command) (ResponseIf, error) {
"new_password": encryptedPassword,
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/password", encodedUserName)
resp, err := c.AdminServerClient.Request("PUT", apiURL, "admin", nil, payload)
@@ -1226,7 +1226,7 @@ func (c *CLI) AdminDropUserCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s", encodedUserName)
resp, err := c.AdminServerClient.Request("DELETE", apiURL, "admin", nil, nil)
@@ -1267,7 +1267,7 @@ func (c *CLI) AdminDropUserAPIKeyCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("api_key not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/keys/%s", encodedUserName, apiKey)
resp, err := c.AdminServerClient.Request("DELETE", apiURL, "admin", nil, nil)
@@ -1310,7 +1310,7 @@ func (c *CLI) ListUserDatasets(cmd *Command) (ResponseIf, error) {
iterations = val
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/datasets", encodedUserName)
if iterations > 1 {
@@ -1361,7 +1361,7 @@ func (c *CLI) ShowUserPermission(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/permission", encodedUserName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, nil)
@@ -1815,7 +1815,7 @@ func (c *CLI) AdminShowUserCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s", encodedUserName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, nil)
@@ -1925,7 +1925,7 @@ func (c *CLI) AdminShowUserActivityCommand(cmd *Command) (ResponseIf, error) {
"email": email,
}
encodedUserName := common.EncodeEmail(email)
encodedUserName := common.EncodeToBase64(email)
apiURL := fmt.Sprintf("/admin/users/%s/activity", encodedUserName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, payload)
@@ -1960,7 +1960,7 @@ func (c *CLI) AdminShowUserSummaryCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/summary", encodedUserName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, nil)
@@ -2005,7 +2005,7 @@ func (c *CLI) AdminShowUserDatasetCommand(cmd *Command) (ResponseIf, error) {
"dataset": dataset,
}
encodedUserName := common.EncodeEmail(email)
encodedUserName := common.EncodeToBase64(email)
apiURL := fmt.Sprintf("/admin/users/%s/dataset", encodedUserName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, payload)
@@ -2041,7 +2041,7 @@ func (c *CLI) AdminShowUserStorageCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(email)
encodedUserName := common.EncodeToBase64(email)
apiURL := fmt.Sprintf("/admin/users/%s/storage", encodedUserName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, nil)
@@ -2077,7 +2077,7 @@ func (c *CLI) AdminShowUserQuotaCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(email)
encodedUserName := common.EncodeToBase64(email)
apiURL := fmt.Sprintf("/admin/users/%s/quota", encodedUserName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, nil)
@@ -2113,7 +2113,7 @@ func (c *CLI) AdminShowUserIndexCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(email)
encodedUserName := common.EncodeToBase64(email)
apiURL := fmt.Sprintf("/admin/users/%s/index", encodedUserName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, nil)
@@ -2149,7 +2149,7 @@ func (c *CLI) AdminShowUserPermissionCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(email)
encodedUserName := common.EncodeToBase64(email)
apiURL := fmt.Sprintf("/admin/users/%s/permission", encodedUserName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, nil)
@@ -2600,7 +2600,7 @@ func (c *CLI) AdminPurgeUserCommand(cmd *Command) (ResponseIf, error) {
"preview": preview,
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/data", encodedUserName)
resp, err := c.AdminServerClient.Request("DELETE", apiURL, "admin", nil, payload)
@@ -2745,7 +2745,7 @@ func (c *CLI) AdminListUserDatasetsCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/datasets", encodedUserName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, nil)
@@ -2780,7 +2780,7 @@ func (c *CLI) AdminListUserAgentsCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/agents", encodedUserName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, nil)
@@ -2815,7 +2815,7 @@ func (c *CLI) AdminListUserChatsCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/chats", encodedUserName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, nil)
@@ -2850,7 +2850,7 @@ func (c *CLI) AdminListUserSearchesCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/searches", encodedUserName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, nil)
@@ -2885,7 +2885,7 @@ func (c *CLI) AdminListUserModelsCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/models", encodedUserName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, nil)
@@ -2920,7 +2920,7 @@ func (c *CLI) AdminListUserFilesCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/files", encodedUserName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, nil)
@@ -2956,7 +2956,7 @@ func (c *CLI) AdminListUserKeysCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/keys", encodedUserName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, nil)
@@ -3001,7 +3001,7 @@ func (c *CLI) AdminListUserProvidersCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/providers", encodedUserName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, nil)
@@ -3042,7 +3042,7 @@ func (c *CLI) AdminListUserProviderInstancesCommand(cmd *Command) (ResponseIf, e
return nil, fmt.Errorf("provider_name not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/providers/%s/instances", encodedUserName, providerName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, nil)
@@ -3086,7 +3086,7 @@ func (c *CLI) AdminListUserProviderInstanceModelsCommand(cmd *Command) (Response
return nil, fmt.Errorf("instance_name not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/providers/%s/instances/%s/models", encodedUserName, providerName, instanceName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, nil)
@@ -3122,7 +3122,7 @@ func (c *CLI) AdminListUserDefaultModelsCommand(cmd *Command) (ResponseIf, error
return nil, fmt.Errorf("user_name not provided")
}
encodedUserName := common.EncodeEmail(userName)
encodedUserName := common.EncodeToBase64(userName)
apiURL := fmt.Sprintf("/admin/users/%s/default-models", encodedUserName)
resp, err := c.AdminServerClient.Request("GET", apiURL, "admin", nil, nil)

View File

@@ -1429,20 +1429,20 @@ func (c *CLI) CommonShowModel(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("model_name not provided")
}
payload := map[string]interface{}{
"model_name": modelName,
}
encodedModelName := common.EncodeToBase64(modelName)
var resp *Response
var err error
var httpClient *HTTPClient
switch c.Config.CLIMode {
case AdminMode:
baseURL := fmt.Sprintf("/admin/all-models/%s", encodedModelName)
httpClient = c.AdminServerClient
resp, err = httpClient.Request("GET", "/admin/all-models", "web", nil, payload)
resp, err = httpClient.Request("GET", baseURL, "web", nil, nil)
case APIMode:
baseURL := fmt.Sprintf("/all-models/%s", encodedModelName)
httpClient = c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer]
resp, err = httpClient.Request("GET", "/all-models", "web", nil, payload)
resp, err = httpClient.Request("GET", baseURL, "web", nil, nil)
default:
return nil, fmt.Errorf("invalid server type")
}

View File

@@ -74,11 +74,11 @@ func ExtractCompositeName(modelName string) (string, string, string, error) {
return parts[0], parts[1], parts[2], nil
}
func EncodeEmail(email string) string {
func EncodeToBase64(email string) string {
return base64.StdEncoding.EncodeToString([]byte(email))
}
func DecodeEmail(encoded string) (string, error) {
func DecodeFromBase64(encoded string) (string, error) {
decoded, err := base64.StdEncoding.DecodeString(encoded)
if err != nil {
return "", err