Skip to content

Commit 43aa191

Browse files
author
Jannis Pohlmann
committed
subscriptions: Improve type and function names a little
1 parent 5c66789 commit 43aa191

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

subscriptions.go

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import (
99
log "github.com/sirupsen/logrus"
1010
)
1111

12-
// Convert from validation errors to regular errors
13-
func translateValidationErrors(errors []gqlerrors.FormattedError) []error {
12+
// ErrorsFromGraphQLErrors convert from GraphQL errors to regular errors.
13+
func ErrorsFromGraphQLErrors(errors []gqlerrors.FormattedError) []error {
1414
out := make([]error, len(errors))
1515
for i := range errors {
1616
out[i] = errors[i]
@@ -33,12 +33,20 @@ type Subscription struct {
3333
SendData SubscriptionSendDataFunc
3434
}
3535

36+
// ConnectionSubscriptions defines a map of all subscriptions of
37+
// a connection by their IDs.
38+
type ConnectionSubscriptions map[string]*Subscription
39+
40+
// Subscriptions defines a map of connections to a map of
41+
// subscription IDs to subscriptions.
42+
type Subscriptions map[Connection]ConnectionSubscriptions
43+
3644
// SubscriptionManager provides a high-level interface to managing
3745
// and accessing the subscriptions made by GraphQL WS clients.
3846
type SubscriptionManager interface {
3947
// Subscriptions returns all registered subscriptions, grouped
4048
// by connection.
41-
Subscriptions() map[Connection]map[string]*Subscription
49+
Subscriptions() Subscriptions
4250

4351
// AddSubscription adds a new subscription to the manager.
4452
AddSubscription(Connection, *Subscription) []error
@@ -55,21 +63,21 @@ type SubscriptionManager interface {
5563
*/
5664

5765
type subscriptionManager struct {
58-
subscriptions map[Connection]map[string]*Subscription
66+
subscriptions Subscriptions
5967
schema *graphql.Schema
6068
logger *log.Entry
6169
}
6270

6371
// NewSubscriptionManager creates a new subscription manager.
6472
func NewSubscriptionManager(schema *graphql.Schema) SubscriptionManager {
6573
manager := new(subscriptionManager)
66-
manager.subscriptions = make(map[Connection]map[string]*Subscription)
74+
manager.subscriptions = make(Subscriptions)
6775
manager.logger = NewLogger("subscriptions")
6876
manager.schema = schema
6977
return manager
7078
}
7179

72-
func (m *subscriptionManager) Subscriptions() map[Connection]map[string]*Subscription {
80+
func (m *subscriptionManager) Subscriptions() Subscriptions {
7381
return m.subscriptions
7482
}
7583

@@ -97,13 +105,13 @@ func (m *subscriptionManager) AddSubscription(
97105
m.logger.WithFields(log.Fields{
98106
"errors": validation.Errors,
99107
}).Warn("Failed to validate subscription query")
100-
return translateValidationErrors(validation.Errors)
108+
return ErrorsFromGraphQLErrors(validation.Errors)
101109
}
102110

103111
// Allocate the connection's map of subscription IDs to
104112
// subscriptions on demand
105113
if m.subscriptions[conn] == nil {
106-
m.subscriptions[conn] = make(map[string]*Subscription)
114+
m.subscriptions[conn] = make(ConnectionSubscriptions)
107115
}
108116

109117
// Add the subscription if it hasn't already been added

0 commit comments

Comments
 (0)