package Users import ( "encoding/json" "net/http" "net/url" "git.tovijaeschke.xyz/tovi/Envelope/Backend/Database" "git.tovijaeschke.xyz/tovi/Envelope/Backend/Models" ) // SearchUsers searches a for a user by username func SearchUsers(w http.ResponseWriter, r *http.Request) { var ( user Models.User query url.Values rawUsername []string username string returnJSON []byte ok bool err error ) query = r.URL.Query() rawUsername, ok = query["username"] if !ok { http.Error(w, "Not Found", http.StatusNotFound) return } if len(rawUsername) != 1 { http.Error(w, "Not Found", http.StatusNotFound) return } username = rawUsername[0] user, err = Database.GetUserByUsername(username) if err != nil { http.Error(w, "Not Found", http.StatusNotFound) return } user.Password = "" user.AsymmetricPrivateKey = "" returnJSON, err = json.MarshalIndent(user, "", " ") if err != nil { panic(err) http.Error(w, "Not Found", http.StatusNotFound) return } w.WriteHeader(http.StatusOK) w.Write(returnJSON) }