annotations

package
v0.0.1-test Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2022 License: AGPL-3.0 Imports: 6 Imported by: 411

Documentation

Index

Constants

View Source
const (
	Organization annotationType = iota
	Dashboard
)

Variables

View Source
var (
	ErrTimerangeMissing     = errors.New("missing timerange")
	ErrBaseTagLimitExceeded = errutil.NewBase(errutil.StatusBadRequest, "annotations.tag-limit-exceeded", errutil.WithPublicMessage("Tags length exceeds the maximum allowed."))
)

Functions

This section is empty.

Types

type Cleaner

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

Cleaner is responsible for cleaning up old annotations

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"`
	DashboardUID *string          `json:"dashboardUID"`
	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"`
	DashboardUid string   `json:"dashboardUID"`
	PanelId      int64    `json:"panelId"`
	AnnotationId int64    `json:"annotationId"`
	Tags         []string `json:"tags"`
	Type         string   `json:"type"`
	MatchAny     bool     `json:"matchAny"`
	SignedInUser *user.SignedInUser

	Limit int64 `json:"limit"`
}

type Repository

type Repository interface {
	Save(ctx context.Context, 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)
}

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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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