func fetchUsers(w http.ResponseWriter, r *http.Request, dbl seed.DbLayer) { r.ParseForm() queryStr := `[{"c": ["all"]}]` if len(r.Form["field"]) == 1 && len(r.Form["value"]) == 1 { queryStr = fmt.Sprintf(`[{"eq": "%s", "in": ["%s"]}]`, r.Form["value"][0], r.Form["field"][0]) fmt.Println("Searching with ", queryStr) } queryResult, err := dbl.Query("Users", queryStr) if err != nil { fmt.Println("Failed to query ", err) return } // we don't need to do this at all since the dblayer did it for us but // useful for debugging right now var usersCollection []seed.User json.Unmarshal(queryResult, &usersCollection) fmt.Println(queryResult) for id := range usersCollection { fmt.Println("Username is ", usersCollection[id].Username) } w.Write(queryResult) }
func postUsers(w http.ResponseWriter, r *http.Request, dbl seed.DbLayer) { var users []seed.User body := make([]byte, r.ContentLength) _, err := io.ReadFull(r.Body, body) if err != nil { http.Error(w, "Error reading stream.", 500) return } err = json.Unmarshal(body, &users) if err != nil { http.Error(w, fmt.Sprintf("Failed to parse JSON: %s", err), 500) return } _, err = dbl.CreateUsers(users) if err != nil { http.Error(w, fmt.Sprintf("Error creating users: ", err), 500) return } return }