2020-03-04 10:29:00 +00:00
|
|
|
package failures
|
|
|
|
|
2020-06-13 01:13:28 +00:00
|
|
|
import (
|
|
|
|
"github.com/statping/statping/database"
|
|
|
|
"github.com/statping/statping/types/metrics"
|
|
|
|
)
|
2020-03-04 10:29:00 +00:00
|
|
|
|
2020-03-10 05:24:35 +00:00
|
|
|
var db database.Database
|
|
|
|
|
|
|
|
func SetDB(database database.Database) {
|
|
|
|
db = database.Model(&Failure{})
|
|
|
|
}
|
|
|
|
|
2020-03-04 10:29:00 +00:00
|
|
|
func DB() database.Database {
|
2020-03-10 05:24:35 +00:00
|
|
|
return db
|
2020-03-04 10:29:00 +00:00
|
|
|
}
|
|
|
|
|
2020-06-16 11:02:14 +00:00
|
|
|
func (f *Failure) AfterFind() {
|
|
|
|
metrics.Query("failure", "find")
|
|
|
|
}
|
|
|
|
|
|
|
|
func (f *Failure) AfterUpdate() {
|
|
|
|
metrics.Query("failure", "update")
|
|
|
|
}
|
|
|
|
|
|
|
|
func (f *Failure) AfterDelete() {
|
|
|
|
metrics.Query("failure", "delete")
|
2020-03-04 10:29:00 +00:00
|
|
|
}
|
|
|
|
|
2020-06-13 01:13:28 +00:00
|
|
|
func (f *Failure) AfterCreate() {
|
|
|
|
metrics.Inc("failure", f.Service)
|
2020-06-16 11:02:14 +00:00
|
|
|
metrics.Query("failure", "create")
|
|
|
|
}
|
|
|
|
|
|
|
|
func All() []*Failure {
|
|
|
|
var failures []*Failure
|
|
|
|
db.Find(&failures)
|
|
|
|
return failures
|
2020-06-13 01:13:28 +00:00
|
|
|
}
|
|
|
|
|
2020-03-04 10:29:00 +00:00
|
|
|
func (f *Failure) Create() error {
|
2020-03-10 05:24:35 +00:00
|
|
|
q := db.Create(f)
|
|
|
|
return q.Error()
|
2020-03-04 10:29:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (f *Failure) Update() error {
|
2020-03-10 05:24:35 +00:00
|
|
|
q := db.Update(f)
|
|
|
|
return q.Error()
|
2020-03-04 10:29:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (f *Failure) Delete() error {
|
2020-03-10 05:24:35 +00:00
|
|
|
q := db.Delete(f)
|
|
|
|
return q.Error()
|
2020-03-04 10:29:00 +00:00
|
|
|
}
|