{"id":15026457,"url":"https://github.com/rdey/graphql-federation-bundle","last_synced_at":"2026-02-15T21:34:45.981Z","repository":{"id":67622253,"uuid":"574936875","full_name":"rdey/graphql-federation-bundle","owner":"rdey","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-13T10:53:02.000Z","size":20,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-10-23T09:54:17.251Z","etag":null,"topics":["bundle","php74","php80","php81","sf63"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rdey.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-06T12:02:01.000Z","updated_at":"2024-05-28T14:57:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"49b90cb1-b55f-4d5d-b52d-f94924c670df","html_url":"https://github.com/rdey/graphql-federation-bundle","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/rdey/graphql-federation-bundle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdey%2Fgraphql-federation-bundle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdey%2Fgraphql-federation-bundle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdey%2Fgraphql-federation-bundle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdey%2Fgraphql-federation-bundle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rdey","download_url":"https://codeload.github.com/rdey/graphql-federation-bundle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdey%2Fgraphql-federation-bundle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29490352,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T19:29:10.908Z","status":"ssl_error","status_checked_at":"2026-02-15T19:29:10.419Z","response_time":118,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bundle","php74","php80","php81","sf63"],"created_at":"2024-09-24T20:04:30.641Z","updated_at":"2026-02-15T21:34:45.954Z","avatar_url":"https://github.com/rdey.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rdey-graphql-federation-bundle\n\nA tiny, simplistic and fragile bundle to integrate overblog/graphql-bundle \n(specifically 0.13 and 0.14) and skillshare/apollo-federation-php (1.7.0).\n\nThis bundle shouldn't have to exist, as this should more properly belong \nin overblog/graphql-bundle, but here we are.\n\n## Usage\n\n### Configuring types\n\nYou need to manually define your federated types as Symfony services. \nThese services need to be tagged with `overblog_graphql.type`. Our\nsuggestion is this:\n\n```yaml\n    App\\GraphQL\\Type\\:\n        resource: '../src/GraphQL/Type'\n        tags:\n            - { name: 'overblog_graphql.type' }\n```\n\nYour type class can look a little something like this (see the docs for\nskillshare/apollo-federation-php for more info):\n\n```php\n\u003c?php\n\ndeclare(strict_types=1);\n\nnamespace App\\GraphQL\\Type;\n\nuse Apollo\\Federation\\Types\\EntityObjectType;\nuse Overblog\\GraphQLBundle\\Definition\\Resolver\\AliasedInterface;\nuse GraphQL\\Type\\Definition\\Type;\n\nclass TestEntity extends EntityObjectType implements AliasedInterface\n{\n    public function __construct()\n    {\n        parent::__construct([\n            'name' =\u003e 'TestEntity',\n            'keyFields' =\u003e ['id', 'email'],\n            'fields' =\u003e [\n                'id' =\u003e [\n                    'type' =\u003e Type::int(),\n                ],\n                'email' =\u003e [\n                    'type' =\u003e Type::string(),\n                ],\n                'foobar' =\u003e [\n                    'type' =\u003e Type::string(),\n                ]\n            ]\n        ]);\n    }\n\n    public static function getAliases(): array\n    {\n        return ['TestEntity'];\n    }\n}\n```\n\n### Entity type resolution\n\nThe use case is analogous to TypeResolvers in OverblogGraphQLBundle. Implement `Redeye\\GraphqlFederationBundle\\EntityTypeResolver\\EntityTypeResolverInterface` in a service, and tag it with `redeye_graphql_federation.entity_type_resolver`.\n\n#### Example\n\n```php\n\u003c?php\n\ndeclare(strict_types=1);\n\nnamespace App\\GraphQL;\n\nuse App\\Model\\Person;\nuse GraphQL\\Type\\Definition\\ResolveInfo;\nuse Redeye\\GraphqlFederationBundle\\EntityTypeResolver\\EntityTypeResolverInterface;\n\nclass EntityTypeResolver implements EntityTypeResolverInterface\n{\n    public function __invoke($value, $context, ResolveInfo $info)\n    {\n        if ($value instanceof Person) {\n            return 'Person';\n        }\n\n        return null;\n    }\n}\n\n```\n\n```yaml\nservices:\n    App\\GraphQL\\EntityTypeResolver:\n        tags:\n            - { name: 'redeye_graphql_federation.entity_type_resolver' }\n```\n\n### Dumping the schema\n\nYou can dump a schema with the correct Federation directives using `bin/console redeye:graphql:dump-federated`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdey%2Fgraphql-federation-bundle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frdey%2Fgraphql-federation-bundle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdey%2Fgraphql-federation-bundle/lists"}