statping/types/failures/database.go

42 lines
649 B
Go

package failures
import (
"github.com/statping/statping/database"
"github.com/statping/statping/types/metrics"
)
var db database.Database
func SetDB(database database.Database) {
db = database.Model(&Failure{})
}
func DB() database.Database {
return db
}
func All() []*Failure {
var failures []*Failure
db.Find(&failures)
return failures
}
func (f *Failure) AfterCreate() {
metrics.Inc("failure", f.Service)
}
func (f *Failure) Create() error {
q := db.Create(f)
return q.Error()
}
func (f *Failure) Update() error {
q := db.Update(f)
return q.Error()
}
func (f *Failure) Delete() error {
q := db.Delete(f)
return q.Error()
}