2020-02-24 16:26:01 +00:00
|
|
|
package database
|
|
|
|
|
2020-02-25 07:41:28 +00:00
|
|
|
import (
|
|
|
|
"github.com/hunterlong/statping/types"
|
|
|
|
"time"
|
|
|
|
)
|
2020-02-24 16:26:01 +00:00
|
|
|
|
2020-02-25 07:41:28 +00:00
|
|
|
type HitObj struct {
|
|
|
|
o *Object
|
2020-02-24 16:26:01 +00:00
|
|
|
}
|
|
|
|
|
2020-02-25 07:41:28 +00:00
|
|
|
func (h *HitObj) All() []*types.Hit {
|
2020-02-24 16:26:01 +00:00
|
|
|
var fails []*types.Hit
|
2020-02-25 07:41:28 +00:00
|
|
|
h.o.db.Find(&fails)
|
2020-02-24 16:26:01 +00:00
|
|
|
return fails
|
|
|
|
}
|
|
|
|
|
2020-02-25 07:41:28 +00:00
|
|
|
func (h *HitObj) Last(amount int) *types.Hit {
|
2020-02-24 16:26:01 +00:00
|
|
|
var hits types.Hit
|
2020-02-25 07:41:28 +00:00
|
|
|
h.o.db.Limit(amount).Find(&hits)
|
2020-02-24 16:26:01 +00:00
|
|
|
return &hits
|
|
|
|
}
|
|
|
|
|
2020-02-25 07:41:28 +00:00
|
|
|
func (h *HitObj) Since(t time.Time) []*types.Hit {
|
|
|
|
var hits []*types.Hit
|
|
|
|
h.o.db.Since(t).Find(&hits)
|
|
|
|
return hits
|
|
|
|
}
|
|
|
|
|
|
|
|
func (h *HitObj) Count() int {
|
2020-02-24 16:26:01 +00:00
|
|
|
var amount int
|
2020-02-25 07:41:28 +00:00
|
|
|
h.o.db.Count(&amount)
|
2020-02-24 16:26:01 +00:00
|
|
|
return amount
|
|
|
|
}
|
|
|
|
|
2020-02-25 07:41:28 +00:00
|
|
|
func (h *HitObj) object() *Object {
|
|
|
|
return h.o
|
2020-02-24 16:26:01 +00:00
|
|
|
}
|