mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Chore: Remove global database engine variable from annotation (#46940)
* Chore: Remove global database engine variable from annotation
* 💩
This commit is contained in:
parent
19be0b4170
commit
90f2233ea9
@ -341,7 +341,7 @@ func (hs *HTTPServer) MassDeleteAnnotations(c *models.ReqContext) response.Respo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
err = repo.Delete(deleteParams)
|
err = repo.Delete(c.Req.Context(), deleteParams)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return response.Error(500, "Failed to delete annotations", err)
|
return response.Error(500, "Failed to delete annotations", err)
|
||||||
@ -376,7 +376,7 @@ func (hs *HTTPServer) DeleteAnnotationByID(c *models.ReqContext) response.Respon
|
|||||||
return dashboardGuardianResponse(err)
|
return dashboardGuardianResponse(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = repo.Delete(&annotations.DeleteParams{
|
err = repo.Delete(c.Req.Context(), &annotations.DeleteParams{
|
||||||
OrgId: c.OrgId,
|
OrgId: c.OrgId,
|
||||||
Id: annotationID,
|
Id: annotationID,
|
||||||
})
|
})
|
||||||
@ -422,7 +422,7 @@ func (hs *HTTPServer) GetAnnotationTags(c *models.ReqContext) response.Response
|
|||||||
}
|
}
|
||||||
|
|
||||||
repo := annotations.GetRepository()
|
repo := annotations.GetRepository()
|
||||||
result, err := repo.FindTags(query)
|
result, err := repo.FindTags(c.Req.Context(), query)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return response.Error(500, "Failed to find annotation tags", err)
|
return response.Error(500, "Failed to find annotation tags", err)
|
||||||
}
|
}
|
||||||
|
@ -247,7 +247,7 @@ func NewFakeAnnotationsRepo() *fakeAnnotationsRepo {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (repo *fakeAnnotationsRepo) Delete(params *annotations.DeleteParams) error {
|
func (repo *fakeAnnotationsRepo) Delete(_ context.Context, params *annotations.DeleteParams) error {
|
||||||
if params.Id != 0 {
|
if params.Id != 0 {
|
||||||
delete(repo.annotations, params.Id)
|
delete(repo.annotations, params.Id)
|
||||||
} else {
|
} else {
|
||||||
@ -277,7 +277,7 @@ func (repo *fakeAnnotationsRepo) Find(_ context.Context, query *annotations.Item
|
|||||||
annotations := []*annotations.ItemDTO{{Id: 1, DashboardId: 0}}
|
annotations := []*annotations.ItemDTO{{Id: 1, DashboardId: 0}}
|
||||||
return annotations, nil
|
return annotations, nil
|
||||||
}
|
}
|
||||||
func (repo *fakeAnnotationsRepo) FindTags(query *annotations.TagsQuery) (annotations.FindTagsResult, error) {
|
func (repo *fakeAnnotationsRepo) FindTags(_ context.Context, query *annotations.TagsQuery) (annotations.FindTagsResult, error) {
|
||||||
result := annotations.FindTagsResult{
|
result := annotations.FindTagsResult{
|
||||||
Tags: []*annotations.TagsDTO{},
|
Tags: []*annotations.TagsDTO{},
|
||||||
}
|
}
|
||||||
|
@ -16,8 +16,8 @@ type Repository interface {
|
|||||||
Save(item *Item) error
|
Save(item *Item) error
|
||||||
Update(ctx context.Context, item *Item) error
|
Update(ctx context.Context, item *Item) error
|
||||||
Find(ctx context.Context, query *ItemQuery) ([]*ItemDTO, error)
|
Find(ctx context.Context, query *ItemQuery) ([]*ItemDTO, error)
|
||||||
Delete(params *DeleteParams) error
|
Delete(ctx context.Context, params *DeleteParams) error
|
||||||
FindTags(query *TagsQuery) (FindTagsResult, error)
|
FindTags(ctx context.Context, query *TagsQuery) (FindTagsResult, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
// AnnotationCleaner is responsible for cleaning up old annotations
|
// AnnotationCleaner is responsible for cleaning up old annotations
|
||||||
|
@ -436,7 +436,7 @@ func (repo *FakeAnnotationsRepo) Len() int {
|
|||||||
return len(repo.Items)
|
return len(repo.Items)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (repo *FakeAnnotationsRepo) Delete(params *annotations.DeleteParams) error {
|
func (repo *FakeAnnotationsRepo) Delete(_ context.Context, params *annotations.DeleteParams) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -456,7 +456,7 @@ func (repo *FakeAnnotationsRepo) Find(_ context.Context, query *annotations.Item
|
|||||||
return annotations, nil
|
return annotations, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (repo *FakeAnnotationsRepo) FindTags(query *annotations.TagsQuery) (annotations.FindTagsResult, error) {
|
func (repo *FakeAnnotationsRepo) FindTags(_ context.Context, query *annotations.TagsQuery) (annotations.FindTagsResult, error) {
|
||||||
result := annotations.FindTagsResult{
|
result := annotations.FindTagsResult{
|
||||||
Tags: []*annotations.TagsDTO{},
|
Tags: []*annotations.TagsDTO{},
|
||||||
}
|
}
|
||||||
|
@ -239,8 +239,8 @@ func (r *SQLAnnotationRepo) Find(ctx context.Context, query *annotations.ItemQue
|
|||||||
return items, err
|
return items, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *SQLAnnotationRepo) Delete(params *annotations.DeleteParams) error {
|
func (r *SQLAnnotationRepo) Delete(ctx context.Context, params *annotations.DeleteParams) error {
|
||||||
return inTransaction(func(sess *DBSession) error {
|
return r.sql.WithTransactionalDbSession(ctx, func(sess *DBSession) error {
|
||||||
var (
|
var (
|
||||||
sql string
|
sql string
|
||||||
annoTagSQL string
|
annoTagSQL string
|
||||||
@ -275,7 +275,9 @@ func (r *SQLAnnotationRepo) Delete(params *annotations.DeleteParams) error {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *SQLAnnotationRepo) FindTags(query *annotations.TagsQuery) (annotations.FindTagsResult, error) {
|
func (r *SQLAnnotationRepo) FindTags(ctx context.Context, query *annotations.TagsQuery) (annotations.FindTagsResult, error) {
|
||||||
|
var items []*annotations.Tag
|
||||||
|
err := r.sql.WithDbSession(ctx, func(dbSession *DBSession) error {
|
||||||
if query.Limit == 0 {
|
if query.Limit == 0 {
|
||||||
query.Limit = 100
|
query.Limit = 100
|
||||||
}
|
}
|
||||||
@ -304,11 +306,12 @@ func (r *SQLAnnotationRepo) FindTags(query *annotations.TagsQuery) (annotations.
|
|||||||
sql.WriteString(` ORDER BY ` + tagKey + `,` + tagValue)
|
sql.WriteString(` ORDER BY ` + tagKey + `,` + tagValue)
|
||||||
sql.WriteString(` ` + dialect.Limit(query.Limit))
|
sql.WriteString(` ` + dialect.Limit(query.Limit))
|
||||||
|
|
||||||
var items []*annotations.Tag
|
err := dbSession.SQL(sql.String(), params...).Find(&items)
|
||||||
if err := x.SQL(sql.String(), params...).Find(&items); err != nil {
|
return err
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
return annotations.FindTagsResult{Tags: []*annotations.TagsDTO{}}, err
|
return annotations.FindTagsResult{Tags: []*annotations.TagsDTO{}}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
tags := make([]*annotations.TagsDTO, 0)
|
tags := make([]*annotations.TagsDTO, 0)
|
||||||
for _, item := range items {
|
for _, item := range items {
|
||||||
tag := item.Key
|
tag := item.Key
|
||||||
|
@ -245,7 +245,7 @@ func TestAnnotations(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
annotationId := items[0].Id
|
annotationId := items[0].Id
|
||||||
err = repo.Delete(&annotations.DeleteParams{Id: annotationId, OrgId: 1})
|
err = repo.Delete(context.Background(), &annotations.DeleteParams{Id: annotationId, OrgId: 1})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
items, err = repo.Find(context.Background(), query)
|
items, err = repo.Find(context.Background(), query)
|
||||||
@ -275,7 +275,7 @@ func TestAnnotations(t *testing.T) {
|
|||||||
|
|
||||||
dashboardId := items[0].DashboardId
|
dashboardId := items[0].DashboardId
|
||||||
panelId := items[0].PanelId
|
panelId := items[0].PanelId
|
||||||
err = repo.Delete(&annotations.DeleteParams{DashboardId: dashboardId, PanelId: panelId, OrgId: 1})
|
err = repo.Delete(context.Background(), &annotations.DeleteParams{DashboardId: dashboardId, PanelId: panelId, OrgId: 1})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
items, err = repo.Find(context.Background(), query)
|
items, err = repo.Find(context.Background(), query)
|
||||||
@ -284,7 +284,7 @@ func TestAnnotations(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("Should find tags by key", func(t *testing.T) {
|
t.Run("Should find tags by key", func(t *testing.T) {
|
||||||
result, err := repo.FindTags(&annotations.TagsQuery{
|
result, err := repo.FindTags(context.Background(), &annotations.TagsQuery{
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
Tag: "server",
|
Tag: "server",
|
||||||
})
|
})
|
||||||
@ -295,7 +295,7 @@ func TestAnnotations(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("Should find tags by value", func(t *testing.T) {
|
t.Run("Should find tags by value", func(t *testing.T) {
|
||||||
result, err := repo.FindTags(&annotations.TagsQuery{
|
result, err := repo.FindTags(context.Background(), &annotations.TagsQuery{
|
||||||
OrgID: 1,
|
OrgID: 1,
|
||||||
Tag: "outage",
|
Tag: "outage",
|
||||||
})
|
})
|
||||||
@ -308,7 +308,7 @@ func TestAnnotations(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("Should not find tags in other org", func(t *testing.T) {
|
t.Run("Should not find tags in other org", func(t *testing.T) {
|
||||||
result, err := repo.FindTags(&annotations.TagsQuery{
|
result, err := repo.FindTags(context.Background(), &annotations.TagsQuery{
|
||||||
OrgID: 0,
|
OrgID: 0,
|
||||||
Tag: "server-1",
|
Tag: "server-1",
|
||||||
})
|
})
|
||||||
@ -317,7 +317,7 @@ func TestAnnotations(t *testing.T) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
t.Run("Should not find tags that do not exist", func(t *testing.T) {
|
t.Run("Should not find tags that do not exist", func(t *testing.T) {
|
||||||
result, err := repo.FindTags(&annotations.TagsQuery{
|
result, err := repo.FindTags(context.Background(), &annotations.TagsQuery{
|
||||||
OrgID: 0,
|
OrgID: 0,
|
||||||
Tag: "unknown:tag",
|
Tag: "unknown:tag",
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user