-
Notifications
You must be signed in to change notification settings - Fork 0
/
schema.resolvers.go
74 lines (65 loc) · 2.11 KB
/
schema.resolvers.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
67
68
69
70
71
72
73
74
package graph
// This file will be automatically regenerated based on the schema, any resolver implementations
// will be copied through when generating and any unknown code will be moved to the end.
// Code generated by github.com/99designs/gqlgen version v0.17.30
import (
"context"
"strconv"
"github.com/xcheng85/simple-graphql-go/graph/model"
)
// AddPlayer is the resolver for the addPlayer field.
func (r *mutationResolver) AddPlayer(ctx context.Context, player model.PlayerInput) (*model.Player, error) {
numPlayers := len(r.playersMap)
//playerId := fmt.Sprintf("%d", numPlayers);
playerId := strconv.Itoa(numPlayers)
p := &model.Player{
ID: playerId,
First: player.First,
Last: player.Last,
Country: player.Country,
Gender: player.Gender,
}
r.playersMap[playerId] = p
return p, nil
}
// Players is the resolver for the players field.
func (r *queryResolver) Players(ctx context.Context) ([]*model.Player, error) {
players := make([]*model.Player, len(r.playersMap))
idx := 0
for _, p := range r.playersMap {
players[idx] = p
}
return players, nil
}
// Player is the resolver for the player field.
func (r *queryResolver) Player(ctx context.Context, id string) (*model.Player, error) {
p:= r.playersMap[id]
return p, nil
}
// Mutation returns MutationResolver implementation.
func (r *Resolver) Mutation() MutationResolver { return &mutationResolver{r} }
// Query returns QueryResolver implementation.
func (r *Resolver) Query() QueryResolver { return &queryResolver{r} }
type mutationResolver struct{ *Resolver }
type queryResolver struct{ *Resolver }
func (r *mutationResolver) CreatePlayer(ctx context.Context, player model.PlayerInput) (*model.Player, error) {
numPlayers := len(r.playersMap)
//playerId := fmt.Sprintf("%d", numPlayers);
playerId := strconv.Itoa(numPlayers)
p := &model.Player{
ID: playerId,
First: player.First,
Last: player.Last,
Country: player.Country,
Gender: player.Gender,
}
r.playersMap[playerId] = p
return p, nil
}
func NewResolver() Config {
r := Resolver{}
r.playersMap = make(map[string]*model.Player)
return Config{
Resolvers: &r,
}
}