From 772f110eeebb687d7db0c63e263a638ac9a09ead Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Fri, 19 Mar 2021 00:25:43 +0530 Subject: [PATCH] feat: refactor noContent() --- app/controllers/api/graphql.php | 1 + app/controllers/api/users.php | 2 +- src/Appwrite/GraphQL/Builder.php | 14 ++++++++++++++ src/Appwrite/Utopia/Response.php | 18 +++++++++--------- 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/app/controllers/api/graphql.php b/app/controllers/api/graphql.php index 2f2892c2c3..3c86673fee 100644 --- a/app/controllers/api/graphql.php +++ b/app/controllers/api/graphql.php @@ -1,5 +1,6 @@ noContent(); + $response->dynamic(new Document(), Response::MODEL_NONE); }); diff --git a/src/Appwrite/GraphQL/Builder.php b/src/Appwrite/GraphQL/Builder.php index 0317f56fd8..b6b1b10b31 100644 --- a/src/Appwrite/GraphQL/Builder.php +++ b/src/Appwrite/GraphQL/Builder.php @@ -9,6 +9,9 @@ use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Definition\Type; use GraphQL\Type\Schema; use Appwrite\GraphQL\Exception; +use GraphQL\Error\Error; +use GraphQL\Error\FormattedError; +use Utopia\App; class Builder { @@ -279,4 +282,15 @@ class Builder { return $schema; } + + public static function errorFormatter(Error $error) { + $formattedError = FormattedError::createFromException($error); + var_dump("***** IN ERROR FORMATTER ******"); + $parentError = $error->getPrevious(); + $formattedError['code'] = $parentError->getCode(); + $formattedError['file'] = $parentError->getFile(); + $formattedError['version'] = App::getEnv('_APP_VERSION', 'UNKNOWN'); + $formattedError['line'] = $parentError->getLine(); + return $formattedError; + } } diff --git a/src/Appwrite/Utopia/Response.php b/src/Appwrite/Utopia/Response.php index 7dc169d749..2865da4c73 100644 --- a/src/Appwrite/Utopia/Response.php +++ b/src/Appwrite/Utopia/Response.php @@ -281,7 +281,7 @@ class Response extends SwooleResponse $output = $this->output($document, $model); // If filter is set, parse the output - if(self::isFilter()){ + if(self::isFilter()) { $output = self::getFilter()->parse($output, $model); } @@ -289,16 +289,20 @@ class Response extends SwooleResponse case self::CONTENT_TYPE_JSON: $this->json(!empty($output) ? $output : new stdClass()); break; - - case self::CONTENT_TYPE_NULL: - break; case self::CONTENT_TYPE_YAML: $this->yaml(!empty($output) ? $output : new stdClass()); break; + case self::CONTENT_TYPE_NULL: + break; + default : - $this->json(!empty($output) ? $output : new stdClass()); + if ($model === self::MODEL_NONE) { + $this->noContent(); + } else { + $this->json(!empty($output) ? $output : new stdClass()); + } break; } } @@ -422,8 +426,4 @@ class Response extends SwooleResponse return self::$filter != null; } - public function noContent(): void - { - $this->output(new Document(), self::MODEL_NONE); - } }