Skip to content
This repository has been archived by the owner on Jul 25, 2023. It is now read-only.

Latest commit

 

History

History
77 lines (59 loc) · 2.06 KB

UPGRADE-0.13.md

File metadata and controls

77 lines (59 loc) · 2.06 KB

UPGRADE FROM 0.12 to 0.13

Table of Contents

Rename default_field config

overblog_graphql:
    definitions:
-       default_resolver: ~
+       default_field_resolver: ~

The new default_field_resolver config entry accepts callable service id.

Improve default field resolver

Stop using internally symfony/property-access package since it was a bottleneck to performance for large schema.

Array access and camelize getter are supported but isser, hasser, jQuery style (e.g. last()) and "can" property accessors are no more supported out-of-the-box, please implement a custom resolver if these accessors are needed.

Globally:

overblog_graphql:
    definitions:
        default_field_resolver: 'App\GraphQL\CustomResolver'

see default field resolver for more details

Per Type:

MyType:
    type: object
    config:
        resolveField: 'App\GraphQL\MyTypeResolver::defaultFieldResolver'
        fields:
            name: {type: String}
            email: {type: String}

see default Field Resolver per type for more details

Use service tags to register resolver maps

The resolver maps used to be configured using the overblog_graphql.definitions.schema.resolver_maps option. This has been deprecated in favour of using service tags to register them.

# config/graphql.yaml
overblog_graphql:
    definitions:
        schema:
             # ...
-            resolver_maps:
-                - 'App\GraphQL\MyResolverMap'
# services/graphql.yaml
services:
-    App\GraphQL\MyResolverMap: ~
+    App\GraphQL\MyResolverMap:
+        tags:
+            - { name: overblog_graphql.resolver_map, schema: default }