mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
added graphql fix
This commit is contained in:
@@ -115,13 +115,16 @@ Http::post('/v1/graphql/mutation')
|
||||
->inject('promiseAdapter')
|
||||
->action(function (Request $request, Response $response, GQLSchema $schema, Adapter $promiseAdapter) {
|
||||
$query = $request->getParams();
|
||||
$type = $request->getHeader('content-type', '');
|
||||
|
||||
if ($request->getHeader('x-sdk-graphql') == 'true') {
|
||||
$query = $query['query'];
|
||||
if (empty($query) && \str_starts_with($type, 'application/json')) {
|
||||
$rawPayload = $request->getRawPayload();
|
||||
$decoded = \json_decode($rawPayload, true);
|
||||
if (\is_array($decoded)) {
|
||||
$query = $decoded;
|
||||
}
|
||||
}
|
||||
|
||||
$type = $request->getHeader('content-type');
|
||||
|
||||
if (\str_starts_with($type, 'application/graphql')) {
|
||||
$query = parseGraphql($request);
|
||||
}
|
||||
@@ -130,6 +133,10 @@ Http::post('/v1/graphql/mutation')
|
||||
$query = parseMultipart($query, $request);
|
||||
}
|
||||
|
||||
if ($request->getHeader('x-sdk-graphql') == 'true' && isset($query['query'])) {
|
||||
$query = $query['query'];
|
||||
}
|
||||
|
||||
$output = execute($schema, $promiseAdapter, $query);
|
||||
|
||||
$response
|
||||
@@ -166,13 +173,16 @@ Http::post('/v1/graphql')
|
||||
->inject('promiseAdapter')
|
||||
->action(function (Request $request, Response $response, GQLSchema $schema, Adapter $promiseAdapter) {
|
||||
$query = $request->getParams();
|
||||
$type = $request->getHeader('content-type', '');
|
||||
|
||||
if ($request->getHeader('x-sdk-graphql') == 'true') {
|
||||
$query = $query['query'];
|
||||
if (empty($query) && \str_starts_with($type, 'application/json')) {
|
||||
$rawPayload = $request->getRawPayload();
|
||||
$decoded = \json_decode($rawPayload, true);
|
||||
if (\is_array($decoded)) {
|
||||
$query = $decoded;
|
||||
}
|
||||
}
|
||||
|
||||
$type = $request->getHeader('content-type');
|
||||
|
||||
if (\str_starts_with($type, 'application/graphql')) {
|
||||
$query = parseGraphql($request);
|
||||
}
|
||||
@@ -181,6 +191,10 @@ Http::post('/v1/graphql')
|
||||
$query = parseMultipart($query, $request);
|
||||
}
|
||||
|
||||
if ($request->getHeader('x-sdk-graphql') == 'true' && isset($query['query'])) {
|
||||
$query = $query['query'];
|
||||
}
|
||||
|
||||
$output = execute($schema, $promiseAdapter, $query);
|
||||
|
||||
$response
|
||||
|
||||
Reference in New Issue
Block a user