Commit 4ce0bf4d by Torkel Ödegaard

mysql: improved mysql data source, added test feature when adding data source, fixed cache issue

parent ab6740c6
......@@ -149,8 +149,8 @@ func fillWithSecureJsonData(cmd *m.UpdateDataSourceCommand) error {
if err != nil {
return err
}
secureJsonData := ds.SecureJsonData.Decrypt()
secureJsonData := ds.SecureJsonData.Decrypt()
for k, v := range secureJsonData {
if _, ok := cmd.SecureJsonData[k]; !ok {
......@@ -158,6 +158,8 @@ func fillWithSecureJsonData(cmd *m.UpdateDataSourceCommand) error {
}
}
// set version from db
cmd.Version = ds.Version
return nil
}
......
......@@ -116,8 +116,9 @@ type UpdateDataSourceCommand struct {
JsonData *simplejson.Json `json:"jsonData"`
SecureJsonData map[string]string `json:"secureJsonData"`
OrgId int64 `json:"-"`
Id int64 `json:"-"`
OrgId int64 `json:"-"`
Id int64 `json:"-"`
Version int `json:"-"`
}
type DeleteDataSourceByIdCommand struct {
......
......@@ -141,6 +141,7 @@ func UpdateDataSource(cmd *m.UpdateDataSourceCommand) error {
JsonData: cmd.JsonData,
SecureJsonData: securejsondata.GetEncryptedJsonData(cmd.SecureJsonData),
Updated: time.Now(),
Version: cmd.Version + 1,
}
sess.UseBool("is_default")
......
......@@ -52,6 +52,34 @@ export class MysqlDatasource {
}).then(this.processQueryResult.bind(this));
}
testDatasource() {
return this.backendSrv.datasourceRequest({
url: '/api/tsdb/query',
method: 'POST',
data: {
from: '5m',
to: 'now',
queries: [{
refId: 'A',
intervalMs: 1,
maxDataPoints: 1,
datasourceId: this.id,
rawSql: "SELECT 1",
format: 'table',
}],
}
}).then(res => {
return { status: "success", message: "Database Connection OK", title: "Success" };
}).catch(err => {
console.log(err);
if (err.data && err.data.message) {
return { status: "error", message: err.data.message, title: "Error" };
} else {
return { status: "error", message: err.status, title: "Error" };
}
});
}
processQueryResult(res) {
var data = [];
......
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