statping/database/hits.go

39 lines
588 B
Go
Raw Normal View History

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
}