statping/types/incident.go

25 lines
1.2 KiB
Go

package types
import "time"
// Incident is the main struct for Incidents
type Incident struct {
Id int64 `gorm:"primary_key;column:id" json:"id"`
Title string `gorm:"column:title" json:"title,omitempty"`
Description string `gorm:"column:description" json:"description,omitempty"`
ServiceId int64 `gorm:"index;column:service" json:"service"`
CreatedAt time.Time `gorm:"column:created_at" json:"created_at" json:"created_at"`
UpdatedAt time.Time `gorm:"column:updated_at" json:"updated_at" json:"updated_at"`
Updates []*IncidentUpdate `gorm:"-" json:"updates,omitempty"`
}
// IncidentUpdate contains updates based on a Incident
type IncidentUpdate struct {
Id int64 `gorm:"primary_key;column:id" json:"id"`
IncidentId int64 `gorm:"index;column:incident" json:"-"`
Message string `gorm:"column:message" json:"message,omitempty"`
Type string `gorm:"column:type" json:"type,omitempty"`
CreatedAt time.Time `gorm:"column:created_at" json:"created_at" json:"created_at"`
UpdatedAt time.Time `gorm:"column:updated_at" json:"updated_at" json:"updated_at"`
}