mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Merge pull request #4322 from utkarshcmu/add-api
#4258 Implemented GetDataSourceIdByName API
This commit is contained in:
commit
c99aa74140
@ -74,7 +74,7 @@ page_keywords: grafana, admin, http, api, documentation, datasource
|
|||||||
"jsonData":null
|
"jsonData":null
|
||||||
}
|
}
|
||||||
|
|
||||||
## Get a single data sources by Name
|
## Get a single data source by Name
|
||||||
|
|
||||||
`GET /api/datasources/name/:name`
|
`GET /api/datasources/name/:name`
|
||||||
|
|
||||||
@ -107,6 +107,26 @@ page_keywords: grafana, admin, http, api, documentation, datasource
|
|||||||
"jsonData":null
|
"jsonData":null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
## Get data source Id by Name
|
||||||
|
|
||||||
|
`GET /api/datasources/id/:name`
|
||||||
|
|
||||||
|
**Example Request**:
|
||||||
|
|
||||||
|
GET /api/datasources/id/test_datasource HTTP/1.1
|
||||||
|
Accept: application/json
|
||||||
|
Content-Type: application/json
|
||||||
|
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||||||
|
|
||||||
|
**Example Response**:
|
||||||
|
|
||||||
|
HTTP/1.1 200
|
||||||
|
Content-Type: application/json
|
||||||
|
|
||||||
|
{
|
||||||
|
"id":1
|
||||||
|
}
|
||||||
|
|
||||||
## Create data source
|
## Create data source
|
||||||
|
|
||||||
`POST /api/datasources`
|
`POST /api/datasources`
|
||||||
|
@ -171,11 +171,10 @@ func Register(r *macaron.Macaron) {
|
|||||||
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", wrap(GetDataSourceById))
|
r.Get("/:id", wrap(GetDataSourceById))
|
||||||
|
r.Get("/name/:name", wrap(GetDataSourceByName))
|
||||||
}, reqOrgAdmin)
|
}, reqOrgAdmin)
|
||||||
|
|
||||||
r.Group("/datasources/name/:name", func() {
|
r.Get("/datasources/id/:name", wrap(GetDataSourceIdByName), reqSignedIn)
|
||||||
r.Get("/", wrap(GetDataSourceByName))
|
|
||||||
}, reqOrgAdmin)
|
|
||||||
|
|
||||||
r.Get("/frontend/settings/", GetFrontendSettings)
|
r.Get("/frontend/settings/", GetFrontendSettings)
|
||||||
r.Any("/datasources/proxy/:id/*", reqSignedIn, ProxyDataSourceRequest)
|
r.Any("/datasources/proxy/:id/*", reqSignedIn, ProxyDataSourceRequest)
|
||||||
|
@ -116,6 +116,25 @@ func GetDataSourceByName(c *middleware.Context) Response {
|
|||||||
return Json(200, &dtos)
|
return Json(200, &dtos)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get /api/datasources/id/:name
|
||||||
|
func GetDataSourceIdByName(c *middleware.Context) Response {
|
||||||
|
query := m.GetDataSourceByNameQuery{Name: c.Params(":name"), OrgId: c.OrgId}
|
||||||
|
|
||||||
|
if err := bus.Dispatch(&query); err != nil {
|
||||||
|
if err == m.ErrDataSourceNotFound {
|
||||||
|
return ApiError(404, "Data source not found", nil)
|
||||||
|
}
|
||||||
|
return ApiError(500, "Failed to query datasources", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
ds := query.Result
|
||||||
|
dtos := dtos.AnyId{
|
||||||
|
Id: ds.Id,
|
||||||
|
}
|
||||||
|
|
||||||
|
return Json(200, &dtos)
|
||||||
|
}
|
||||||
|
|
||||||
func convertModelToDtos(ds m.DataSource) dtos.DataSource {
|
func convertModelToDtos(ds m.DataSource) dtos.DataSource {
|
||||||
return dtos.DataSource{
|
return dtos.DataSource{
|
||||||
Id: ds.Id,
|
Id: ds.Id,
|
||||||
|
@ -10,6 +10,10 @@ import (
|
|||||||
"github.com/grafana/grafana/pkg/setting"
|
"github.com/grafana/grafana/pkg/setting"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type AnyId struct {
|
||||||
|
Id int64 `json:"id"`
|
||||||
|
}
|
||||||
|
|
||||||
type LoginCommand struct {
|
type LoginCommand struct {
|
||||||
User string `json:"user" binding:"Required"`
|
User string `json:"user" binding:"Required"`
|
||||||
Password string `json:"password" binding:"Required"`
|
Password string `json:"password" binding:"Required"`
|
||||||
|
Loading…
Reference in New Issue
Block a user