API: fetch user context in loader implementation

Fetching it outside of this function will cause it to attempt to fetch
the auth context when the middleware is stood up, which occurs
unconditionally on all requests -- including unauthenticated ones, such
as /query/metrics. Moving it into the function body causes it to only
occur once we actually attempt to fetch jobs.
This commit is contained in:
Drew DeVault 2023-04-17 14:05:43 +02:00
parent bc87a4ba1a
commit 7a00f10f33
2 changed files with 2 additions and 1 deletions

View File

@ -2,6 +2,7 @@ package graph
// This file will be automatically regenerated based on the schema, any resolver implementations
// will be copied through when generating and any unknown code will be moved to the end.
// Code generated by github.com/99designs/gqlgen version v0.17.29
import (
"bytes"

View File

@ -119,8 +119,8 @@ func fetchUsersByName(ctx context.Context) func(names []string) ([]*model.User,
}
func fetchJobsByID(ctx context.Context) func(ids []int) ([]*model.Job, []error) {
user := auth.ForContext(ctx)
return func(ids []int) ([]*model.Job, []error) {
user := auth.ForContext(ctx)
jobs := make([]*model.Job, len(ids))
if err := database.WithTx(ctx, &sql.TxOptions{
Isolation: 0,