alerts_state.go 889 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package models
  2. import (
  3. "time"
  4. )
  5. type AlertState struct {
  6. Id int64 `json:"-"`
  7. OrgId int64 `json:"-"`
  8. AlertId int64 `json:"alertId"`
  9. NewState string `json:"newState"`
  10. Created time.Time `json:"created"`
  11. Info string `json:"info"`
  12. }
  13. var (
  14. VALID_STATES = []string{"OK", "WARN", "CRITICAL", "ACKNOWLEDGED"}
  15. )
  16. func (this *UpdateAlertStateCommand) IsValidState() bool {
  17. for _, v := range VALID_STATES {
  18. if this.NewState == v {
  19. return true
  20. }
  21. }
  22. return false
  23. }
  24. // Commands
  25. type UpdateAlertStateCommand struct {
  26. AlertId int64 `json:"alertId" binding:"Required"`
  27. NewState string `json:"newState" binding:"Required"`
  28. Info string `json:"info"`
  29. Result *AlertRule
  30. }
  31. // Queries
  32. type GetAlertsStateQuery struct {
  33. OrgId int64 `json:"orgId" binding:"Required"`
  34. AlertId int64 `json:"alertId" binding:"Required"`
  35. Result *[]AlertState
  36. }