mirror of
https://github.com/grafana/grafana.git
synced 2024-11-27 19:30:36 -06:00
6335509a23
* SQLite migrations * cleanup * migrate end times * switch to update with a query * real migration * anno migrations * remove old docs * set isRegion from time changes * use <> for is not * add comment and fix index decleration * single validation place * add test * fix test * add upgrading docs * use AnnotationEvent * fix import * remove regionId from typescript
97 lines
2.8 KiB
Go
97 lines
2.8 KiB
Go
package annotations
|
|
|
|
import "github.com/grafana/grafana/pkg/components/simplejson"
|
|
|
|
type Repository interface {
|
|
Save(item *Item) error
|
|
Update(item *Item) error
|
|
Find(query *ItemQuery) ([]*ItemDTO, error)
|
|
Delete(params *DeleteParams) error
|
|
}
|
|
|
|
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"`
|
|
|
|
Limit int64 `json:"limit"`
|
|
}
|
|
|
|
type PostParams struct {
|
|
DashboardId int64 `json:"dashboardId"`
|
|
PanelId int64 `json:"panelId"`
|
|
Epoch int64 `json:"epoch"`
|
|
Title string `json:"title"`
|
|
Text string `json:"text"`
|
|
Icon string `json:"icon"`
|
|
}
|
|
|
|
type DeleteParams struct {
|
|
OrgId int64
|
|
Id int64
|
|
AlertId int64
|
|
DashboardId int64
|
|
PanelId int64
|
|
}
|
|
|
|
var repositoryInstance Repository
|
|
|
|
func GetRepository() Repository {
|
|
return repositoryInstance
|
|
}
|
|
|
|
func SetRepository(rep Repository) {
|
|
repositoryInstance = rep
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
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"`
|
|
}
|