mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-07-26 10:23:28 +08:00
Python: remove unused index (#17008)
### Summary Remove below indexes. ``` idx_tenant_langfuse_secret_key idx_tenant_langfuse_public_key idx_tenant_langfuse_host ``` --------- Signed-off-by: Jin Hai <haijin.chn@gmail.com>
This commit is contained in:
@@ -86,8 +86,8 @@ func (h *Handler) Ping(c *gin.Context) {
|
||||
// @Summary Admin Login
|
||||
// @Description Admin login verification using email, only superuser can log in
|
||||
// @Tags admin
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Accept JSON
|
||||
// @Produce JSON
|
||||
// @Param request body service.EmailLoginRequest true "login info with email"
|
||||
// @Success 200 {object} map[string]interface{}
|
||||
// @Router /admin/login [post]
|
||||
@@ -258,16 +258,24 @@ func (h *Handler) CreateUser(c *gin.Context) {
|
||||
common.SuccessWithData(c, userInfo, "User created successfully")
|
||||
}
|
||||
|
||||
// GetUser handle get user
|
||||
func (h *Handler) GetUser(c *gin.Context) {
|
||||
func getUserName(c *gin.Context) (string, error) {
|
||||
encodedUsername := c.Param("username")
|
||||
username, err := common.DecodeFromBase64(encodedUsername)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
return "", err
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return "", err
|
||||
}
|
||||
return username, nil
|
||||
}
|
||||
|
||||
// GetUser handle get user
|
||||
func (h *Handler) GetUser(c *gin.Context) {
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -286,14 +294,8 @@ 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.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -318,14 +320,8 @@ type ChangePasswordHTTPRequest struct {
|
||||
|
||||
// ChangePassword handle change password
|
||||
func (h *Handler) ChangePassword(c *gin.Context) {
|
||||
encodedUsername := c.Param("username")
|
||||
username, err := common.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -350,14 +346,8 @@ type UpdateActivateStatusHTTPRequest struct {
|
||||
|
||||
// UpdateUserActivateStatus handle update user activate status
|
||||
func (h *Handler) UpdateUserActivateStatus(c *gin.Context) {
|
||||
encodedUsername := c.Param("username")
|
||||
username, err := common.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -383,14 +373,8 @@ 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.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -411,14 +395,8 @@ 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.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -439,14 +417,8 @@ 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.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -461,14 +433,8 @@ 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.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -647,11 +613,6 @@ func (h *Handler) ListVariables(c *gin.Context) {
|
||||
|
||||
variable, err := h.service.GetVariable(req.VarName)
|
||||
if err != nil {
|
||||
// Check if it's an AdminException
|
||||
if adminErr, ok := err.(*AdminException); ok {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, adminErr.Message)
|
||||
return
|
||||
}
|
||||
common.ErrorWithCode(c, common.CodeServerError, err.Error())
|
||||
return
|
||||
}
|
||||
@@ -707,11 +668,6 @@ func (h *Handler) SetVariable(c *gin.Context) {
|
||||
}
|
||||
|
||||
if err := h.service.SetVariable(req.VarName, req.VarValue); err != nil {
|
||||
// Check if it's an AdminException
|
||||
if adminErr, ok := err.(*AdminException); ok {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, adminErr.Message)
|
||||
return
|
||||
}
|
||||
common.ErrorWithCode(c, common.CodeServerError, err.Error())
|
||||
return
|
||||
}
|
||||
@@ -1141,7 +1097,7 @@ type ListIngestionTasksRequest struct {
|
||||
Status *string `json:"status"`
|
||||
}
|
||||
|
||||
// ListIngestionTasks
|
||||
// ListIngestionTasks handle list ingestion tasks
|
||||
func (h *Handler) ListIngestionTasks(c *gin.Context) {
|
||||
var err error
|
||||
var tasks []map[string]interface{}
|
||||
|
||||
@@ -861,14 +861,8 @@ func (h *Handler) ShowUserDatasetSummary(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
encodedUsername := c.Param("username")
|
||||
username, err := common.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -887,14 +881,8 @@ 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.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -913,14 +901,8 @@ 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.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -939,14 +921,8 @@ 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.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -965,14 +941,8 @@ 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.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -996,14 +966,8 @@ type UpdateUserRoleHTTPRequest struct {
|
||||
|
||||
// UpdateUserRole handle update user role
|
||||
func (h *Handler) UpdateUserRole(c *gin.Context) {
|
||||
encodedUsername := c.Param("username")
|
||||
username, err := common.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1024,14 +988,8 @@ 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.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1046,14 +1004,8 @@ 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.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1068,14 +1020,8 @@ 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.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1090,14 +1036,8 @@ 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.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1112,14 +1052,8 @@ 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.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1134,14 +1068,8 @@ 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.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1156,14 +1084,8 @@ 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.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1178,14 +1100,8 @@ 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.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1662,14 +1578,8 @@ func (h *Handler) PurgeUserData(c *gin.Context) {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
encodedUsername := c.Param("username")
|
||||
username, err := common.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1758,14 +1668,8 @@ 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.DecodeFromBase64(encodedUsername)
|
||||
username, err := getUserName(c)
|
||||
if err != nil {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, err.Error())
|
||||
return
|
||||
}
|
||||
if username == "" {
|
||||
common.ErrorWithCode(c, common.CodeBadRequest, "Username is required")
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ func (s *Service) Logout(user interface{}) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// ListTasks
|
||||
// ListIngestionTasks list all ingestion tasks for admin user
|
||||
func (s *Service) ListIngestionTasks() ([]map[string]interface{}, error) {
|
||||
return s.ingestionTaskSvc.ListAllForAdmin()
|
||||
}
|
||||
@@ -172,12 +172,12 @@ func (s *Service) ListUsers(pageIndex, pageSize int, name, status, sort, orderBy
|
||||
func (s *Service) CreateUser(username, password, role string) (map[string]interface{}, error) {
|
||||
emailRegex := regexp.MustCompile(`^[\w\._-]+@([\w_-]+\.)+[\w-]{2,}$`)
|
||||
if !emailRegex.MatchString(username) {
|
||||
return nil, fmt.Errorf("Invalid email address: %s!", username)
|
||||
return nil, fmt.Errorf("invalid email address: %s", username)
|
||||
}
|
||||
|
||||
existUser, _ := s.userDAO.GetByEmail(username)
|
||||
if existUser != nil {
|
||||
return nil, fmt.Errorf("User '%s' already exists", username)
|
||||
return nil, fmt.Errorf("user '%s' already exists", username)
|
||||
}
|
||||
|
||||
decryptedPassword, err := common.DecryptPassword(password)
|
||||
@@ -235,35 +235,35 @@ func (s *Service) CreateUser(username, password, role string) (map[string]interf
|
||||
|
||||
// Get default model IDs from config
|
||||
cfg := server.GetConfig()
|
||||
chatMdl := ""
|
||||
embdMdl := ""
|
||||
asrMdl := ""
|
||||
img2txtMdl := ""
|
||||
rerankMdl := ""
|
||||
chatModel := ""
|
||||
embeddingModel := ""
|
||||
asrModel := ""
|
||||
vlmModel := ""
|
||||
rerankModel := ""
|
||||
parserIDs := "naive:General,qa:Q&A,resume:Resume,manual:Manual,table:Table,paper:Paper,book:Book,laws:Laws,presentation:Presentation,picture:Picture,one:One,audio:Audio,email:Email,tag:Tag"
|
||||
|
||||
if cfg != nil {
|
||||
chatMdl = cfg.UserDefaultLLM.DefaultModels.ChatModel.Name
|
||||
embdMdl = cfg.UserDefaultLLM.DefaultModels.EmbeddingModel.Name
|
||||
asrMdl = cfg.UserDefaultLLM.DefaultModels.ASRModel.Name
|
||||
img2txtMdl = cfg.UserDefaultLLM.DefaultModels.Image2TextModel.Name
|
||||
rerankMdl = cfg.UserDefaultLLM.DefaultModels.RerankModel.Name
|
||||
chatModel = cfg.UserDefaultLLM.DefaultModels.ChatModel.Name
|
||||
embeddingModel = cfg.UserDefaultLLM.DefaultModels.EmbeddingModel.Name
|
||||
asrModel = cfg.UserDefaultLLM.DefaultModels.ASRModel.Name
|
||||
vlmModel = cfg.UserDefaultLLM.DefaultModels.Image2TextModel.Name
|
||||
rerankModel = cfg.UserDefaultLLM.DefaultModels.RerankModel.Name
|
||||
}
|
||||
|
||||
tenantStatus := "1"
|
||||
tenant := &entity.Tenant{
|
||||
ID: userID,
|
||||
Name: &tenantName,
|
||||
LLMID: chatMdl,
|
||||
EmbdID: embdMdl,
|
||||
ASRID: asrMdl,
|
||||
Img2TxtID: img2txtMdl,
|
||||
RerankID: rerankMdl,
|
||||
LLMID: chatModel,
|
||||
EmbdID: embeddingModel,
|
||||
ASRID: asrModel,
|
||||
Img2TxtID: vlmModel,
|
||||
RerankID: rerankModel,
|
||||
ParserIDs: parserIDs,
|
||||
Credit: 512,
|
||||
Status: &tenantStatus,
|
||||
}
|
||||
if err := tx.Create(tenant).Error; err != nil {
|
||||
if err = tx.Create(tenant).Error; err != nil {
|
||||
rollbackTx()
|
||||
return nil, fmt.Errorf("failed to create tenant: %w", err)
|
||||
}
|
||||
@@ -365,16 +365,16 @@ func (s *Service) getInitTenantLLM(userID string) ([]*entity.TenantLLM, error) {
|
||||
|
||||
// Get LLMs for each unique factory
|
||||
for _, factoryConfig := range uniqueFactories {
|
||||
llms, err := s.llmDAO.GetByFactory(factoryConfig.Factory)
|
||||
models, err := s.llmDAO.GetByFactory(factoryConfig.Factory)
|
||||
if err != nil {
|
||||
common.Warn("failed to get LLMs for factory", zap.String("factory", factoryConfig.Factory), zap.Error(err))
|
||||
continue
|
||||
}
|
||||
|
||||
for _, llm := range llms {
|
||||
for _, model := range models {
|
||||
// Determine API key and base URL based on model type
|
||||
var apiKey, apiBase string
|
||||
switch llm.ModelType {
|
||||
switch model.ModelType {
|
||||
case entity.ModelTypeChat.String():
|
||||
apiKey = factoryConfig.APIKey
|
||||
apiBase = factoryConfig.BaseURL
|
||||
@@ -420,12 +420,12 @@ func (s *Service) getInitTenantLLM(userID string) ([]*entity.TenantLLM, error) {
|
||||
}
|
||||
|
||||
maxTokens := int64(8192)
|
||||
if llm.MaxTokens > 0 {
|
||||
maxTokens = llm.MaxTokens
|
||||
if model.MaxTokens > 0 {
|
||||
maxTokens = model.MaxTokens
|
||||
}
|
||||
|
||||
llmName := llm.LLMName
|
||||
modelType := llm.ModelType
|
||||
llmName := model.LLMName
|
||||
modelType := model.ModelType
|
||||
tenantLLM := &entity.TenantLLM{
|
||||
TenantID: userID,
|
||||
LLMFactory: factoryConfig.Factory,
|
||||
@@ -474,7 +474,7 @@ func (s *Service) GetUserDetails(username string) (map[string]interface{}, error
|
||||
}, nil
|
||||
}
|
||||
|
||||
// DeleteUserResult
|
||||
// DeleteUserResult result of delete user operation
|
||||
type DeleteUserResult struct {
|
||||
Username string `json:"username"`
|
||||
TenantLLMCount int `json:"tenant_llm_count"`
|
||||
@@ -500,23 +500,23 @@ func (s *Service) DeleteUser(username string) (*DeleteUserResult, error) {
|
||||
}
|
||||
userList, err := s.userDAO.ListByEmail(username)
|
||||
if err != nil || len(userList) == 0 {
|
||||
return nil, fmt.Errorf("User '%s' not found", username)
|
||||
return nil, fmt.Errorf("user '%s' not found", username)
|
||||
}
|
||||
|
||||
if len(userList) > 1 {
|
||||
return nil, fmt.Errorf("Exist more than 1 user: %s!", username)
|
||||
return nil, fmt.Errorf("exist more than 1 user: %s", username)
|
||||
}
|
||||
|
||||
user := userList[0]
|
||||
|
||||
// Check if user is active - cannot delete active users
|
||||
if user.IsActive == "1" {
|
||||
return nil, fmt.Errorf("User '%s' is active and can't be deleted. Please deactivate the user first", username)
|
||||
return nil, fmt.Errorf("user '%s' is active and can't be deleted. Please deactivate the user first", username)
|
||||
}
|
||||
|
||||
// Check if user is superuser - cannot delete admin accounts
|
||||
if user.IsSuperuser != nil && *user.IsSuperuser {
|
||||
return nil, fmt.Errorf("Cannot delete admin account")
|
||||
return nil, fmt.Errorf("user '%s' is admin account and cannot be deleted", username)
|
||||
}
|
||||
|
||||
// Get user-tenant relations
|
||||
@@ -692,11 +692,11 @@ func (s *Service) DeleteUser(username string) (*DeleteUserResult, error) {
|
||||
func (s *Service) ChangePassword(username, newPassword string) error {
|
||||
userList, err := s.userDAO.ListByEmail(username)
|
||||
if err != nil || len(userList) == 0 {
|
||||
return fmt.Errorf("User '%s' not found", username)
|
||||
return fmt.Errorf("user '%s' not found", username)
|
||||
}
|
||||
|
||||
if len(userList) > 1 {
|
||||
return fmt.Errorf("Exist more than 1 user: %s!", username)
|
||||
return fmt.Errorf("exist more than 1 user: %s", username)
|
||||
}
|
||||
|
||||
user := userList[0]
|
||||
@@ -734,11 +734,11 @@ func (s *Service) ChangePassword(username, newPassword string) error {
|
||||
func (s *Service) UpdateUserActivateStatus(username string, isActive bool) error {
|
||||
userList, err := s.userDAO.ListByEmail(username)
|
||||
if err != nil || len(userList) == 0 {
|
||||
return fmt.Errorf("User '%s' not found", username)
|
||||
return fmt.Errorf("user '%s' not found", username)
|
||||
}
|
||||
|
||||
if len(userList) > 1 {
|
||||
return fmt.Errorf("Exist more than 1 user: %s!", username)
|
||||
return fmt.Errorf("exist more than 1 user: %s", username)
|
||||
}
|
||||
|
||||
user := userList[0]
|
||||
@@ -770,11 +770,11 @@ func (s *Service) UpdateUserActivateStatus(username string, isActive bool) error
|
||||
func (s *Service) GrantAdmin(username string) error {
|
||||
userList, err := s.userDAO.ListByEmail(username)
|
||||
if err != nil || len(userList) == 0 {
|
||||
return fmt.Errorf("User '%s' not found", username)
|
||||
return fmt.Errorf("user '%s' not found", username)
|
||||
}
|
||||
|
||||
if len(userList) > 1 {
|
||||
return fmt.Errorf("Exist more than 1 user: %s!", username)
|
||||
return fmt.Errorf("exist more than 1 user: %s", username)
|
||||
}
|
||||
|
||||
user := userList[0]
|
||||
@@ -802,11 +802,11 @@ func (s *Service) GrantAdmin(username string) error {
|
||||
func (s *Service) RevokeAdmin(username string) error {
|
||||
userList, err := s.userDAO.ListByEmail(username)
|
||||
if err != nil || len(userList) == 0 {
|
||||
return fmt.Errorf("User '%s' not found", username)
|
||||
return fmt.Errorf("user '%s' not found", username)
|
||||
}
|
||||
|
||||
if len(userList) > 1 {
|
||||
return fmt.Errorf("Exist more than 1 user: %s!", username)
|
||||
return fmt.Errorf("exist more than 1 user: %s", username)
|
||||
}
|
||||
|
||||
user := userList[0]
|
||||
@@ -818,7 +818,7 @@ func (s *Service) RevokeAdmin(username string) error {
|
||||
isSuperuser := false
|
||||
user.IsSuperuser = &isSuperuser
|
||||
|
||||
if err := s.userDAO.Update(user); err != nil {
|
||||
if err = s.userDAO.Update(user); err != nil {
|
||||
return fmt.Errorf("failed to update user: %w", err)
|
||||
}
|
||||
|
||||
@@ -1258,11 +1258,11 @@ func (s *Service) checkRAGFlowServerAlive(name string) (map[string]interface{},
|
||||
func (s *Service) checkMinioAlive(name string) (map[string]interface{}, error) {
|
||||
startTime := time.Now()
|
||||
|
||||
// Get minio config from allConfigs
|
||||
// Get MinIO file store config from allConfigs
|
||||
var host string
|
||||
var port int
|
||||
var secure bool
|
||||
var verify bool = true
|
||||
verify := true
|
||||
|
||||
allConfigs := server.GetAllConfigs()
|
||||
for _, config := range allConfigs {
|
||||
|
||||
@@ -434,7 +434,7 @@ func (s *Service) ShowUserDatasetSummary(email, dataset string) (map[string]inte
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// GetUserSummary get user summary for enterprise edition
|
||||
// ShowUserSummary show user summary for enterprise edition
|
||||
func (s *Service) ShowUserSummary(email string) (map[string]interface{}, error) {
|
||||
// Query user by email
|
||||
var user entity.User
|
||||
|
||||
Reference in New Issue
Block a user