func (r Router) listUsers(w http.ResponseWriter, req *http.Request) { user := models.User{DB: r.DB} result, err := user.List() w.Header().Set("Content-Type", "application/json; charset=UTF-8") if err != nil { w.WriteHeader(500) io.WriteString(w, err.Error()) } else { w.WriteHeader(200) json.NewEncoder(w).Encode(result) } }
func (r Router) deleteUser(w http.ResponseWriter, req *http.Request) { vars := mux.Vars(req) id := vars["id"] user := models.User{ID: id, DB: r.DB} err := user.Delete() w.Header().Set("Content-Type", "application/json; charset=UTF-8") if err != nil { w.WriteHeader(500) io.WriteString(w, err.Error()) } else { w.WriteHeader(200) } }
func (r Router) authenticate(w http.ResponseWriter, req *http.Request) { email := req.FormValue("email") password := req.FormValue("password") user := models.User{Email: email, Password: password, DB: r.DB} result, err := user.Authenticate() w.Header().Set("Content-Type", "application/json; charset=UTF-8") if err != nil { w.WriteHeader(500) io.WriteString(w, err.Error()) } else { w.WriteHeader(201) json.NewEncoder(w).Encode(result) } }
func (r Router) createUser(w http.ResponseWriter, req *http.Request) { name := req.FormValue("name") email := req.FormValue("email") password := req.FormValue("password") faceid := req.FormValue("faceid") bday := req.FormValue("bday") gender := req.FormValue("gender") user := models.User{Name: name, FaceId: faceid, Bday: bday, Gender: gender, Email: email, Password: password, DB: r.DB} result, err := user.Save() w.Header().Set("Content-Type", "application/json; charset=UTF-8") if err != nil { w.WriteHeader(500) io.WriteString(w, err.Error()) } else { w.WriteHeader(201) json.NewEncoder(w).Encode(result) } }