func (a *App) addUsers(rw http.ResponseWriter, req *http.Request) { var user models.User body, err := ioutil.ReadAll(req.Body) if err != nil { logger.Get().Error("Error parsing http request body:%s", err) util.HandleHttpError(rw, err) return } var m map[string]interface{} if err = json.Unmarshal(body, &m); err != nil { logger.Get().Error("Unable to Unmarshall the data:%s", err) util.HandleHttpError(rw, err) return } var password string if val, ok := m["username"]; ok { user.Username = val.(string) } if val, ok := m["email"]; ok { user.Email = val.(string) } if val, ok := m["role"]; ok { user.Role = val.(string) } if val, ok := m["type"]; ok { user.Type = int(val.(float64)) } if val, ok := m["firstname"]; ok { user.FirstName = val.(string) } if val, ok := m["lastname"]; ok { user.LastName = val.(string) } if val, ok := m["notificationenabled"]; ok { user.NotificationEnabled = val.(bool) } if val, ok := m["password"]; ok { password = val.(string) } if err := GetAuthProvider().AddUser(user, password); err != nil { logger.Get().Error("Unable to create User:%s", err) util.HandleHttpError(rw, err) return } }