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

View file

@ -4,6 +4,12 @@ namespace Appwrite\Utopia\Response;
abstract class Model 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 * @var bool
*/ */
@ -44,6 +50,7 @@ abstract class Model
protected function addRule(string $key, array $options): self protected function addRule(string $key, array $options): self
{ {
$this->rules[$key] = array_merge([ $this->rules[$key] = array_merge([
'require' => true,
'type' => '', 'type' => '',
'description' => '', 'description' => '',
'default' => null, 'default' => null,
@ -54,6 +61,19 @@ abstract class Model
return $this; 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 public function isAny(): bool
{ {
return $this->any; return $this->any;