Commit 0a85efbf by bergquist

feat(alerting): add datasource type to settings

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