From cc765e220a12ea8329337a1509494c8e3ba3ffe5 Mon Sep 17 00:00:00 2001 From: Gisle Aune Date: Sat, 14 Jul 2018 18:33:37 +0200 Subject: [PATCH] Moved ChannelResolver into resolvers/types package, updated references to it. --- resolver/channel.go | 59 ++++++++------------------------------- resolver/log.go | 5 ++-- resolver/types/channel.go | 39 ++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 49 deletions(-) create mode 100644 resolver/types/channel.go diff --git a/resolver/channel.go b/resolver/channel.go index 6b5c355..5b1212b 100644 --- a/resolver/channel.go +++ b/resolver/channel.go @@ -6,24 +6,22 @@ import ( "git.aiterp.net/rpdata/api/internal/session" "git.aiterp.net/rpdata/api/model/change" "git.aiterp.net/rpdata/api/model/channel" + "git.aiterp.net/rpdata/api/resolver/types" ) -// ChannelResolver for the Channel graphql type -type ChannelResolver struct{ C channel.Channel } - // ChannelArgs is args for channel query type ChannelArgs struct { Name string } // Channel implements the channel query -func (r *QueryResolver) Channel(ctx context.Context, args *ChannelArgs) (*ChannelResolver, error) { +func (r *QueryResolver) Channel(ctx context.Context, args *ChannelArgs) (*types.ChannelResolver, error) { channel, err := channel.FindName(args.Name) if err != nil { return nil, err } - return &ChannelResolver{C: channel}, nil + return &types.ChannelResolver{C: channel}, nil } // ChannelsArgs is args for channel query @@ -32,15 +30,15 @@ type ChannelsArgs struct { } // Channels implements the channels query -func (r *QueryResolver) Channels(ctx context.Context, args *ChannelsArgs) ([]*ChannelResolver, error) { +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 } - resolvers := make([]*ChannelResolver, len(channels)) + resolvers := make([]*types.ChannelResolver, len(channels)) for i := range channels { - resolvers[i] = &ChannelResolver{C: channels[i]} + resolvers[i] = &types.ChannelResolver{C: channels[i]} } return resolvers, nil @@ -58,7 +56,7 @@ type ChannelAddArgs struct { } // AddChannel resolves the addChannel mutation -func (r *MutationResolver) AddChannel(ctx context.Context, args *ChannelAddArgs) (*ChannelResolver, error) { +func (r *MutationResolver) AddChannel(ctx context.Context, args *ChannelAddArgs) (*types.ChannelResolver, error) { input := args.Input user := session.FromContext(ctx).User() @@ -92,7 +90,7 @@ func (r *MutationResolver) AddChannel(ctx context.Context, args *ChannelAddArgs) "event": input.EventName, }) - return &ChannelResolver{C: channel}, nil + return &types.ChannelResolver{C: channel}, nil } // ChannelEditArgs is input for the editChannel mutation @@ -107,7 +105,7 @@ type ChannelEditArgs struct { } // EditChannel resolves the editChannel mutation -func (r *MutationResolver) EditChannel(ctx context.Context, args *ChannelEditArgs) (*ChannelResolver, error) { +func (r *MutationResolver) EditChannel(ctx context.Context, args *ChannelEditArgs) (*types.ChannelResolver, error) { input := args.Input user := session.FromContext(ctx).User() @@ -132,11 +130,11 @@ func (r *MutationResolver) EditChannel(ctx context.Context, args *ChannelEditArg "event": input.EventName, }) - return &ChannelResolver{C: channel}, nil + return &types.ChannelResolver{C: channel}, nil } // RemoveChannel resolves the editChannel mutation -func (r *MutationResolver) RemoveChannel(ctx context.Context, args ChannelArgs) (*ChannelResolver, error) { +func (r *MutationResolver) RemoveChannel(ctx context.Context, args ChannelArgs) (*types.ChannelResolver, error) { user := session.FromContext(ctx).User() if user == nil || !user.Permitted("channel.remove") { return nil, ErrUnauthorized @@ -154,38 +152,5 @@ func (r *MutationResolver) RemoveChannel(ctx context.Context, args ChannelArgs) go change.Submit("Channel", "remove", user.ID, channel.Name, nil) - return &ChannelResolver{C: channel}, nil -} - -// Name resolves channel.name -func (r *ChannelResolver) Name() string { - return r.C.Name -} - -// Logged resolves channel.logged -func (r *ChannelResolver) Logged() bool { - return r.C.Logged -} - -// Hub resolves channel.hub -func (r *ChannelResolver) Hub() bool { - return r.C.Hub -} - -// EventName resolves channel.eventName -func (r *ChannelResolver) EventName() *string { - if r.C.Event == "" { - return nil - } - - return &r.C.Event -} - -// LocationName resolves channel.locationName -func (r *ChannelResolver) LocationName() *string { - if r.C.Location == "" { - return nil - } - - return &r.C.Location + return &types.ChannelResolver{C: channel}, nil } diff --git a/resolver/log.go b/resolver/log.go index c24f65a..0f8109f 100644 --- a/resolver/log.go +++ b/resolver/log.go @@ -7,6 +7,7 @@ import ( "git.aiterp.net/rpdata/api/loader" "git.aiterp.net/rpdata/api/model/change" + "git.aiterp.net/rpdata/api/resolver/types" "git.aiterp.net/rpdata/api/internal/session" "git.aiterp.net/rpdata/api/model/log" @@ -258,7 +259,7 @@ func (r *LogResolver) ChannelName() string { } // Channel resolves Log.channe -func (r *LogResolver) Channel(ctx context.Context) (*ChannelResolver, error) { +func (r *LogResolver) Channel(ctx context.Context) (*types.ChannelResolver, error) { loader := loader.FromContext(ctx) if loader == nil { return nil, errors.New("no loader") @@ -269,7 +270,7 @@ func (r *LogResolver) Channel(ctx context.Context) (*ChannelResolver, error) { return nil, err } - return &ChannelResolver{C: channel}, nil + return &types.ChannelResolver{C: channel}, nil } // Title resolves Log.title diff --git a/resolver/types/channel.go b/resolver/types/channel.go new file mode 100644 index 0000000..92c4c4b --- /dev/null +++ b/resolver/types/channel.go @@ -0,0 +1,39 @@ +package types + +import "git.aiterp.net/rpdata/api/model/channel" + +// ChannelResolver for the Channel graphql type +type ChannelResolver struct{ C channel.Channel } + +// Name resolves channel.name +func (r *ChannelResolver) Name() string { + return r.C.Name +} + +// Logged resolves channel.logged +func (r *ChannelResolver) Logged() bool { + return r.C.Logged +} + +// Hub resolves channel.hub +func (r *ChannelResolver) Hub() bool { + return r.C.Hub +} + +// EventName resolves channel.eventName +func (r *ChannelResolver) EventName() *string { + if r.C.Event == "" { + return nil + } + + return &r.C.Event +} + +// LocationName resolves channel.locationName +func (r *ChannelResolver) LocationName() *string { + if r.C.Location == "" { + return nil + } + + return &r.C.Location +}