1
0
Fork 0
mirror of synced 2024-09-22 04:21:21 +12:00
appwrite/src/Appwrite/Utopia/Response/Model/Rule.php

83 lines
2.2 KiB
PHP
Raw Normal View History

<?php
namespace Appwrite\Utopia\Response\Model;
use Appwrite\Utopia\Response;
use Appwrite\Utopia\Response\Model;
class Rule extends Model
{
public function __construct()
{
$this
->addRule('$id', [
'type' => 'string',
'description' => 'Rule ID.',
'example' => '5e5ea5c16897e',
])
->addRule('$collection', [ // TODO remove this from public response
'type' => 'string',
'description' => 'Rule Collection.',
'example' => '5e5e66c16897e',
])
->addRule('type', [
'type' => 'string',
'description' => 'Rule type. Possible values: ',
'example' => 'title',
])
->addRule('key', [
'type' => 'string',
'description' => 'Rule key.',
'example' => 'title',
])
->addRule('label', [
'type' => 'string',
'description' => 'Rule label.',
'example' => 'Title',
])
->addRule('default', [ // TODO should be of mixed types
'type' => 'string',
'description' => 'Rule default value.',
'example' => 'Movie Name',
'default' => '',
])
->addRule('array', [
'type' => 'boolean',
'description' => 'Is array?',
'example' => false,
])
->addRule('required', [
'type' => 'boolean',
'description' => 'Is required?',
'example' => true,
])
->addRule('list', [
'type' => 'string',
'description' => 'List of allowed values',
'array' => true,
'default' => [],
'example' => ['5e5ea5c168099'],
])
;
}
/**
* Get Name
*
* @return string
*/
public function getName():string
{
return 'Rule';
}
/**
* Get Collection
*
* @return string
*/
public function getType():string
{
return Response::MODEL_RULE;
}
}