Subroutes: strains
This commit is contained in:
parent
7b7f519c01
commit
b5af05de9d
8 changed files with 95 additions and 13 deletions
|
@ -71,6 +71,7 @@ func Handler() *mux.Router {
|
|||
m.Get(router.DeleteMeasurement).Handler(handler(serveDeleteMeasurement))
|
||||
|
||||
m.Get(router.SubrouterListSpecies).Handler(authHandler(serveSubrouterSpeciesList))
|
||||
m.Get(router.SubrouterListStrains).Handler(authHandler(serveSubrouterStrainsList))
|
||||
|
||||
return m
|
||||
}
|
||||
|
|
|
@ -90,3 +90,22 @@ func serveDeleteStrain(w http.ResponseWriter, r *http.Request) error {
|
|||
|
||||
return writeJSON(w, &models.Strain{})
|
||||
}
|
||||
|
||||
func serveSubrouterStrainsList(w http.ResponseWriter, r *http.Request) error {
|
||||
var opt models.StrainListOptions
|
||||
if err := schemaDecoder.Decode(&opt, r.URL.Query()); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
opt.Genus = mux.Vars(r)["genus"]
|
||||
|
||||
strains, err := store.Strains.List(&opt)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if strains == nil {
|
||||
strains = []*models.Strain{}
|
||||
}
|
||||
|
||||
return writeJSON(w, strains)
|
||||
}
|
||||
|
|
Reference in a new issue