annotations

package
v0.0.85-test Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2023 License: AGPL-3.0 Imports: 5 Imported by: 388

Documentation

Index

Constants

View Source
const (
	Organization annotationType = iota
	Dashboard
)

Variables

View Source
var (
	ErrTimerangeMissing = errors.New("missing timerange")
)

Functions

func SetAnnotationCleaner

func SetAnnotationCleaner(rep AnnotationCleaner)

func SetRepository

func SetRepository(rep Repository)

Types

type AnnotationCleaner

type AnnotationCleaner interface {
	CleanAnnotations(ctx context.Context, cfg *setting.Cfg) (int64, int64, error)
}

AnnotationCleaner is responsible for cleaning up old annotations

func GetAnnotationCleaner

func GetAnnotationCleaner() AnnotationCleaner

type DeleteParams

type DeleteParams struct {
	OrgId       int64
	Id          int64
	DashboardId int64
	PanelId     int64
}

type FindTagsResult

type FindTagsResult struct {
	Tags []*TagsDTO `json:"tags"`
}

FindTagsResult is the result of a tags search.

type GetAnnotationTagsResponse

type GetAnnotationTagsResponse struct {
	Result FindTagsResult `json:"result"`
}

GetAnnotationTagsResponse is a response struct for FindTagsResult.

type Item

type Item struct {
	Id          int64            `json:"id"`
	OrgId       int64            `json:"orgId"`
	UserId      int64            `json:"userId"`
	DashboardId int64            `json:"dashboardId"`
	PanelId     int64            `json:"panelId"`
	Text        string           `json:"text"`
	AlertId     int64            `json:"alertId"`
	PrevState   string           `json:"prevState"`
	NewState    string           `json:"newState"`
	Epoch       int64            `json:"epoch"`
	EpochEnd    int64            `json:"epochEnd"`
	Created     int64            `json:"created"`
	Updated     int64            `json:"updated"`
	Tags        []string         `json:"tags"`
	Data        *simplejson.Json `json:"data"`

	// needed until we remove it from db
	Type  string
	Title string
}

func (Item) TableName

func (i Item) TableName() string

type ItemDTO

type ItemDTO struct {
	Id          int64            `json:"id"`
	AlertId     int64            `json:"alertId"`
	AlertName   string           `json:"alertName"`
	DashboardId int64            `json:"dashboardId"`
	PanelId     int64            `json:"panelId"`
	UserId      int64            `json:"userId"`
	NewState    string           `json:"newState"`
	PrevState   string           `json:"prevState"`
	Created     int64            `json:"created"`
	Updated     int64            `json:"updated"`
	Time        int64            `json:"time"`
	TimeEnd     int64            `json:"timeEnd"`
	Text        string           `json:"text"`
	Tags        []string         `json:"tags"`
	Login       string           `json:"login"`
	Email       string           `json:"email"`
	AvatarUrl   string           `json:"avatarUrl"`
	Data        *simplejson.Json `json:"data"`
}

func (*ItemDTO) GetType

func (annotation *ItemDTO) GetType() annotationType

type ItemQuery

type ItemQuery struct {
	OrgId        int64    `json:"orgId"`
	From         int64    `json:"from"`
	To           int64    `json:"to"`
	UserId       int64    `json:"userId"`
	AlertId      int64    `json:"alertId"`
	DashboardId  int64    `json:"dashboardId"`
	PanelId      int64    `json:"panelId"`
	AnnotationId int64    `json:"annotationId"`
	Tags         []string `json:"tags"`
	Type         string   `json:"type"`
	MatchAny     bool     `json:"matchAny"`
	SignedInUser *models.SignedInUser

	Limit int64 `json:"limit"`
}

type Repository

type Repository interface {
	Save(item *Item) error
	Update(ctx context.Context, item *Item) error
	Find(ctx context.Context, query *ItemQuery) ([]*ItemDTO, error)
	Delete(ctx context.Context, params *DeleteParams) error
	FindTags(ctx context.Context, query *TagsQuery) (FindTagsResult, error)
}

func GetRepository

func GetRepository() Repository

type Tag

type Tag struct {
	Key   string
	Value string
	Count int64
}

Tag is the DB result of a tags search.

type TagsDTO

type TagsDTO struct {
	Tag   string `json:"tag"`
	Count int64  `json:"count"`
}

TagsDTO is the frontend DTO for Tag.

type TagsQuery

type TagsQuery struct {
	OrgID int64  `json:"orgId"`
	Tag   string `json:"tag"`

	Limit int64 `json:"limit"`
}

TagsQuery is the query for a tags search.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL