Update custom GraphQLView to use new GraphQL 3.0 syntax

This commit is contained in:
Ramon Wenger 2023-12-07 11:35:48 +01:00
parent 6f563806f7
commit a2e85c337d
1 changed files with 8 additions and 5 deletions

View File

@ -1,4 +1,5 @@
from django.http.request import HttpRequest from django.http.request import HttpRequest
from graphql import get_operation_ast, parse
import requests import requests
from django.conf import settings from django.conf import settings
from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.auth.mixins import LoginRequiredMixin
@ -22,11 +23,13 @@ class SentryGraphQLView(GraphQLView):
operation_name, operation_name,
show_graphiql, show_graphiql,
): ):
operation_type = ( """
self.get_backend(request) adapted to use the new GraphQL 3.0 syntax, still need to get the operation type,
.document_from_string(self.schema, query) but the code to do this changed significantly, so the above link only explains
.get_operation_type(operation_name) the 'what' and 'why', but no longer the 'how'
) """
document = parse(query)
operation_type = get_operation_ast(document, operation_name).operation
with start_transaction(op=operation_type, name=operation_name): with start_transaction(op=operation_type, name=operation_name):
return super().execute_graphql_request( return super().execute_graphql_request(
request, data, query, variables, operation_name, show_graphiql request, data, query, variables, operation_name, show_graphiql