feat: starter code for Response Filters
This commit is contained in:
parent
4c1f4c9092
commit
898d89f322
3 changed files with 70 additions and 0 deletions
|
@ -6,6 +6,8 @@ use Exception;
|
||||||
use Utopia\Swoole\Response as SwooleResponse;
|
use Utopia\Swoole\Response as SwooleResponse;
|
||||||
use Swoole\Http\Response as SwooleHTTPResponse;
|
use Swoole\Http\Response as SwooleHTTPResponse;
|
||||||
use Appwrite\Database\Document;
|
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;
|
||||||
use Appwrite\Utopia\Response\Model\None;
|
use Appwrite\Utopia\Response\Model\None;
|
||||||
use Appwrite\Utopia\Response\Model\Any;
|
use Appwrite\Utopia\Response\Model\Any;
|
||||||
|
@ -112,6 +114,11 @@ class Response extends SwooleResponse
|
||||||
const MODEL_DOMAIN = 'domain';
|
const MODEL_DOMAIN = 'domain';
|
||||||
const MODEL_DOMAIN_LIST = 'domainList';
|
const MODEL_DOMAIN_LIST = 'domainList';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var Filter
|
||||||
|
*/
|
||||||
|
private static $filter = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
|
@ -329,4 +336,37 @@ class Response extends SwooleResponse
|
||||||
{
|
{
|
||||||
return $this->payload;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
16
src/Appwrite/Utopia/Response/Filter.php
Normal file
16
src/Appwrite/Utopia/Response/Filter.php
Normal 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;
|
||||||
|
|
||||||
|
}
|
14
src/Appwrite/Utopia/Response/Filters/V06.php
Normal file
14
src/Appwrite/Utopia/Response/Filters/V06.php
Normal 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();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue