zestic / graphql-component
GraphQL component
v0.6.1
2021-11-14 04:30 UTC
Requires
- php: ^8.0
- firebase/php-jwt: ^5.2.0
- laminas/laminas-diactoros: ^2.6
- netglue/laminas-messenger: ^1.0
- psr/container: ^1.0
- psr/log: ^1.0
- zestic/contracts: ^0.2
- zestic/webonxy-middleware: ^0.5
Requires (Dev)
- codeception/codeception: ^4.1.6
- codeception/module-asserts: ^1.0.0
README
Bridge between Webonxy and Symfony Messenger
All messages must extend GraphQLMessage
Config
'graphQL' => [
'mutations' => [
'addEmailToList' => App\Domain\Message\Mutation\AddEmailToListMessage::class,
'addEmailToList' => [
'bus' => 'messenger.not-default-bus', \\ optional
'handler' => App\Domain\Handler\Mutation\AddEmailToListHandler::class,
'message' => App\Domain\Message\Mutation\AddEmailToListMessage::class,
],
],
'queries' => [
'ping' => [
'bus' => 'messenger.not-default-bus', \\ optional
'handler' => App\Domain\Handler\Query\PingHandler::class,
'message' => App\Domain\Message\Query\PingMessage::class,
],
],
'middleware' => [
'allowedHeaders' => [
'application/graphql',
'application/json',
],
],
'schema' => App\GraphQL\Schema::class,
];
In config.php
add the ConfigProcess.php
class to the post processors
$postProcessors = [ \Zestic\GraphQL\ConfigProcessor::class, ]; $aggregator = new ConfigAggregator([ ... ], $cacheConfig['config_cache_path'], $postProcessors); return $aggregator->getMergedConfig();
This will wire up the connections between the handlers and messages in Symfony Messenger
and it also builds the config for the RequestDispatcher