-
Notifications
You must be signed in to change notification settings - Fork 1
/
query.resolver.go
66 lines (55 loc) · 1.5 KB
/
query.resolver.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package admin
import (
"context"
"github.com/uw-labs/flaggio/internal/flaggio"
)
var _ QueryResolver = &queryResolver{}
type queryResolver struct{ *Resolver }
func (r *queryResolver) Ping(_ context.Context) (bool, error) {
return true, nil
}
func (r *queryResolver) Flags(ctx context.Context, search *string, offset, limit *int) (*flaggio.FlagResults, error) {
var ofst, lmt *int64
if offset != nil {
v := int64(*offset)
ofst = &v
}
if limit != nil {
v := int64(*limit)
lmt = &v
}
return r.FlagRepo.FindAll(ctx, search, ofst, lmt)
}
func (r *queryResolver) Flag(ctx context.Context, id string) (*flaggio.Flag, error) {
return r.FlagRepo.FindByID(ctx, id)
}
func (r *queryResolver) Segments(ctx context.Context, offset, limit *int) ([]*flaggio.Segment, error) {
var ofst, lmt *int64
if offset != nil {
v := int64(*offset)
ofst = &v
}
if limit != nil {
v := int64(*limit)
lmt = &v
}
return r.SegmentRepo.FindAll(ctx, ofst, lmt)
}
func (r *queryResolver) Segment(ctx context.Context, id string) (*flaggio.Segment, error) {
return r.SegmentRepo.FindByID(ctx, id)
}
func (r *queryResolver) Users(ctx context.Context, search *string, offset, limit *int) (*flaggio.UserResults, error) {
var ofst, lmt *int64
if offset != nil {
v := int64(*offset)
ofst = &v
}
if limit != nil {
v := int64(*limit)
lmt = &v
}
return r.UserRepo.FindAll(ctx, search, ofst, lmt)
}
func (r *queryResolver) User(ctx context.Context, id string) (*flaggio.User, error) {
return r.UserRepo.FindByID(ctx, id)
}