mirror of https://github.com/statping/statping
58 lines
1.1 KiB
Go
58 lines
1.1 KiB
Go
package incidents
|
|
|
|
import "github.com/statping/statping/database"
|
|
|
|
var (
|
|
db database.Database
|
|
dbUpdate database.Database
|
|
)
|
|
|
|
func SetDB(database database.Database) {
|
|
db = database.Model(&Incident{})
|
|
dbUpdate = database.Model(&IncidentUpdate{})
|
|
}
|
|
|
|
func FindUpdate(uid int64) (*IncidentUpdate, error) {
|
|
var update IncidentUpdate
|
|
q := dbUpdate.Where("id = ?", uid).Find(&update)
|
|
return &update, q.Error()
|
|
}
|
|
|
|
func Find(id int64) (*Incident, error) {
|
|
var incident Incident
|
|
q := db.Where("id = ?", id).Find(&incident)
|
|
return &incident, q.Error()
|
|
}
|
|
|
|
func FindByService(id int64) []*Incident {
|
|
var incidents []*Incident
|
|
db.Where("service = ?", id).Find(&incidents)
|
|
for _, i := range incidents {
|
|
var updates []*IncidentUpdate
|
|
dbUpdate.Where("incident = ?", id).Find(&updates)
|
|
i.AllUpdates = updates
|
|
}
|
|
return incidents
|
|
}
|
|
|
|
func All() []*Incident {
|
|
var incidents []*Incident
|
|
db.Find(&incidents)
|
|
return incidents
|
|
}
|
|
|
|
func (i *Incident) Create() error {
|
|
q := db.Create(i)
|
|
return q.Error()
|
|
}
|
|
|
|
func (i *Incident) Update() error {
|
|
q := db.Update(i)
|
|
return q.Error()
|
|
}
|
|
|
|
func (i *Incident) Delete() error {
|
|
q := db.Delete(i)
|
|
return q.Error()
|
|
}
|