1
0
Fork 0
mirror of synced 2024-06-13 16:24:47 +12:00

feat: starter code for Response Filters

This commit is contained in:
Christy Jacob 2020-12-22 20:54:30 +05:30
parent 4c1f4c9092
commit 898d89f322
3 changed files with 70 additions and 0 deletions

View file

@ -6,6 +6,8 @@ use Exception;
use Utopia\Swoole\Response as SwooleResponse;
use Swoole\Http\Response as SwooleHTTPResponse;
use Appwrite\Database\Document;
use Appwrite\Utopia\Response\Filter;
use Appwrite\Utopia\Response\Filter\V06;
use Appwrite\Utopia\Response\Model;
use Appwrite\Utopia\Response\Model\None;
use Appwrite\Utopia\Response\Model\Any;
@ -112,6 +114,11 @@ class Response extends SwooleResponse
const MODEL_DOMAIN = 'domain';
const MODEL_DOMAIN_LIST = 'domainList';
/**
* @var Filter
*/
private static $filter = null;
/**
* @var array
*/
@ -329,4 +336,37 @@ class Response extends SwooleResponse
{
return $this->payload;
}
/**
* Function to set a response filter
*
* @param $filter the response filter to set
*
* @return void
*/
public static function setFilter(Filter $filter)
{
self::$filter = $filter;
}
/**
* Return the currently set filter
*
* @return Filter
*/
public static function getFilter(): Filter
{
return self::$filter;
}
/**
* Check if a filter has been set
*
* @return bool
*/
public static function isFilter(): bool
{
return self::$filter != null;
}
}

View file

@ -0,0 +1,16 @@
<?php
namespace Appwrite\Utopia\Response;
abstract class Filter {
/**
* Parse the content to another format.
*
* @param array $content
*
* @return array
*/
abstract function parse(array $content): array;
}

View file

@ -0,0 +1,14 @@
<?php
namespace Appwrite\Utopia\Response\Filter;
use Appwrite\Utopia\Response\Filter;
class V06 extends Filter {
// Convert 0.7 Data format to 0.6 format
public function parse(array $content): array {
return array();
}
}