Просмотр исходного кода

Added username, site and password for influxdb datasources

Torkel Ödegaard 11 лет назад
Родитель
Сommit
e5811e29b1

+ 10 - 0
pkg/api/api_config.go

@@ -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 {

+ 1 - 0
pkg/api/api_datasources.go

@@ -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,
 		}

+ 1 - 0
pkg/api/dtos/models.go

@@ -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"`
 }
 

+ 3 - 0
pkg/models/datasource.go

@@ -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 {

+ 7 - 1
pkg/stores/sqlstore/sqlstore_datasource.go

@@ -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(),
 		}
 

+ 3 - 1
pkg/stores/sqlstore/sqlstore_test.go

@@ -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() {