1
0
Fork 0
mirror of synced 2024-06-14 08:44:49 +12:00

Added missing methods and models

This commit is contained in:
Eldad Fux 2020-11-08 00:14:36 +02:00
parent b4787a4b60
commit 3e1a3e24bb
2 changed files with 32 additions and 0 deletions

View file

@ -27,6 +27,7 @@ use Appwrite\Utopia\Response\Model\Team;
use Appwrite\Utopia\Response\Model\Locale;
use Appwrite\Utopia\Response\Model\Log;
use Appwrite\Utopia\Response\Model\Membership;
use Appwrite\Utopia\Response\Model\Permissions;
use Appwrite\Utopia\Response\Model\Phone;
use Appwrite\Utopia\Response\Model\Platform;
use Appwrite\Utopia\Response\Model\Project;
@ -148,6 +149,7 @@ class Response extends SwooleResponse
->setModel(new BaseList('Currencies List', self::MODEL_CURRENCY_LIST, 'currencies', self::MODEL_CURRENCY))
->setModel(new BaseList('Phones List', self::MODEL_PHONE_LIST, 'phones', self::MODEL_PHONE))
// Entities
->setModel(new Permissions())
->setModel(new Any())
->setModel(new Collection())
->setModel(new Rule())
@ -215,6 +217,16 @@ class Response extends SwooleResponse
return $this->models[$key];
}
/**
* Get Models List
*
* @return Model[]
*/
public function getModels(): array
{
return $this->models;
}
/**
* Validate response objects and outputs
* the response according to given format type

View file

@ -4,6 +4,12 @@ namespace Appwrite\Utopia\Response;
abstract class Model
{
const TYPE_STRING = 'string';
const TYPE_INTEGER = 'integer';
const TYPE_FLOAT = 'float';
const TYPE_BOOLEAN = 'boolean';
const TYPE_JSON = 'json';
/**
* @var bool
*/
@ -44,6 +50,7 @@ abstract class Model
protected function addRule(string $key, array $options): self
{
$this->rules[$key] = array_merge([
'require' => true,
'type' => '',
'description' => '',
'default' => null,
@ -54,6 +61,19 @@ abstract class Model
return $this;
}
public function getRequired()
{
$list = [];
foreach($this->rules as $key => $rule) {
if(isset($rule['require']) || $rule['require']) {
$list[] = $key;
}
}
return $list;
}
public function isAny(): bool
{
return $this->any;