Genus changes for ember data.
This commit is contained in:
parent
8a72ecae69
commit
8052ab425c
3 changed files with 25 additions and 16 deletions
|
@ -22,17 +22,17 @@ func serveGenus(w http.ResponseWriter, r *http.Request) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return writeJSON(w, genus)
|
return writeJSON(w, models.GenusJSON{Genus: genus})
|
||||||
}
|
}
|
||||||
|
|
||||||
func serveCreateGenus(w http.ResponseWriter, r *http.Request) error {
|
func serveCreateGenus(w http.ResponseWriter, r *http.Request) error {
|
||||||
var genus models.Genus
|
var genus models.GenusJSON
|
||||||
err := json.NewDecoder(r.Body).Decode(&genus)
|
err := json.NewDecoder(r.Body).Decode(&genus)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
created, err := store.Genera.Create(&genus)
|
created, err := store.Genera.Create(genus.Genus)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -57,18 +57,18 @@ func serveGenera(w http.ResponseWriter, r *http.Request) error {
|
||||||
genera = []*models.Genus{}
|
genera = []*models.Genus{}
|
||||||
}
|
}
|
||||||
|
|
||||||
return writeJSON(w, genera)
|
return writeJSON(w, models.GeneraJSON{Genera: genera})
|
||||||
}
|
}
|
||||||
|
|
||||||
func serveUpdateGenus(w http.ResponseWriter, r *http.Request) error {
|
func serveUpdateGenus(w http.ResponseWriter, r *http.Request) error {
|
||||||
id, _ := strconv.ParseInt(mux.Vars(r)["Id"], 10, 0)
|
id, _ := strconv.ParseInt(mux.Vars(r)["Id"], 10, 0)
|
||||||
var genus models.Genus
|
var genus models.GenusJSON
|
||||||
err := json.NewDecoder(r.Body).Decode(&genus)
|
err := json.NewDecoder(r.Body).Decode(&genus)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
updated, err := store.Genera.Update(id, &genus)
|
updated, err := store.Genera.Update(id, genus.Genus)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,14 @@ type Genus struct {
|
||||||
DeletedAt NullTime `db:"deleted_at" json:"deletedAt"`
|
DeletedAt NullTime `db:"deleted_at" json:"deletedAt"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type GenusJSON struct {
|
||||||
|
Genus *Genus `json:"genus"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type GeneraJSON struct {
|
||||||
|
Genera []*Genus `json:"genera"`
|
||||||
|
}
|
||||||
|
|
||||||
func (m *Genus) String() string {
|
func (m *Genus) String() string {
|
||||||
return fmt.Sprintf("%v", *m)
|
return fmt.Sprintf("%v", *m)
|
||||||
}
|
}
|
||||||
|
@ -68,13 +76,13 @@ func (s *generaService) Get(id int64) (*Genus, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var genus *Genus
|
var genus *GenusJSON
|
||||||
_, err = s.client.Do(req, &genus)
|
_, err = s.client.Do(req, &genus)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return genus, nil
|
return genus.Genus, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *generaService) Create(genus *Genus) (bool, error) {
|
func (s *generaService) Create(genus *Genus) (bool, error) {
|
||||||
|
@ -83,7 +91,7 @@ func (s *generaService) Create(genus *Genus) (bool, error) {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
||||||
req, err := s.client.NewRequest("POST", url.String(), genus)
|
req, err := s.client.NewRequest("POST", url.String(), GenusJSON{Genus: genus})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
@ -111,13 +119,13 @@ func (s *generaService) List(opt *GenusListOptions) ([]*Genus, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var genera []*Genus
|
var genera *GeneraJSON
|
||||||
_, err = s.client.Do(req, &genera)
|
_, err = s.client.Do(req, &genera)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return genera, nil
|
return genera.Genera, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *generaService) Update(id int64, genus *Genus) (bool, error) {
|
func (s *generaService) Update(id int64, genus *Genus) (bool, error) {
|
||||||
|
@ -128,7 +136,7 @@ func (s *generaService) Update(id int64, genus *Genus) (bool, error) {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
||||||
req, err := s.client.NewRequest("PUT", url.String(), genus)
|
req, err := s.client.NewRequest("PUT", url.String(), GenusJSON{Genus: genus})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ func TestGeneraService_Get(t *testing.T) {
|
||||||
called = true
|
called = true
|
||||||
testMethod(t, r, "GET")
|
testMethod(t, r, "GET")
|
||||||
|
|
||||||
writeJSON(w, want)
|
writeJSON(w, GenusJSON{Genus: want})
|
||||||
})
|
})
|
||||||
|
|
||||||
genus, err := client.Genera.Get(want.Id)
|
genus, err := client.Genera.Get(want.Id)
|
||||||
|
@ -54,7 +54,7 @@ func TestGeneraService_Create(t *testing.T) {
|
||||||
mux.HandleFunc(urlPath(t, router.CreateGenus, nil), func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc(urlPath(t, router.CreateGenus, nil), func(w http.ResponseWriter, r *http.Request) {
|
||||||
called = true
|
called = true
|
||||||
testMethod(t, r, "POST")
|
testMethod(t, r, "POST")
|
||||||
testBody(t, r, `{"id":1,"genusName":"Test Genus","createdAt":"0001-01-01T00:00:00Z","updatedAt":"0001-01-01T00:00:00Z","deletedAt":null}`+"\n")
|
testBody(t, r, `{"genus":{"id":1,"genusName":"Test Genus","createdAt":"0001-01-01T00:00:00Z","updatedAt":"0001-01-01T00:00:00Z","deletedAt":null}}`+"\n")
|
||||||
|
|
||||||
w.WriteHeader(http.StatusCreated)
|
w.WriteHeader(http.StatusCreated)
|
||||||
writeJSON(w, want)
|
writeJSON(w, want)
|
||||||
|
@ -93,7 +93,7 @@ func TestGeneraService_List(t *testing.T) {
|
||||||
testMethod(t, r, "GET")
|
testMethod(t, r, "GET")
|
||||||
testFormValues(t, r, values{})
|
testFormValues(t, r, values{})
|
||||||
|
|
||||||
writeJSON(w, want)
|
writeJSON(w, GeneraJSON{Genera: want})
|
||||||
})
|
})
|
||||||
|
|
||||||
genera, err := client.Genera.List(nil)
|
genera, err := client.Genera.List(nil)
|
||||||
|
@ -124,7 +124,7 @@ func TestGeneraService_Update(t *testing.T) {
|
||||||
mux.HandleFunc(urlPath(t, router.UpdateGenus, map[string]string{"Id": "1"}), func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc(urlPath(t, router.UpdateGenus, map[string]string{"Id": "1"}), func(w http.ResponseWriter, r *http.Request) {
|
||||||
called = true
|
called = true
|
||||||
testMethod(t, r, "PUT")
|
testMethod(t, r, "PUT")
|
||||||
testBody(t, r, `{"id":1,"genusName":"Test Genus Updated","createdAt":"0001-01-01T00:00:00Z","updatedAt":"0001-01-01T00:00:00Z","deletedAt":null}`+"\n")
|
testBody(t, r, `{"genus":{"id":1,"genusName":"Test Genus Updated","createdAt":"0001-01-01T00:00:00Z","updatedAt":"0001-01-01T00:00:00Z","deletedAt":null}}`+"\n")
|
||||||
|
|
||||||
w.WriteHeader(http.StatusOK)
|
w.WriteHeader(http.StatusOK)
|
||||||
writeJSON(w, want)
|
writeJSON(w, want)
|
||||||
|
@ -156,6 +156,7 @@ func TestGeneraService_Delete(t *testing.T) {
|
||||||
mux.HandleFunc(urlPath(t, router.DeleteGenus, map[string]string{"Id": "1"}), func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc(urlPath(t, router.DeleteGenus, map[string]string{"Id": "1"}), func(w http.ResponseWriter, r *http.Request) {
|
||||||
called = true
|
called = true
|
||||||
testMethod(t, r, "DELETE")
|
testMethod(t, r, "DELETE")
|
||||||
|
testBody(t, r, "")
|
||||||
|
|
||||||
w.WriteHeader(http.StatusOK)
|
w.WriteHeader(http.StatusOK)
|
||||||
writeJSON(w, want)
|
writeJSON(w, want)
|
||||||
|
|
Reference in a new issue