Move shutdown hook to graphql controller
This commit is contained in:
parent
2469a42d1d
commit
89b4d0026a
2 changed files with 14 additions and 13 deletions
|
@ -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());
|
||||||
|
});
|
||||||
|
|
|
@ -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());
|
|
||||||
});
|
|
||||||
|
|
Loading…
Reference in a new issue