Added username, site and password for influxdb datasources

This commit is contained in:
Torkel Ödegaard 2014-12-19 08:19:12 +01:00
parent 525b367a6f
commit e5811e29b1
6 changed files with 25 additions and 2 deletions

View File

@ -28,14 +28,24 @@ func renderConfig(data *configJsTmplModel) string {
for i, ds := range data.DataSources {
url := ds.Url
if ds.Access == m.DS_ACCESS_PROXY {
url = "/api/datasources/proxy/" + strconv.FormatInt(ds.Id, 10)
}
var dsMap = map[string]interface{}{
"type": ds.Type,
"url": url,
}
if ds.Type == m.DS_INFLUXDB {
if ds.Access == m.DS_ACCESS_DIRECT {
dsMap["username"] = ds.User
dsMap["password"] = ds.Password
dsMap["url"] = url + "/db/" + ds.Database
}
}
// temp hack, first is always default
// TODO: implement default ds account setting
if i == 0 {

View File

@ -26,6 +26,7 @@ func GetDataSources(c *middleware.Context) {
Type: ds.Type,
Access: ds.Access,
Password: ds.Password,
Database: ds.Database,
User: ds.User,
BasicAuth: ds.BasicAuth,
}

View File

@ -47,6 +47,7 @@ type DataSource struct {
Url string `json:"url"`
Password string `json:"password"`
User string `json:"user"`
Database string `json:"database"`
BasicAuth bool `json:"basicAuth"`
}

View File

@ -31,6 +31,7 @@ type DataSource struct {
Url string
Password string
User string
Database string
BasicAuth bool
Created time.Time
@ -55,6 +56,7 @@ type AddDataSourceCommand struct {
Access DsAccess
Url string
Password string
Database string
User string
}
@ -67,6 +69,7 @@ type UpdateDataSourceCommand struct {
Url string
Password string
User string
Database string
}
type DeleteDataSourceCommand struct {

View File

@ -28,7 +28,7 @@ func GetDataSourceById(query *m.GetDataSourceByIdQuery) error {
}
func GetDataSources(query *m.GetDataSourcesQuery) error {
sess := x.Limit(100, 0).Where("account_id=?", query.AccountId)
sess := x.Limit(100, 0).Where("account_id=?", query.AccountId).Asc("name")
query.Result = make([]*m.DataSource, 0)
return sess.Find(&query.Result)
@ -53,6 +53,9 @@ func AddDataSource(cmd *m.AddDataSourceCommand) error {
Type: cmd.Type,
Access: cmd.Access,
Url: cmd.Url,
User: cmd.User,
Password: cmd.Password,
Database: cmd.Database,
Created: time.Now(),
Updated: time.Now(),
}
@ -75,6 +78,9 @@ func UpdateDataSource(cmd *m.UpdateDataSourceCommand) error {
Type: cmd.Type,
Access: cmd.Access,
Url: cmd.Url,
User: cmd.User,
Password: cmd.Password,
Database: cmd.Database,
Updated: time.Now(),
}

View File

@ -34,9 +34,10 @@ func TestDataAccess(t *testing.T) {
err := AddDataSource(&m.AddDataSourceCommand{
AccountId: 10,
Type: m.DS_GRAPHITE,
Type: m.DS_INFLUXDB,
Access: m.DS_ACCESS_DIRECT,
Url: "http://test",
Database: "site",
})
So(err, ShouldBeNil)
@ -50,6 +51,7 @@ func TestDataAccess(t *testing.T) {
ds := query.Result[0]
So(ds.AccountId, ShouldEqual, 10)
So(ds.Database, ShouldEqual, "site")
})
Convey("Given a datasource", func() {