1
0
Fork 0
mirror of synced 2024-07-02 21:20:58 +12:00

Move shutdown hook to graphql controller

This commit is contained in:
Jake Barnby 2022-10-28 10:04:31 +13:00
parent 2469a42d1d
commit 89b4d0026a
No known key found for this signature in database
GPG key ID: C437A8CC85B96E9C
2 changed files with 14 additions and 13 deletions

View file

@ -2,16 +2,18 @@
use Appwrite\Extend\Exception; use Appwrite\Extend\Exception;
use Appwrite\GraphQL\Promises\Adapter; use Appwrite\GraphQL\Promises\Adapter;
use Appwrite\GraphQL\Schema;
use Appwrite\Utopia\Request; use Appwrite\Utopia\Request;
use Appwrite\Utopia\Response; use Appwrite\Utopia\Response;
use GraphQL\Error\DebugFlag; use GraphQL\Error\DebugFlag;
use GraphQL\GraphQL; use GraphQL\GraphQL;
use GraphQL\Type\Schema; use GraphQL\Type\Schema as GQLSchema;
use GraphQL\Validator\Rules\DisableIntrospection; use GraphQL\Validator\Rules\DisableIntrospection;
use GraphQL\Validator\Rules\QueryComplexity; use GraphQL\Validator\Rules\QueryComplexity;
use GraphQL\Validator\Rules\QueryDepth; use GraphQL\Validator\Rules\QueryDepth;
use Swoole\Coroutine\WaitGroup; use Swoole\Coroutine\WaitGroup;
use Utopia\App; use Utopia\App;
use Utopia\Database\Document;
use Utopia\Validator\JSON; use Utopia\Validator\JSON;
use Utopia\Validator\Text; use Utopia\Validator\Text;
@ -35,7 +37,7 @@ App::get('/v1/graphql')
->inject('response') ->inject('response')
->inject('schema') ->inject('schema')
->inject('promiseAdapter') ->inject('promiseAdapter')
->action(function (string $query, string $operationName, string $variables, Request $request, Response $response, Schema $schema, Adapter $promiseAdapter) { ->action(function (string $query, string $operationName, string $variables, Request $request, Response $response, GQLSchema $schema, Adapter $promiseAdapter) {
$query = [ $query = [
'query' => $query, 'query' => $query,
]; ];
@ -76,7 +78,7 @@ App::post('/v1/graphql')
->inject('response') ->inject('response')
->inject('schema') ->inject('schema')
->inject('promiseAdapter') ->inject('promiseAdapter')
->action(function (Request $request, Response $response, Schema $schema, Adapter $promiseAdapter) { ->action(function (Request $request, Response $response, GQLSchema $schema, Adapter $promiseAdapter) {
$query = $request->getParams(); $query = $request->getParams();
if ($request->getHeader('x-sdk-graphql') == 'true') { if ($request->getHeader('x-sdk-graphql') == 'true') {
@ -102,14 +104,14 @@ App::post('/v1/graphql')
/** /**
* Execute a GraphQL request * Execute a GraphQL request
* *
* @param Schema $schema * @param GQLSchema $schema
* @param Adapter $promiseAdapter * @param Adapter $promiseAdapter
* @param array $query * @param array $query
* @return array * @return array
* @throws Exception * @throws Exception
*/ */
function execute( function execute(
Schema $schema, GQLSchema $schema,
Adapter $promiseAdapter, Adapter $promiseAdapter,
array $query array $query
): array { ): array {
@ -233,3 +235,10 @@ function processResult($result, $debugFlags): array
$result $result
); );
} }
App::shutdown()
->groups(['schema'])
->inject('project')
->action(function (Document $project) {
Schema::setDirty($project->getId());
});

View file

@ -7,7 +7,6 @@ use Appwrite\Event\Delete;
use Appwrite\Event\Event; use Appwrite\Event\Event;
use Appwrite\Event\Mail; use Appwrite\Event\Mail;
use Appwrite\Extend\Exception; use Appwrite\Extend\Exception;
use Appwrite\GraphQL\Schema;
use Appwrite\Messaging\Adapter\Realtime; use Appwrite\Messaging\Adapter\Realtime;
use Appwrite\Usage\Stats; use Appwrite\Usage\Stats;
use Appwrite\Utopia\Response; use Appwrite\Utopia\Response;
@ -435,10 +434,3 @@ App::shutdown()
->submit(); ->submit();
} }
}); });
App::shutdown()
->groups(['schema'])
->inject('project')
->action(function (Document $project) {
Schema::setDirty($project->getId());
});