mirror of https://github.com/statping/statping
134 lines
3.8 KiB
Go
134 lines
3.8 KiB
Go
package graphql
|
|
|
|
import (
|
|
"context"
|
|
"github.com/hunterlong/statping/core"
|
|
|
|
"github.com/hunterlong/statping/types"
|
|
)
|
|
|
|
// THIS CODE IS A STARTING POINT ONLY. IT WILL NOT BE UPDATED WITH SCHEMA CHANGES.
|
|
|
|
type Resolver struct{}
|
|
|
|
func (r *Resolver) Checkin() CheckinResolver {
|
|
return &checkinResolver{r}
|
|
}
|
|
func (r *Resolver) Group() GroupResolver {
|
|
return &groupResolver{r}
|
|
}
|
|
func (r *Resolver) Query() QueryResolver {
|
|
return &queryResolver{r}
|
|
}
|
|
func (r *Resolver) Service() ServiceResolver {
|
|
return &serviceResolver{r}
|
|
}
|
|
func (r *Resolver) User() UserResolver {
|
|
return &userResolver{r}
|
|
}
|
|
|
|
type checkinResolver struct{ *Resolver }
|
|
|
|
func (r *checkinResolver) Service(ctx context.Context, obj *types.Checkin) (*types.Service, error) {
|
|
panic("not implemented")
|
|
}
|
|
func (r *checkinResolver) Failures(ctx context.Context, obj *types.Checkin) ([]*types.Failure, error) {
|
|
panic("not implemented")
|
|
}
|
|
|
|
type groupResolver struct{ *Resolver }
|
|
|
|
func (r *groupResolver) Public(ctx context.Context, obj *types.Group) (bool, error) {
|
|
return obj.Public.Bool, nil
|
|
}
|
|
|
|
type queryResolver struct{ *Resolver }
|
|
|
|
func (r *queryResolver) Group(ctx context.Context, id int64) (*types.Group, error) {
|
|
group := core.SelectGroup(id)
|
|
return group.Group, nil
|
|
}
|
|
func (r *queryResolver) Groups(ctx context.Context) ([]*types.Group, error) {
|
|
all := core.SelectGroups(true, true)
|
|
var objs []*types.Group
|
|
for _, v := range all {
|
|
objs = append(objs, v.Group)
|
|
}
|
|
return objs, nil
|
|
}
|
|
|
|
func (r *queryResolver) Checkin(ctx context.Context, id int64) (*types.Checkin, error) {
|
|
panic("not implemented")
|
|
}
|
|
func (r *queryResolver) Checkins(ctx context.Context) ([]*types.Checkin, error) {
|
|
panic("not implemented")
|
|
}
|
|
|
|
func (r *queryResolver) User(ctx context.Context, id int64) (*types.User, error) {
|
|
user, err := core.SelectUser(id)
|
|
return user.User, err
|
|
}
|
|
func (r *queryResolver) Users(ctx context.Context) ([]*types.User, error) {
|
|
all, err := core.SelectAllUsers()
|
|
var objs []*types.User
|
|
for _, v := range all {
|
|
objs = append(objs, v.User)
|
|
}
|
|
return objs, err
|
|
}
|
|
|
|
type userResolver struct{ *Resolver }
|
|
|
|
func (r *userResolver) Admin(ctx context.Context, obj *types.User) (bool, error) {
|
|
return obj.Admin.Bool, nil
|
|
}
|
|
|
|
type serviceResolver struct{ *Resolver }
|
|
|
|
func (r *queryResolver) Service(ctx context.Context, id int64) (*types.Service, error) {
|
|
service := core.SelectService(id)
|
|
return service.Service, nil
|
|
}
|
|
func (r *queryResolver) Services(ctx context.Context) ([]*types.Service, error) {
|
|
all := core.Services()
|
|
var objs []*types.Service
|
|
for _, v := range all {
|
|
objs = append(objs, v.Select())
|
|
}
|
|
return objs, nil
|
|
}
|
|
|
|
func (r *serviceResolver) Expected(ctx context.Context, obj *types.Service) (string, error) {
|
|
return obj.Expected.String, nil
|
|
}
|
|
func (r *serviceResolver) PostData(ctx context.Context, obj *types.Service) (string, error) {
|
|
return obj.PostData.String, nil
|
|
}
|
|
func (r *serviceResolver) AllowNotifications(ctx context.Context, obj *types.Service) (bool, error) {
|
|
return obj.AllowNotifications.Bool, nil
|
|
}
|
|
func (r *serviceResolver) Public(ctx context.Context, obj *types.Service) (bool, error) {
|
|
return obj.Public.Bool, nil
|
|
}
|
|
func (r *serviceResolver) Headers(ctx context.Context, obj *types.Service) (string, error) {
|
|
return obj.Headers.String, nil
|
|
}
|
|
func (r *serviceResolver) Permalink(ctx context.Context, obj *types.Service) (string, error) {
|
|
return obj.Permalink.String, nil
|
|
}
|
|
func (r *serviceResolver) Online24Hours(ctx context.Context, obj *types.Service) (float64, error) {
|
|
return float64(obj.Online24Hours), nil
|
|
}
|
|
func (r *serviceResolver) Failures(ctx context.Context, obj *types.Service) ([]*types.Failure, error) {
|
|
all := obj.Failures
|
|
var objs []*types.Failure
|
|
for _, v := range all {
|
|
objs = append(objs, v.Select())
|
|
}
|
|
return objs, nil
|
|
}
|
|
func (r *serviceResolver) Group(ctx context.Context, obj *types.Service) (*types.Group, error) {
|
|
group := core.SelectGroup(int64(obj.GroupId))
|
|
return group.Group, nil
|
|
}
|