diff --git a/server/api/users.go b/server/api/users.go index d4dcb6895..609cd771b 100644 --- a/server/api/users.go +++ b/server/api/users.go @@ -62,12 +62,34 @@ func (a *API) handleGetUsersList(w http.ResponseWriter, r *http.Request) { auditRec := a.makeAuditRecord(r, "getUsersList", audit.Fail) defer a.audit.LogRecord(audit.LevelAuth, auditRec) - users, err := a.app.GetUsersList(userIDs) - if err != nil { - a.errorResponse(w, r, err) + var users []*model.User + var error error + + if len(userIDs) == 0 { + a.errorResponse(w, r, model.NewErrBadRequest("User IDs are empty")) return } + if userIDs[0] == model.SingleUser { + ws, _ := a.app.GetRootTeam() + now := utils.GetMillis() + user := &model.User{ + ID: model.SingleUser, + Username: model.SingleUser, + Email: model.SingleUser, + CreateAt: ws.UpdateAt, + UpdateAt: now, + Props: map[string]interface{}{}, + } + users = append(users, user) + } else { + users, error = a.app.GetUsersList(userIDs) + if error != nil { + a.errorResponse(w, r, error) + return + } + } + usersList, err := json.Marshal(users) if err != nil { a.errorResponse(w, r, err)