annotations.go 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package annotations
  2. import "github.com/grafana/grafana/pkg/components/simplejson"
  3. type Repository interface {
  4. Save(item *Item) error
  5. Update(item *Item) error
  6. Find(query *ItemQuery) ([]*ItemDTO, error)
  7. Delete(params *DeleteParams) error
  8. }
  9. type ItemQuery struct {
  10. OrgId int64 `json:"orgId"`
  11. From int64 `json:"from"`
  12. To int64 `json:"to"`
  13. AlertId int64 `json:"alertId"`
  14. DashboardId int64 `json:"dashboardId"`
  15. PanelId int64 `json:"panelId"`
  16. Tags []string `json:"tags"`
  17. Type string `json:"type"`
  18. Limit int64 `json:"limit"`
  19. }
  20. type PostParams struct {
  21. DashboardId int64 `json:"dashboardId"`
  22. PanelId int64 `json:"panelId"`
  23. Epoch int64 `json:"epoch"`
  24. Title string `json:"title"`
  25. Text string `json:"text"`
  26. Icon string `json:"icon"`
  27. }
  28. type DeleteParams struct {
  29. Id int64 `json:"id"`
  30. AlertId int64 `json:"alertId"`
  31. DashboardId int64 `json:"dashboardId"`
  32. PanelId int64 `json:"panelId"`
  33. RegionId int64 `json:"regionId"`
  34. }
  35. var repositoryInstance Repository
  36. func GetRepository() Repository {
  37. return repositoryInstance
  38. }
  39. func SetRepository(rep Repository) {
  40. repositoryInstance = rep
  41. }
  42. type Item struct {
  43. Id int64 `json:"id"`
  44. OrgId int64 `json:"orgId"`
  45. UserId int64 `json:"userId"`
  46. DashboardId int64 `json:"dashboardId"`
  47. PanelId int64 `json:"panelId"`
  48. RegionId int64 `json:"regionId"`
  49. Text string `json:"text"`
  50. AlertId int64 `json:"alertId"`
  51. PrevState string `json:"prevState"`
  52. NewState string `json:"newState"`
  53. Epoch int64 `json:"epoch"`
  54. Tags []string `json:"tags"`
  55. Data *simplejson.Json `json:"data"`
  56. // needed until we remove it from db
  57. Type string
  58. Title string
  59. }
  60. type ItemDTO struct {
  61. Id int64 `json:"id"`
  62. AlertId int64 `json:"alertId"`
  63. AlertName string `json:"alertName"`
  64. DashboardId int64 `json:"dashboardId"`
  65. PanelId int64 `json:"panelId"`
  66. UserId int64 `json:"userId"`
  67. NewState string `json:"newState"`
  68. PrevState string `json:"prevState"`
  69. Time int64 `json:"time"`
  70. Text string `json:"text"`
  71. RegionId int64 `json:"regionId"`
  72. Tags []string `json:"tags"`
  73. Login string `json:"login"`
  74. Email string `json:"email"`
  75. AvatarUrl string `json:"avatarUrl"`
  76. Data *simplejson.Json `json:"data"`
  77. }