2020-03-04 10:29:00 +00:00
|
|
|
package checkins
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/hunterlong/statping/database"
|
|
|
|
"github.com/hunterlong/statping/utils"
|
|
|
|
)
|
|
|
|
|
|
|
|
func DB() database.Database {
|
|
|
|
return database.DB().Model(&Checkin{})
|
|
|
|
}
|
|
|
|
|
|
|
|
func DBhits() database.Database {
|
|
|
|
return database.DB().Model(&CheckinHit{})
|
|
|
|
}
|
|
|
|
|
|
|
|
func Find(id int64) (*Checkin, error) {
|
|
|
|
var checkin *Checkin
|
|
|
|
db := DB().Where("id = ?", id).Find(&checkin)
|
|
|
|
return checkin, db.Error()
|
|
|
|
}
|
|
|
|
|
|
|
|
func FindByAPI(key string) (*Checkin, error) {
|
|
|
|
var checkin *Checkin
|
|
|
|
db := DB().Where("api = ?", key).Find(&checkin)
|
|
|
|
return checkin, db.Error()
|
|
|
|
}
|
|
|
|
|
|
|
|
func All() []*Checkin {
|
|
|
|
var checkins []*Checkin
|
|
|
|
DB().Find(&checkins)
|
|
|
|
return checkins
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *Checkin) Create() error {
|
|
|
|
c.ApiKey = utils.RandomString(7)
|
2020-03-04 15:58:42 +00:00
|
|
|
db := DB().Create(&c)
|
2020-03-04 10:29:00 +00:00
|
|
|
|
|
|
|
c.Start()
|
|
|
|
go c.CheckinRoutine()
|
|
|
|
return db.Error()
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *Checkin) Update() error {
|
|
|
|
db := DB().Update(&c)
|
|
|
|
return db.Error()
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *Checkin) Delete() error {
|
|
|
|
c.Close()
|
|
|
|
db := DB().Delete(&c)
|
|
|
|
return db.Error()
|
|
|
|
}
|