feat(alerting): add datasource type to settings

This commit is contained in:
bergquist 2016-06-20 11:44:06 +02:00
parent a18506e2e4
commit 0a85efbf18

View File

@ -23,28 +23,28 @@ func NewDashAlertExtractor(dash *m.Dashboard, orgId int64) *DashAlertExtractor {
}
}
func (e *DashAlertExtractor) lookupDatasourceId(dsName string) (int64, error) {
func (e *DashAlertExtractor) lookupDatasourceId(dsName string) (*m.DataSource, error) {
if dsName == "" {
query := &m.GetDataSourcesQuery{OrgId: e.OrgId}
if err := bus.Dispatch(query); err != nil {
return 0, err
return nil, err
} else {
for _, ds := range query.Result {
if ds.IsDefault {
return ds.Id, nil
return ds, nil
}
}
}
} else {
query := &m.GetDataSourceByNameQuery{Name: dsName, OrgId: e.OrgId}
if err := bus.Dispatch(query); err != nil {
return 0, err
return nil, err
} else {
return query.Result.Id, nil
return query.Result, nil
}
}
return 0, errors.New("Could not find datasource id for " + dsName)
return nil, errors.New("Could not find datasource id for " + dsName)
}
func (e *DashAlertExtractor) GetAlerts() ([]*m.Alert, error) {
@ -94,10 +94,11 @@ func (e *DashAlertExtractor) GetAlerts() ([]*m.Alert, error) {
dsName = panel.Get("datasource").MustString()
}
if datasourceId, err := e.lookupDatasourceId(dsName); err != nil {
if datasource, err := e.lookupDatasourceId(dsName); err != nil {
return nil, err
} else {
valueQuery.SetPath([]string{"datasourceId"}, datasourceId)
valueQuery.SetPath([]string{"datasourceId"}, datasource.Id)
valueQuery.SetPath([]string{"datasourceType"}, datasource.Type)
}
targetQuery := target.Get("target").MustString()