diff --git a/app/controllers/general.php b/app/controllers/general.php index 01bf3bdda9..d32d362329 100644 --- a/app/controllers/general.php +++ b/app/controllers/general.php @@ -129,16 +129,6 @@ App::init(function ($utopia, $request, $response, $console, $project, $dbForCons $selfDomain = new Domain($request->getHostname()); $endDomain = new Domain((string)$origin); - // var_dump('referer', $referrer); - // var_dump('origin', $origin); - // var_dump('port', $request->getPort()); - // var_dump('hostname', $request->getHostname()); - // var_dump('protocol', $request->getProtocol()); - // var_dump('method', $request->getMethod()); - // var_dump('ip', $request->getIP()); - // var_dump('-----------------'); - // var_dump($request->debug()); - Config::setParam('domainVerification', ($selfDomain->getRegisterable() === $endDomain->getRegisterable()) && $endDomain->getRegisterable() !== ''); @@ -158,12 +148,12 @@ App::init(function ($utopia, $request, $response, $console, $project, $dbForCons $responseFormat = $request->getHeader('x-appwrite-response-format', App::getEnv('_APP_SYSTEM_RESPONSE_FORMAT', '')); if ($responseFormat) { switch($responseFormat) { + case version_compare ($responseFormat , '0.11.2', '<=') : + Response::setFilter(new ResponseV11()); + break; case version_compare ($responseFormat , '0.12.4', '<='): Response::setFilter(new ResponseV12()); break; - case version_compare ($responseFormat , '0.11.0', '<=') : - Response::setFilter(new ResponseV11()); - break; default: Response::setFilter(null); } diff --git a/src/Appwrite/Utopia/Response/Filters/V12.php b/src/Appwrite/Utopia/Response/Filters/V12.php index b93878eac2..1e04333383 100644 --- a/src/Appwrite/Utopia/Response/Filters/V12.php +++ b/src/Appwrite/Utopia/Response/Filters/V12.php @@ -15,24 +15,45 @@ class V12 extends Filter switch ($model) { // Update permissions + case Response::MODEL_ERROR_DEV: case Response::MODEL_ERROR: $parsedResponse = $this->parseError($content); break; + case Response::MODEL_SESSION: $parsedResponse = $this->parseSession($content); break; + case Response::MODEL_SESSION_LIST: + $parsedResponse = $this->parseSessionList($content); + break; case Response::MODEL_FILE: $parsedResponse = $this->parseFile($content); break; + case Response::MODEL_FILE_LIST: + $parsedResponse = $this->parseFileList($content); + break; case Response::MODEL_FUNCTION: $parsedResponse = $this->parseFunction($content); break; + case Response::MODEL_FUNCTION_LIST: + $parsedResponse = $this->parseFunctionList($content); + break; + + case Response::MODEL_DEPLOYMENT: + $parsedResponse = $this->parseDeployment($content); + break; + case Response::MODEL_DEPLOYMENT_LIST: + $parsedResponse = $this->parseDeploymentList($content); + break; case Response::MODEL_EXECUTION: $parsedResponse = $this->parseExecution($content); break; + case Response::MODEL_EXECUTION_LIST: + $parsedResponse = $this->parseExecutionList($content); + break; case Response::MODEL_USAGE_BUCKETS: $parsedResponse = $this->parseUsageBuckets($content); @@ -64,6 +85,17 @@ class V12 extends Filter return $content; } + protected function parseSessionList(array $content) + { + $sessions = $content['sessions']; + $parsedResponse = []; + foreach ($sessions as $document) { + $parsedResponse[] = $this->parseSession($document); + } + $content['sessions'] = $parsedResponse; + return $content; + } + protected function parseFile(array $content) { unset($content['bucketId']); @@ -73,6 +105,17 @@ class V12 extends Filter return $content; } + protected function parseFileList(array $content) + { + $files = $content['files']; + $parsedResponse = []; + foreach ($files as $document) { + $parsedResponse[] = $this->parseFile($document); + } + $content['files'] = $parsedResponse; + return $content; + } + protected function parseFunction(array $content) { $content['tag'] = $content['deployment']; @@ -80,6 +123,35 @@ class V12 extends Filter return $content; } + protected function parseFunctionList(array $content) + { + $functions = $content['functions']; + $parsedResponse = []; + foreach ($functions as $document) { + $parsedResponse[] = $this->parseFunction($document); + } + $content['functions'] = $parsedResponse; + return $content; + } + + protected function parseDeployment(array $content) + { + $content['functionId'] = $content['resourceId']; + $content['command'] = $content['entrypoint']; + return $content; + } + + protected function parseDeploymentList(array $content) + { + $deployments = $content['deployments']; + $parsedResponse = []; + foreach ($deployments as $document) { + $parsedResponse[] = $this->parseDeployment($document); + } + $content['deployments'] = $parsedResponse; + return $content; + } + protected function parseUsageBuckets(array $content) { unset($content['filesStorage']); @@ -112,4 +184,14 @@ class V12 extends Filter return $content; } + + protected function parseExecutionList($content) { + $executions = $content['executions']; + $parsedResponse = []; + foreach ($executions as $document) { + $parsedResponse[] = $this->parseExecution($document); + } + $content['executions'] = $parsedResponse; + return $content; + } } \ No newline at end of file