implemented search of players serverside

This commit is contained in:
2025-05-08 15:33:39 +02:00
parent 0ddf35bc26
commit 018974266e
3 changed files with 56 additions and 5 deletions

View File

@@ -329,15 +329,36 @@ func createShema(repo repo.Repo) graphql.Schema {
},
},
"players": &graphql.Field{
Type: graphql.NewNonNull(graphql.NewList(player)),
Type: graphql.NewNonNull(graphql.NewList(graphql.NewNonNull(player))),
Description: "Get all players",
Args: graphql.FieldConfigArgument{
"query": &graphql.ArgumentConfig{
Type: graphql.String,
DefaultValue: "",
},
},
Resolve: func(p graphql.ResolveParams) (interface{}, error) {
players, err := repo.GetPlayers()
if err != nil {
return nil, err
query, ok := p.Args["query"].(string)
if !ok {
log.Printf("Failed to parse query at players: %v", p.Args["query"])
return nil, nil
}
return players, nil
if query == "" {
players, err := repo.GetPlayers()
if err != nil {
return nil, err
}
return players, nil
} else {
players, err := repo.SearchPlayer(query)
if err != nil {
return nil, err
}
return players, nil
}
},
},
"games": &graphql.Field{