From ae4d02c0f0720bb9fc05950071fb7deeb9c665ed Mon Sep 17 00:00:00 2001 From: Matej Baco Date: Fri, 31 Dec 2021 09:40:35 +0100 Subject: [PATCH] Cleanup of POC --- app/controllers/general.php | 5 ++--- app/http.php | 11 +++++++---- docker-compose.yml | 2 +- src/Appwrite/Utopia/Request.php | 7 +++++++ .../Utopia/Request/Filters/{V11.php => V12.php} | 6 ++---- 5 files changed, 19 insertions(+), 12 deletions(-) rename src/Appwrite/Utopia/Request/Filters/{V11.php => V12.php} (71%) diff --git a/app/controllers/general.php b/app/controllers/general.php index ea8b793461..f5d3b5b676 100644 --- a/app/controllers/general.php +++ b/app/controllers/general.php @@ -2,7 +2,6 @@ require_once __DIR__.'/../init.php'; -use Appwrite\Utopia\Request\Filters\V11; use Utopia\App; use Appwrite\Utopia\Request; use Appwrite\Utopia\Response; @@ -80,13 +79,13 @@ App::init(function ($utopia, $request, $response, $console, $project, $dbForCons Config::setParam('domains', $domains); } - $route = $utopia->match($request); - $localeParam = (string) $request->getParam('locale', $request->getHeader('x-appwrite-locale', '')); if (\in_array($localeParam, Config::getParam('locale-codes'))) { $locale->setDefault($localeParam); } + $route = $utopia->match($request); + if ($project->isEmpty()) { throw new Exception('Project not found', 404); } diff --git a/app/http.php b/app/http.php index 74fbe1d1ba..e7dd0f1ec6 100644 --- a/app/http.php +++ b/app/http.php @@ -2,7 +2,7 @@ require_once __DIR__.'/../vendor/autoload.php'; -use Appwrite\Utopia\Request\Filters\V11; +use Appwrite\Utopia\Request\Filters\V12; use Appwrite\Utopia\Response; use Swoole\Process; use Swoole\Http\Server; @@ -194,12 +194,15 @@ $http->on('request', function (SwooleRequest $swooleRequest, SwooleResponse $swo $requestFormat = $request->getHeader('x-appwrite-response-format', App::getEnv('_APP_SYSTEM_RESPONSE_FORMAT', '')); if ($requestFormat) { switch($requestFormat) { - // TODO: For some reason console is still on 0.12. We dont want this filter logic in console, console uses 0.12 SDK + // TODO: For some reason console is still on 0.11. We dont want this filter logic in console, console uses 0.12 SDK case version_compare ($requestFormat , '0.11.0', '<=') : - \var_dump("Matches 0.11"); - Request::setFilter(new V11()); + Request::setFilter(new V12()); break; + default: + Request::setFilter(null); } + } else { + Request::setFilter(null); } $app->run($request, $response); diff --git a/docker-compose.yml b/docker-compose.yml index 3136658290..2efed94a41 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -71,7 +71,7 @@ services: - ./psalm.xml:/usr/src/code/psalm.xml - ./tests:/usr/src/code/tests - ./app:/usr/src/code/app - - ./vendor/utopia-php/framework:/usr/src/code/vendor/utopia-php/framework + # - ./vendor:/usr/src/code/vendor - ./docs:/usr/src/code/docs - ./src:/usr/src/code/src # - ./debug:/tmp diff --git a/src/Appwrite/Utopia/Request.php b/src/Appwrite/Utopia/Request.php index a3533bddff..cd4ad0f998 100644 --- a/src/Appwrite/Utopia/Request.php +++ b/src/Appwrite/Utopia/Request.php @@ -43,6 +43,13 @@ class Request extends UtopiaRequest default: return $this->getQuery($key, $default); } + + if (self::hasFilter() && self::hasRoute()) { + $endpointIdentifier = self::getRoute()->getLabel('sdk.namespace', 'unknown') . '.' . self::getRoute()->getLabel('sdk.method', 'unknown'); + return self::getFilter()->parse($requestParameters, $endpointIdentifier); + } else { + return $requestParameters; + } } /** diff --git a/src/Appwrite/Utopia/Request/Filters/V11.php b/src/Appwrite/Utopia/Request/Filters/V12.php similarity index 71% rename from src/Appwrite/Utopia/Request/Filters/V11.php rename to src/Appwrite/Utopia/Request/Filters/V12.php index eb5c338af9..b4d6d0e2ee 100644 --- a/src/Appwrite/Utopia/Request/Filters/V11.php +++ b/src/Appwrite/Utopia/Request/Filters/V12.php @@ -4,9 +4,8 @@ namespace Appwrite\Utopia\Request\Filters; use Appwrite\Utopia\Request\Filter; -class V11 extends Filter +class V12 extends Filter { - // TODO: Should this class be called be V11 or V12? // Convert 0.11 params format to 0.12 format public function parse(array $content, string $model): array { @@ -19,8 +18,7 @@ class V11 extends Filter } if(empty($parsedResponse)) { - // TODO: Do we need execption? We dont need to find, right? Not found means no changes - // throw new Exception('Received invalid request model : '. $model); + // No changes between current version and the one user requested $parsedResponse = $content; }