mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
Update response filters for 0.13
This commit is contained in:
@@ -19,6 +19,7 @@ use Utopia\Database\Document;
|
||||
use Utopia\Database\Query;
|
||||
use Utopia\Database\Validator\Authorization;
|
||||
use Appwrite\Utopia\Request\Filters\V12;
|
||||
use Appwrite\Utopia\Response\Filters\V12 as FiltersV12;
|
||||
use Utopia\Validator\Text;
|
||||
|
||||
Config::setParam('domainVerification', false);
|
||||
@@ -157,6 +158,9 @@ 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.12.3', '<='):
|
||||
Response::setFilter(new FiltersV12());
|
||||
break;
|
||||
case version_compare ($responseFormat , '0.11.0', '<=') :
|
||||
Response::setFilter(new V11());
|
||||
break;
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
namespace Appwrite\Utopia\Response\Filters;
|
||||
|
||||
use Appwrite\Utopia\Response;
|
||||
use Appwrite\Utopia\Response\Filter;
|
||||
use Exception;
|
||||
|
||||
class V12 extends Filter
|
||||
{
|
||||
// Convert 0.13 Data format to 0.12 format
|
||||
public function parse(array $content, string $model): array
|
||||
{
|
||||
$parsedResponse = $content;
|
||||
|
||||
switch ($model) {
|
||||
// Update permissions
|
||||
case Response::MODEL_ERROR:
|
||||
$parsedResponse = $this->parseError($content);
|
||||
break;
|
||||
case Response::MODEL_SESSION:
|
||||
$parsedResponse = $this->parseSession($content);
|
||||
|
||||
case Response::MODEL_FILE:
|
||||
$parsedResponse = $this->parseFile($content);
|
||||
|
||||
case Response::MODEL_FUNCTION:
|
||||
$parsedResponse = $this->parseFunction($content);
|
||||
|
||||
}
|
||||
|
||||
return $parsedResponse;
|
||||
}
|
||||
|
||||
protected function parseError(array $content)
|
||||
{
|
||||
unset($content['type']);
|
||||
return $content;
|
||||
}
|
||||
|
||||
protected function parseSession(array $content)
|
||||
{
|
||||
$content['providerToken'] = $content['providerAccessToken'];
|
||||
unset($content['providerAccessToken']);
|
||||
|
||||
unset($content['providerAccessTokenExpiry']);
|
||||
|
||||
unset($content['providerRefreshToken']);
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
||||
protected function parseFile(array $content)
|
||||
{
|
||||
unset($content['bucketId']);
|
||||
unset($content['chunksTotal']);
|
||||
unset($content['chunksUploaded']);
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
||||
protected function parseFunction(array $content)
|
||||
{
|
||||
$content['required'] = implode(' ', $content['required']);
|
||||
|
||||
return $content;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user