Changed channels graphql query to use filter, added eventName and locationName filters

This commit is contained in:
2018-07-15 16:58:17 +02:00
parent 26d7e36631
commit d8871259a1
5 changed files with 48 additions and 14 deletions
+19 -4
View File
@@ -9,14 +9,29 @@ import (
// ChannelsArgs is args for channel query
type ChannelsArgs struct {
Logged *bool
Filter *struct {
Logged *bool
EventName *string
LocationName *string
}
}
// Channels resolves the channels query
func (r *QueryResolver) Channels(ctx context.Context, args *ChannelsArgs) ([]*types.ChannelResolver, error) {
channels, err := channel.List(args.Logged != nil && *args.Logged)
if err != nil {
return nil, err
var channels []channel.Channel
var err error
filter := args.Filter
if filter != nil {
channels, err = channel.List(filter.Logged, filter.EventName, filter.LocationName)
if err != nil {
return nil, err
}
} else {
channels, err = channel.List(nil, nil, nil)
if err != nil {
return nil, err
}
}
resolvers := make([]*types.ChannelResolver, len(channels))