grafana/pkg/services/ngalert/store/org.go
David Parrott 7fbeefc090
Alerting: create wrapper for Alertmanager to enable org level isolation (#37320)
Introduces org-level isolation for the Alertmanager and its components.

Silences, Alerts and Contact points are not separated by org and are not shared between them.

Co-authored with @davidmparrott and @papagian
2021-08-24 11:28:09 +01:00

27 lines
508 B
Go

package store
import (
"context"
"github.com/grafana/grafana/pkg/services/sqlstore"
)
type OrgStore interface {
GetOrgs(ctx context.Context) ([]int64, error)
}
func (st DBstore) GetOrgs(ctx context.Context) ([]int64, error) {
orgs := make([]int64, 0)
err := st.SQLStore.WithDbSession(ctx, func(sess *sqlstore.DBSession) error {
q := "SELECT id FROM org"
if err := sess.SQL(q).Find(&orgs); err != nil {
return err
}
return nil
})
if err != nil {
return nil, err
}
return orgs, nil
}