mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
				
	
	
		
			151 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Go
		
	
	
	
| package models
 | |
| 
 | |
| import (
 | |
| 	"errors"
 | |
| 	"time"
 | |
| 
 | |
| 	"github.com/grafana/grafana/pkg/components/simplejson"
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	ErrNotificationFrequencyNotFound            = errors.New("Notification frequency not specified")
 | |
| 	ErrAlertNotificationStateNotFound           = errors.New("alert notification state not found")
 | |
| 	ErrAlertNotificationStateVersionConflict    = errors.New("alert notification state update version conflict")
 | |
| 	ErrAlertNotificationStateAlreadyExist       = errors.New("alert notification state already exists.")
 | |
| 	ErrAlertNotificationFailedGenerateUniqueUid = errors.New("Failed to generate unique alert notification uid")
 | |
| )
 | |
| 
 | |
| type AlertNotificationStateType string
 | |
| 
 | |
| var (
 | |
| 	AlertNotificationStatePending   = AlertNotificationStateType("pending")
 | |
| 	AlertNotificationStateCompleted = AlertNotificationStateType("completed")
 | |
| 	AlertNotificationStateUnknown   = AlertNotificationStateType("unknown")
 | |
| )
 | |
| 
 | |
| type AlertNotification struct {
 | |
| 	Id                    int64            `json:"id"`
 | |
| 	Uid                   string           `json:"-"`
 | |
| 	OrgId                 int64            `json:"-"`
 | |
| 	Name                  string           `json:"name"`
 | |
| 	Type                  string           `json:"type"`
 | |
| 	SendReminder          bool             `json:"sendReminder"`
 | |
| 	DisableResolveMessage bool             `json:"disableResolveMessage"`
 | |
| 	Frequency             time.Duration    `json:"frequency"`
 | |
| 	IsDefault             bool             `json:"isDefault"`
 | |
| 	Settings              *simplejson.Json `json:"settings"`
 | |
| 	Created               time.Time        `json:"created"`
 | |
| 	Updated               time.Time        `json:"updated"`
 | |
| }
 | |
| 
 | |
| type CreateAlertNotificationCommand struct {
 | |
| 	Uid                   string           `json:"-"`
 | |
| 	Name                  string           `json:"name"  binding:"Required"`
 | |
| 	Type                  string           `json:"type"  binding:"Required"`
 | |
| 	SendReminder          bool             `json:"sendReminder"`
 | |
| 	DisableResolveMessage bool             `json:"disableResolveMessage"`
 | |
| 	Frequency             string           `json:"frequency"`
 | |
| 	IsDefault             bool             `json:"isDefault"`
 | |
| 	Settings              *simplejson.Json `json:"settings"`
 | |
| 
 | |
| 	OrgId  int64 `json:"-"`
 | |
| 	Result *AlertNotification
 | |
| }
 | |
| 
 | |
| type UpdateAlertNotificationCommand struct {
 | |
| 	Id                    int64            `json:"id"  binding:"Required"`
 | |
| 	Name                  string           `json:"name"  binding:"Required"`
 | |
| 	Type                  string           `json:"type"  binding:"Required"`
 | |
| 	SendReminder          bool             `json:"sendReminder"`
 | |
| 	DisableResolveMessage bool             `json:"disableResolveMessage"`
 | |
| 	Frequency             string           `json:"frequency"`
 | |
| 	IsDefault             bool             `json:"isDefault"`
 | |
| 	Settings              *simplejson.Json `json:"settings"  binding:"Required"`
 | |
| 
 | |
| 	OrgId  int64 `json:"-"`
 | |
| 	Result *AlertNotification
 | |
| }
 | |
| 
 | |
| type UpdateAlertNotificationWithUidCommand struct {
 | |
| 	Uid                   string
 | |
| 	Name                  string
 | |
| 	Type                  string
 | |
| 	SendReminder          bool
 | |
| 	DisableResolveMessage bool
 | |
| 	Frequency             string
 | |
| 	IsDefault             bool
 | |
| 	Settings              *simplejson.Json
 | |
| 
 | |
| 	OrgId  int64
 | |
| 	Result *AlertNotification
 | |
| }
 | |
| 
 | |
| type DeleteAlertNotificationCommand struct {
 | |
| 	Id    int64
 | |
| 	OrgId int64
 | |
| }
 | |
| type DeleteAlertNotificationWithUidCommand struct {
 | |
| 	Uid   string
 | |
| 	OrgId int64
 | |
| }
 | |
| 
 | |
| type GetAlertNotificationsQuery struct {
 | |
| 	Name  string
 | |
| 	Id    int64
 | |
| 	OrgId int64
 | |
| 
 | |
| 	Result *AlertNotification
 | |
| }
 | |
| 
 | |
| type GetAlertNotificationsWithUidQuery struct {
 | |
| 	Uid   string
 | |
| 	OrgId int64
 | |
| 
 | |
| 	Result *AlertNotification
 | |
| }
 | |
| 
 | |
| type GetAlertNotificationsWithUidToSendQuery struct {
 | |
| 	Uids  []string
 | |
| 	OrgId int64
 | |
| 
 | |
| 	Result []*AlertNotification
 | |
| }
 | |
| 
 | |
| type GetAllAlertNotificationsQuery struct {
 | |
| 	OrgId int64
 | |
| 
 | |
| 	Result []*AlertNotification
 | |
| }
 | |
| 
 | |
| type AlertNotificationState struct {
 | |
| 	Id                           int64
 | |
| 	OrgId                        int64
 | |
| 	AlertId                      int64
 | |
| 	NotifierId                   int64
 | |
| 	State                        AlertNotificationStateType
 | |
| 	Version                      int64
 | |
| 	UpdatedAt                    int64
 | |
| 	AlertRuleStateUpdatedVersion int64
 | |
| }
 | |
| 
 | |
| type SetAlertNotificationStateToPendingCommand struct {
 | |
| 	Id                           int64
 | |
| 	AlertRuleStateUpdatedVersion int64
 | |
| 	Version                      int64
 | |
| 
 | |
| 	ResultVersion int64
 | |
| }
 | |
| 
 | |
| type SetAlertNotificationStateToCompleteCommand struct {
 | |
| 	Id      int64
 | |
| 	Version int64
 | |
| }
 | |
| 
 | |
| type GetOrCreateNotificationStateQuery struct {
 | |
| 	OrgId      int64
 | |
| 	AlertId    int64
 | |
| 	NotifierId int64
 | |
| 
 | |
| 	Result *AlertNotificationState
 | |
| }
 |