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 writeJSON(w, genus)
|
||||
return writeJSON(w, models.GenusJSON{Genus: genus})
|
||||
}
|
||||
|
||||
func serveCreateGenus(w http.ResponseWriter, r *http.Request) error {
|
||||
var genus models.Genus
|
||||
var genus models.GenusJSON
|
||||
err := json.NewDecoder(r.Body).Decode(&genus)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
created, err := store.Genera.Create(&genus)
|
||||
created, err := store.Genera.Create(genus.Genus)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -57,18 +57,18 @@ func serveGenera(w http.ResponseWriter, r *http.Request) error {
|
|||
genera = []*models.Genus{}
|
||||
}
|
||||
|
||||
return writeJSON(w, genera)
|
||||
return writeJSON(w, models.GeneraJSON{Genera: genera})
|
||||
}
|
||||
|
||||
func serveUpdateGenus(w http.ResponseWriter, r *http.Request) error {
|
||||
id, _ := strconv.ParseInt(mux.Vars(r)["Id"], 10, 0)
|
||||
var genus models.Genus
|
||||
var genus models.GenusJSON
|
||||
err := json.NewDecoder(r.Body).Decode(&genus)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
updated, err := store.Genera.Update(id, &genus)
|
||||
updated, err := store.Genera.Update(id, genus.Genus)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -19,6 +19,14 @@ type Genus struct {
|
|||
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 {
|
||||
return fmt.Sprintf("%v", *m)
|
||||
}
|
||||
|
@ -68,13 +76,13 @@ func (s *generaService) Get(id int64) (*Genus, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
var genus *Genus
|
||||
var genus *GenusJSON
|
||||
_, err = s.client.Do(req, &genus)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return genus, nil
|
||||
return genus.Genus, nil
|
||||
}
|
||||
|
||||
func (s *generaService) Create(genus *Genus) (bool, error) {
|
||||
|
@ -83,7 +91,7 @@ func (s *generaService) Create(genus *Genus) (bool, error) {
|
|||
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 {
|
||||
return false, err
|
||||
}
|
||||
|
@ -111,13 +119,13 @@ func (s *generaService) List(opt *GenusListOptions) ([]*Genus, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
var genera []*Genus
|
||||
var genera *GeneraJSON
|
||||
_, err = s.client.Do(req, &genera)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return genera, nil
|
||||
return genera.Genera, nil
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
req, err := s.client.NewRequest("PUT", url.String(), genus)
|
||||
req, err := s.client.NewRequest("PUT", url.String(), GenusJSON{Genus: genus})
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ func TestGeneraService_Get(t *testing.T) {
|
|||
called = true
|
||||
testMethod(t, r, "GET")
|
||||
|
||||
writeJSON(w, want)
|
||||
writeJSON(w, GenusJSON{Genus: want})
|
||||
})
|
||||
|
||||
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) {
|
||||
called = true
|
||||
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)
|
||||
writeJSON(w, want)
|
||||
|
@ -93,7 +93,7 @@ func TestGeneraService_List(t *testing.T) {
|
|||
testMethod(t, r, "GET")
|
||||
testFormValues(t, r, values{})
|
||||
|
||||
writeJSON(w, want)
|
||||
writeJSON(w, GeneraJSON{Genera: want})
|
||||
})
|
||||
|
||||
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) {
|
||||
called = true
|
||||
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)
|
||||
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) {
|
||||
called = true
|
||||
testMethod(t, r, "DELETE")
|
||||
testBody(t, r, "")
|
||||
|
||||
w.WriteHeader(http.StatusOK)
|
||||
writeJSON(w, want)
|
||||
|
|
Reference in a new issue