Commit 32f9f8fc by Torkel Ödegaard

fix(http api): correct return status code for /api/datasources/:id so it eturns…

fix(http api): correct return status code for /api/datasources/:id so it eturns 404 when not found, fixes #3217
parent e4208441
...@@ -148,7 +148,7 @@ func Register(r *macaron.Macaron) { ...@@ -148,7 +148,7 @@ func Register(r *macaron.Macaron) {
r.Post("/", quota("data_source"), bind(m.AddDataSourceCommand{}), AddDataSource) r.Post("/", quota("data_source"), bind(m.AddDataSourceCommand{}), AddDataSource)
r.Put("/:id", bind(m.UpdateDataSourceCommand{}), UpdateDataSource) r.Put("/:id", bind(m.UpdateDataSourceCommand{}), UpdateDataSource)
r.Delete("/:id", DeleteDataSource) r.Delete("/:id", DeleteDataSource)
r.Get("/:id", GetDataSourceById) r.Get("/:id", wrap(GetDataSourceById))
r.Get("/plugins", GetDataSourcePlugins) r.Get("/plugins", GetDataSourcePlugins)
}, regOrgAdmin) }, regOrgAdmin)
......
...@@ -37,20 +37,22 @@ func GetDataSources(c *middleware.Context) { ...@@ -37,20 +37,22 @@ func GetDataSources(c *middleware.Context) {
c.JSON(200, result) c.JSON(200, result)
} }
func GetDataSourceById(c *middleware.Context) { func GetDataSourceById(c *middleware.Context) Response {
query := m.GetDataSourceByIdQuery{ query := m.GetDataSourceByIdQuery{
Id: c.ParamsInt64(":id"), Id: c.ParamsInt64(":id"),
OrgId: c.OrgId, OrgId: c.OrgId,
} }
if err := bus.Dispatch(&query); err != nil { if err := bus.Dispatch(&query); err != nil {
c.JsonApiErr(500, "Failed to query datasources", err) if err == m.ErrDataSourceNotFound {
return return ApiError(404, "Data source not found", nil)
}
return ApiError(500, "Failed to query datasources", err)
} }
ds := query.Result ds := query.Result
c.JSON(200, &dtos.DataSource{ return Json(200, &dtos.DataSource{
Id: ds.Id, Id: ds.Id,
OrgId: ds.OrgId, OrgId: ds.OrgId,
Name: ds.Name, Name: ds.Name,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment