コード例 #1
0
    def __init__(self,
                 schema=None,
                 executor=None,
                 middleware=None,
                 root_value=None,
                 backend=None):
        if not schema:
            schema = graphene_settings.SCHEMA

        if backend is None:
            backend = get_default_backend()

        if middleware is None:
            middleware = graphene_settings.MIDDLEWARE

        self.graphql_schema = self.graphql_schema or schema

        if middleware is not None:
            if isinstance(middleware, MiddlewareManager):
                self.middleware = middleware
            else:
                self.middleware = list(instantiate_middleware(middleware))

        self.executor = executor
        self.root_value = root_value
        self.backend = backend

        assert isinstance(
            self.graphql_schema, GraphQLSchema
        ), "A Schema is required to be provided to GraphQLAPIView."
コード例 #2
0
 def __init__(self, schema, middleware=None, root_value=None):
     super().__init__()
     if middleware is None:
         middleware = graphene_settings.MIDDLEWARE
     self.schema = self.schema or schema
     if middleware is not None:
         self.middleware = list(instantiate_middleware(middleware))
     self.root_value = root_value
コード例 #3
0
ファイル: views.py プロジェクト: mapomb/kos-boutique
 def __init__(
     self, schema=None, executor=None, middleware=None, root_value=None, backend=None
 ):
     super().__init__()
     if schema is None:
         schema = graphene_settings.SCHEMA
     if backend is None:
         backend = get_default_backend()
     if middleware is None:
         middleware = graphene_settings.MIDDLEWARE
     self.schema = self.schema or schema
     if middleware is not None:
         self.middleware = list(instantiate_middleware(middleware))
     self.executor = executor
     self.root_value = root_value
     self.backend = backend
コード例 #4
0
ファイル: views.py プロジェクト: mirumee/saleor
 def __init__(
     self, schema=None, executor=None, middleware=None, root_value=None, backend=None
 ):
     super().__init__()
     if schema is None:
         schema = graphene_settings.SCHEMA
     if backend is None:
         backend = get_default_backend()
     if middleware is None:
         middleware = graphene_settings.MIDDLEWARE
     self.schema = self.schema or schema
     if middleware is not None:
         self.middleware = list(instantiate_middleware(middleware))
     self.executor = executor
     self.root_value = root_value
     self.backend = backend
コード例 #5
0
    def execute(
        self,
        *args,
        auth_token_payload=None,
        service=_not_provided,
        context=None,
        **kwargs
    ):
        """
        Custom execute method which adds all of the middlewares defined in the
        settings to the execution. Additionally adds a profile service to the
        context if no service is provided.

        e.g. GQL DataLoaders middleware is used to make the DataLoaders
        available through the context.
        """
        if context is None:
            context = RequestFactory().post("/graphql")

        if not hasattr(context, "user") and hasattr(self, "user"):
            context.user = self.user

        if (
            hasattr(context, "user")
            and context.user.is_authenticated
            and not hasattr(context, "user_auth")
        ):
            context.user_auth = UserAuthorization(
                context.user, auth_token_payload or {}
            )

        if not hasattr(context, "service"):
            context.service = None

        if service is _not_provided:
            context.service = ServiceFactory(name="profile", is_profile_service=True)
        elif service:
            context.service = service

        return super().execute(
            *args,
            context=context,
            middleware=list(instantiate_middleware(graphene_settings.MIDDLEWARE)),
            **kwargs
        )