Measurements changes for ember data.
This commit is contained in:
parent
a03a9837a6
commit
1c79f5561a
3 changed files with 27 additions and 18 deletions
|
@ -20,17 +20,17 @@ func serveMeasurement(w http.ResponseWriter, r *http.Request) error {
|
|||
return err
|
||||
}
|
||||
|
||||
return writeJSON(w, measurement)
|
||||
return writeJSON(w, models.MeasurementJSON{Measurement: measurement})
|
||||
}
|
||||
|
||||
func serveCreateMeasurement(w http.ResponseWriter, r *http.Request) error {
|
||||
var measurement models.Measurement
|
||||
var measurement models.MeasurementJSON
|
||||
err := json.NewDecoder(r.Body).Decode(&measurement)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
created, err := store.Measurements.Create(&measurement)
|
||||
created, err := store.Measurements.Create(measurement.Measurement)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -55,18 +55,18 @@ func serveMeasurementList(w http.ResponseWriter, r *http.Request) error {
|
|||
measurements = []*models.Measurement{}
|
||||
}
|
||||
|
||||
return writeJSON(w, measurements)
|
||||
return writeJSON(w, models.MeasurementsJSON{Measurements: measurements})
|
||||
}
|
||||
|
||||
func serveUpdateMeasurement(w http.ResponseWriter, r *http.Request) error {
|
||||
id, _ := strconv.ParseInt(mux.Vars(r)["Id"], 10, 0)
|
||||
var measurement models.Measurement
|
||||
var measurement models.MeasurementJSON
|
||||
err := json.NewDecoder(r.Body).Decode(&measurement)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
updated, err := store.Measurements.Update(id, &measurement)
|
||||
updated, err := store.Measurements.Update(id, measurement.Measurement)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -88,7 +88,7 @@ func serveDeleteMeasurement(w http.ResponseWriter, r *http.Request) error {
|
|||
w.WriteHeader(http.StatusOK)
|
||||
}
|
||||
|
||||
return writeJSON(w, &models.Measurement{})
|
||||
return writeJSON(w, nil)
|
||||
}
|
||||
|
||||
func serveSubrouterMeasurementsList(w http.ResponseWriter, r *http.Request) error {
|
||||
|
@ -107,5 +107,5 @@ func serveSubrouterMeasurementsList(w http.ResponseWriter, r *http.Request) erro
|
|||
measurements = []*models.Measurement{}
|
||||
}
|
||||
|
||||
return writeJSON(w, measurements)
|
||||
return writeJSON(w, models.MeasurementsJSON{Measurements: measurements})
|
||||
}
|
||||
|
|
|
@ -30,6 +30,14 @@ type Measurement struct {
|
|||
UpdatedAt time.Time `db:"updated_at" json:"updatedAt"`
|
||||
}
|
||||
|
||||
type MeasurementJSON struct {
|
||||
Measurement *Measurement `json:"measurement"`
|
||||
}
|
||||
|
||||
type MeasurementsJSON struct {
|
||||
Measurements []*Measurement `json:"measurements"`
|
||||
}
|
||||
|
||||
func (m *Measurement) String() string {
|
||||
return fmt.Sprintf("%v", *m)
|
||||
}
|
||||
|
@ -78,13 +86,13 @@ func (s *measurementsService) Get(id int64) (*Measurement, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
var measurement *Measurement
|
||||
var measurement *MeasurementJSON
|
||||
_, err = s.client.Do(req, &measurement)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return measurement, nil
|
||||
return measurement.Measurement, nil
|
||||
}
|
||||
|
||||
func (s *measurementsService) Create(measurement *Measurement) (bool, error) {
|
||||
|
@ -93,7 +101,7 @@ func (s *measurementsService) Create(measurement *Measurement) (bool, error) {
|
|||
return false, err
|
||||
}
|
||||
|
||||
req, err := s.client.NewRequest("POST", url.String(), measurement)
|
||||
req, err := s.client.NewRequest("POST", url.String(), MeasurementJSON{Measurement: measurement})
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
@ -122,13 +130,13 @@ func (s *measurementsService) List(opt *MeasurementListOptions) ([]*Measurement,
|
|||
return nil, err
|
||||
}
|
||||
|
||||
var measurements []*Measurement
|
||||
var measurements *MeasurementsJSON
|
||||
_, err = s.client.Do(req, &measurements)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return measurements, nil
|
||||
return measurements.Measurements, nil
|
||||
}
|
||||
|
||||
func (s *measurementsService) Update(id int64, measurement *Measurement) (bool, error) {
|
||||
|
@ -139,7 +147,7 @@ func (s *measurementsService) Update(id int64, measurement *Measurement) (bool,
|
|||
return false, err
|
||||
}
|
||||
|
||||
req, err := s.client.NewRequest("PUT", url.String(), measurement)
|
||||
req, err := s.client.NewRequest("PUT", url.String(), MeasurementJSON{Measurement: measurement})
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ func TestMeasurementService_Get(t *testing.T) {
|
|||
called = true
|
||||
testMethod(t, r, "GET")
|
||||
|
||||
writeJSON(w, want)
|
||||
writeJSON(w, MeasurementJSON{Measurement: want})
|
||||
})
|
||||
|
||||
measurement, err := client.Measurements.Get(want.Id)
|
||||
|
@ -59,7 +59,7 @@ func TestMeasurementService_Create(t *testing.T) {
|
|||
mux.HandleFunc(urlPath(t, router.CreateMeasurement, nil), func(w http.ResponseWriter, r *http.Request) {
|
||||
called = true
|
||||
testMethod(t, r, "POST")
|
||||
testBody(t, r, `{"id":1,"strainId":1,"characteristicId":1,"textMeasurementTypeId":null,"txtValue":null,"numValue":1.23,"confidenceInterval":null,"unitTypeId":1,"notes":"a note","testMethodId":null,"createdAt":"0001-01-01T00:00:00Z","updatedAt":"0001-01-01T00:00:00Z"}`+"\n")
|
||||
testBody(t, r, `{"measurement":{"id":1,"strainId":1,"characteristicId":1,"textMeasurementTypeId":null,"txtValue":null,"numValue":1.23,"confidenceInterval":null,"unitTypeId":1,"notes":"a note","testMethodId":null,"createdAt":"0001-01-01T00:00:00Z","updatedAt":"0001-01-01T00:00:00Z"}}`+"\n")
|
||||
|
||||
w.WriteHeader(http.StatusCreated)
|
||||
writeJSON(w, want)
|
||||
|
@ -97,7 +97,7 @@ func TestMeasurementService_List(t *testing.T) {
|
|||
testMethod(t, r, "GET")
|
||||
testFormValues(t, r, values{})
|
||||
|
||||
writeJSON(w, want)
|
||||
writeJSON(w, MeasurementsJSON{Measurements: want})
|
||||
})
|
||||
|
||||
measurements, err := client.Measurements.List(nil)
|
||||
|
@ -128,7 +128,7 @@ func TestMeasurementService_Update(t *testing.T) {
|
|||
mux.HandleFunc(urlPath(t, router.UpdateMeasurement, map[string]string{"Id": "1"}), func(w http.ResponseWriter, r *http.Request) {
|
||||
called = true
|
||||
testMethod(t, r, "PUT")
|
||||
testBody(t, r, `{"id":1,"strainId":1,"characteristicId":1,"textMeasurementTypeId":null,"txtValue":null,"numValue":4.56,"confidenceInterval":null,"unitTypeId":1,"notes":"a note","testMethodId":null,"createdAt":"0001-01-01T00:00:00Z","updatedAt":"0001-01-01T00:00:00Z"}`+"\n")
|
||||
testBody(t, r, `{"measurement":{"id":1,"strainId":1,"characteristicId":1,"textMeasurementTypeId":null,"txtValue":null,"numValue":4.56,"confidenceInterval":null,"unitTypeId":1,"notes":"a note","testMethodId":null,"createdAt":"0001-01-01T00:00:00Z","updatedAt":"0001-01-01T00:00:00Z"}}`+"\n")
|
||||
w.WriteHeader(http.StatusOK)
|
||||
writeJSON(w, want)
|
||||
})
|
||||
|
@ -159,6 +159,7 @@ func TestMeasurementService_Delete(t *testing.T) {
|
|||
mux.HandleFunc(urlPath(t, router.DeleteMeasurement, 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