feat: refactoring and code clean up
This commit is contained in:
parent
3b0884e628
commit
2b9f974125
5 changed files with 42 additions and 28 deletions
|
@ -8,7 +8,9 @@ use GraphQL\Type\Definition\Type;
|
|||
use Appwrite\Utopia\Response;
|
||||
use Appwrite\Utopia\Response\Model;
|
||||
use Appwrite\GraphQL\Types\JsonType;
|
||||
use GraphQL\Error\Error;
|
||||
use GraphQL\Error\ClientAware;
|
||||
use GraphQL\Error\FormattedError;
|
||||
use GraphQL\Type\Definition\ListOfType;
|
||||
use Utopia\App;
|
||||
|
||||
|
@ -59,30 +61,36 @@ App::post('/v1/graphql')
|
|||
->inject('request')
|
||||
->inject('response')
|
||||
->inject('schema')
|
||||
->middleware(true)
|
||||
->middleware(false)
|
||||
->action(function ($request, $response, $schema) {
|
||||
|
||||
$query = $request->getPayload('query', '');
|
||||
$variables = $request->getPayload('variables', null);
|
||||
$response->setContentType(Response::CONTENT_TYPE_NULL);
|
||||
// $myErrorFormatter = function(Error $error) {
|
||||
// $formattedError = FormattedError::createFromException($error);
|
||||
// var_dump("***** IN ERROR FORMATTER ******");
|
||||
// return $formattedError;
|
||||
// };
|
||||
|
||||
try {
|
||||
$rootValue = [];
|
||||
$result = GraphQL::executeQuery($schema, $query, $rootValue, null, $variables);
|
||||
$output = $result->toArray();
|
||||
} catch (\Exception $error) {
|
||||
$output = [
|
||||
'errors' => [
|
||||
[
|
||||
'message' => $error->getMessage().'xxx',
|
||||
'code' => $error->getCode(),
|
||||
'file' => $error->getFile(),
|
||||
'line' => $error->getLine(),
|
||||
'trace' => $error->getTrace(),
|
||||
]
|
||||
$query = $request->getPayload('query', '');
|
||||
$variables = $request->getPayload('variables', null);
|
||||
$response->setContentType(Response::CONTENT_TYPE_NULL);
|
||||
|
||||
try {
|
||||
$rootValue = [];
|
||||
$result = GraphQL::executeQuery($schema, $query, $rootValue, null, $variables);
|
||||
$output = $result->toArray();
|
||||
} catch (\Exception $error) {
|
||||
$output = [
|
||||
'errors' => [
|
||||
[
|
||||
'message' => $error->getMessage().'xxx',
|
||||
'code' => $error->getCode(),
|
||||
'file' => $error->getFile(),
|
||||
'line' => $error->getLine(),
|
||||
'trace' => $error->getTrace(),
|
||||
]
|
||||
];
|
||||
}
|
||||
$response->json($output);
|
||||
]
|
||||
];
|
||||
}
|
||||
$response->json($output);
|
||||
}
|
||||
);
|
||||
|
|
|
@ -33,7 +33,6 @@ App::init(function ($utopia, $request, $response, $console, $project, $user, $lo
|
|||
/** @var bool $mode */
|
||||
/** @var array $clients */
|
||||
|
||||
var_dump("*********** In general.php init *************");
|
||||
|
||||
$localeParam = (string)$request->getParam('locale', $request->getHeader('x-appwrite-locale', ''));
|
||||
|
||||
|
@ -43,6 +42,8 @@ App::init(function ($utopia, $request, $response, $console, $project, $user, $lo
|
|||
|
||||
$route = $utopia->match($request);
|
||||
|
||||
var_dump("*********** In general.php init with route {$route->getURL()} *************");
|
||||
|
||||
if (!empty($route->getLabel('sdk.platform', [])) && empty($project->getId()) && ($route->getLabel('scope', '') !== 'public')) {
|
||||
throw new Exception('Missing or unknown project ID', 400);
|
||||
}
|
||||
|
@ -169,7 +170,9 @@ App::init(function ($utopia, $request, $response, $console, $project, $user, $lo
|
|||
$scopes = $roles[$role]['scopes']; // Allowed scopes for user role
|
||||
|
||||
$authKey = $request->getHeader('x-appwrite-key', '');
|
||||
|
||||
var_dump("***** AUTH KEY ******");
|
||||
|
||||
var_dump($authKey);
|
||||
if (!empty($authKey)) { // API Key authentication
|
||||
// Check if given key match project API keys
|
||||
$key = $project->search('secret', $authKey, $project->getAttribute('keys', []));
|
||||
|
@ -212,9 +215,9 @@ App::init(function ($utopia, $request, $response, $console, $project, $user, $lo
|
|||
|
||||
// TDOO Check if user is god
|
||||
|
||||
var_dump("*********** Allowed Scopes *********");
|
||||
var_dump($scopes);
|
||||
var_dump($scope);
|
||||
// var_dump("*********** Allowed Scopes *********");
|
||||
// var_dump($scopes);
|
||||
// var_dump($scope);
|
||||
|
||||
if (!\in_array($scope, $scopes)) {
|
||||
if (empty($project->getId()) || Database::SYSTEM_COLLECTION_PROJECTS !== $project->getCollection()) { // Check if permission is denied because project is missing
|
||||
|
|
|
@ -81,6 +81,8 @@ $http->on('request', function (SwooleRequest $swooleRequest, SwooleResponse $swo
|
|||
$request = new Request($swooleRequest);
|
||||
$response = new Response($swooleResponse);
|
||||
|
||||
var_dump($swooleRequest->header);
|
||||
|
||||
if(Files::isFileLoaded($request->getURI())) {
|
||||
$time = (60 * 60 * 24 * 365 * 2); // 45 days cache
|
||||
|
||||
|
@ -99,7 +101,8 @@ $http->on('request', function (SwooleRequest $swooleRequest, SwooleResponse $swo
|
|||
try {
|
||||
Authorization::cleanRoles();
|
||||
Authorization::setRole('*');
|
||||
|
||||
var_dump("******* Running App ******* ");
|
||||
|
||||
$app->run($request, $response);
|
||||
} catch (\Throwable $th) {
|
||||
var_dump("*********** In http.php catching error *************");
|
||||
|
|
|
@ -18,7 +18,6 @@ class GraphQLBuilder {
|
|||
|
||||
public static $typeMapping;
|
||||
|
||||
|
||||
private static function init() {
|
||||
self::$jsonParser = new JsonType();
|
||||
self::$typeMapping = [
|
||||
|
|
|
@ -11,6 +11,7 @@ use GraphQL\Language\AST\ObjectValueNode;
|
|||
use GraphQL\Language\AST\StringValueNode;
|
||||
use GraphQL\Type\Definition\ScalarType;
|
||||
|
||||
// https://github.com/webonyx/graphql-php/issues/129#issuecomment-309366803
|
||||
class JsonType extends ScalarType
|
||||
{
|
||||
public $name = 'Json';
|
||||
|
|
Loading…
Reference in a new issue