D database/queue.go => database/queue.go +0 -13
@@ 1,13 0,0 @@
-package database
-
-// PlayersInQueue returns the number of players in the queue
-func (db *DB) PlayersInQueue() (int, error) {
- var players int
- query := `SELECT COUNT(*) FILTER (WHERE queueing) FROM "User"`
- err := db.DB.QueryRow(query).Scan(&players)
- if err != nil {
- return -1, err
- }
-
- return players, nil
-}
M graph/resolver.go => graph/resolver.go +11 -0
@@ 17,3 17,14 @@ type Resolver struct {
Config *config.Config
Logger *log.Logger
}
+
+func (r *Resolver) playersInQueue() (int, error) {
+ var players int
+ query := `SELECT COUNT(*) FILTER (WHERE queueing) FROM "User"`
+ err := r.DB.DB.QueryRow(query).Scan(&players)
+ if err != nil {
+ return -1, err
+ }
+
+ return players, nil
+}
M graph/schema.resolvers.go => graph/schema.resolvers.go +2 -2
@@ 168,7 168,7 @@ func (r *mutationResolver) UpdateUser(ctx context.Context, id int, input model.U
// StartQueue is the resolver for the startQueue field.
func (r *mutationResolver) StartQueue(ctx context.Context, teamspeakID string) (int, error) {
- players, err := r.DB.PlayersInQueue()
+ players, err := r.playersInQueue()
if err != nil {
return players, err
}
@@ 250,7 250,7 @@ func (r *mutationResolver) CancelQueue(ctx context.Context, teamspeakID string)
return -1, errors.New("user not in queue")
}
- players, err := r.DB.PlayersInQueue()
+ players, err := r.playersInQueue()
return players, err
}