statping/database/group.go

27 lines
546 B
Go
Raw Normal View History

2020-02-22 23:52:05 +00:00
package database
2020-02-24 16:26:01 +00:00
import "github.com/hunterlong/statping/types"
2020-02-22 23:52:05 +00:00
2020-02-24 16:26:01 +00:00
type GroupObj struct {
*types.Group
db Database
2020-02-22 23:52:05 +00:00
}
2020-02-24 16:26:01 +00:00
type Grouper interface {
Services() Database
2020-02-22 23:52:05 +00:00
}
2020-02-24 16:26:01 +00:00
func (o *Object) AsGroup() *types.Group {
return o.model.(*types.Group)
2020-02-24 05:53:15 +00:00
}
2020-02-24 16:26:01 +00:00
func (it *Db) GetGroup(id int64) (*GroupObj, error) {
var group types.Group
query := it.Model(&types.Group{}).Where("id = ?", id).Find(&group)
return &GroupObj{&group, it}, query.Error()
2020-02-24 05:53:15 +00:00
}
2020-02-24 16:26:01 +00:00
func (it *GroupObj) Services() Database {
return it.db.Model(&types.Service{}).Where("service = ?", it.Id)
2020-02-22 23:52:05 +00:00
}