mirror of
https://github.com/appwrite/appwrite
synced 2026-05-24 09:28:40 +00:00
Merge branch '1.8.x' into fix-10612-validate-relationship-document-id
This commit is contained in:
commit
845aa5c363
4 changed files with 156 additions and 156 deletions
|
|
@ -1228,7 +1228,7 @@ App::error()
|
|||
}
|
||||
|
||||
switch ($class) {
|
||||
case 'Utopia\Exception':
|
||||
case Utopia\Exception::class:
|
||||
$error = new AppwriteException(AppwriteException::GENERAL_UNKNOWN, $message, $code, $error);
|
||||
switch ($code) {
|
||||
case 400:
|
||||
|
|
@ -1239,10 +1239,10 @@ App::error()
|
|||
break;
|
||||
}
|
||||
break;
|
||||
case 'Utopia\Database\Exception\Authorization':
|
||||
case Utopia\Database\Exception\Authorization::class:
|
||||
$error = new AppwriteException(AppwriteException::USER_UNAUTHORIZED);
|
||||
break;
|
||||
case 'Utopia\Database\Exception\Timeout':
|
||||
case Utopia\Database\Exception\Timeout::class:
|
||||
$error = new AppwriteException(AppwriteException::DATABASE_TIMEOUT, previous: $error);
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -269,59 +269,59 @@ class Mapper
|
|||
}
|
||||
|
||||
switch ((!empty($validator)) ? $validator::class : '') {
|
||||
case 'Appwrite\Auth\Validator\Password':
|
||||
case 'Appwrite\Event\Validator\Event':
|
||||
case 'Appwrite\Event\Validator\FunctionEvent':
|
||||
case 'Appwrite\Network\Validator\CNAME':
|
||||
case 'Appwrite\Network\Validator\Email':
|
||||
case 'Appwrite\Network\Validator\Redirect':
|
||||
case 'Appwrite\Network\Validator\DNS':
|
||||
case 'Appwrite\Network\Validator\Origin':
|
||||
case 'Appwrite\Task\Validator\Cron':
|
||||
case 'Appwrite\Utopia\Database\Validator\CustomId':
|
||||
case 'Utopia\Database\Validator\Key':
|
||||
case 'Utopia\Database\Validator\UID':
|
||||
case 'Utopia\Validator\Domain':
|
||||
case 'Utopia\Validator\HexColor':
|
||||
case 'Utopia\Validator\Host':
|
||||
case 'Utopia\Validator\IP':
|
||||
case 'Utopia\Validator\Origin':
|
||||
case 'Utopia\Validator\Text':
|
||||
case 'Utopia\Validator\URL':
|
||||
case 'Utopia\Validator\WhiteList':
|
||||
case \Appwrite\Auth\Validator\Password::class:
|
||||
case \Appwrite\Event\Validator\Event::class:
|
||||
case \Appwrite\Event\Validator\FunctionEvent::class:
|
||||
case \Appwrite\Network\Validator\CNAME::class:
|
||||
case \Appwrite\Network\Validator\Email::class:
|
||||
case \Appwrite\Network\Validator\Redirect::class:
|
||||
case \Appwrite\Network\Validator\DNS::class:
|
||||
case \Appwrite\Network\Validator\Origin::class:
|
||||
case \Appwrite\Task\Validator\Cron::class:
|
||||
case \Appwrite\Utopia\Database\Validator\CustomId::class:
|
||||
case \Utopia\Database\Validator\Key::class:
|
||||
case \Utopia\Database\Validator\UID::class:
|
||||
case \Utopia\Validator\Domain::class:
|
||||
case \Utopia\Validator\HexColor::class:
|
||||
case \Utopia\Validator\Host::class:
|
||||
case \Utopia\Validator\IP::class:
|
||||
case \Utopia\Validator\Origin::class:
|
||||
case \Utopia\Validator\Text::class:
|
||||
case \Utopia\Validator\URL::class:
|
||||
case \Utopia\Validator\WhiteList::class:
|
||||
default:
|
||||
$type = Type::string();
|
||||
break;
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Attributes':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Base':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Buckets':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Tables':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Collections':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Columns':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Databases':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Deployments':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Executions':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Files':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Functions':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Indexes':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Installations':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Memberships':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Projects':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Rules':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Teams':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Users':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Variables':
|
||||
case 'Utopia\Database\Validator\Authorization':
|
||||
case 'Utopia\Database\Validator\Permissions':
|
||||
case 'Utopia\Database\Validator\Queries':
|
||||
case 'Utopia\Database\Validator\Queries\Documents':
|
||||
case 'Utopia\Database\Validator\Roles':
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Attributes::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Base::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Buckets::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Tables::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Collections::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Columns::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Databases::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Deployments::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Executions::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Files::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Functions::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Indexes::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Installations::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Memberships::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Projects::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Rules::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Teams::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Users::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Variables::class:
|
||||
case \Utopia\Database\Validator\Authorization::class:
|
||||
case \Utopia\Database\Validator\Permissions::class:
|
||||
case \Utopia\Database\Validator\Queries::class:
|
||||
case \Utopia\Database\Validator\Queries\Documents::class:
|
||||
case \Utopia\Database\Validator\Roles::class:
|
||||
$type = Type::listOf(Type::string());
|
||||
break;
|
||||
case 'Utopia\Validator\Boolean':
|
||||
case \Utopia\Validator\Boolean::class:
|
||||
$type = Type::boolean();
|
||||
break;
|
||||
case 'Utopia\Validator\ArrayList':
|
||||
case \Utopia\Validator\ArrayList::class:
|
||||
$type = Type::listOf(self::param(
|
||||
$utopia,
|
||||
$validator->getValidator(),
|
||||
|
|
@ -329,11 +329,11 @@ class Mapper
|
|||
$injections
|
||||
));
|
||||
break;
|
||||
case 'Utopia\Validator\Integer':
|
||||
case 'Utopia\Validator\Numeric':
|
||||
case \Utopia\Validator\Integer::class:
|
||||
case \Utopia\Validator\Numeric::class:
|
||||
$type = Type::int();
|
||||
break;
|
||||
case 'Utopia\Validator\Range':
|
||||
case \Utopia\Validator\Range::class:
|
||||
// Check if the Range validator is for float or integer
|
||||
if ($validator instanceof \Utopia\Validator\Range && $validator->getType() === \Utopia\Validator\Range::TYPE_FLOAT) {
|
||||
$type = Type::float();
|
||||
|
|
@ -341,16 +341,16 @@ class Mapper
|
|||
$type = Type::int();
|
||||
}
|
||||
break;
|
||||
case 'Utopia\Validator\FloatValidator':
|
||||
case \Utopia\Validator\FloatValidator::class:
|
||||
$type = Type::float();
|
||||
break;
|
||||
case 'Utopia\Validator\Assoc':
|
||||
case \Utopia\Validator\Assoc::class:
|
||||
$type = Types::assoc();
|
||||
break;
|
||||
case 'Utopia\Validator\JSON':
|
||||
case \Utopia\Validator\JSON::class:
|
||||
$type = Types::json();
|
||||
break;
|
||||
case 'Utopia\Storage\Validator\File':
|
||||
case \Utopia\Storage\Validator\File::class:
|
||||
$type = Types::inputFile();
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -392,51 +392,51 @@ class OpenAPI3 extends Format
|
|||
: '';
|
||||
|
||||
switch ($base) {
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Base':
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Base::class:
|
||||
$class = $base;
|
||||
break;
|
||||
}
|
||||
|
||||
if ($class === 'Utopia\Validator\AnyOf') {
|
||||
if ($class === \Utopia\Validator\AnyOf::class) {
|
||||
$validator = $param['validator']->getValidators()[0];
|
||||
$class = \get_class($validator);
|
||||
}
|
||||
|
||||
$array = false;
|
||||
if ($class === 'Utopia\Validator\ArrayList') {
|
||||
if ($class === \Utopia\Validator\ArrayList::class) {
|
||||
$array = true;
|
||||
$subclass = \get_class($validator->getValidator());
|
||||
switch ($subclass) {
|
||||
case 'Appwrite\Utopia\Database\Validator\Operation':
|
||||
case 'Utopia\Validator\WhiteList':
|
||||
case \Appwrite\Utopia\Database\Validator\Operation::class:
|
||||
case \Utopia\Validator\WhiteList::class:
|
||||
$class = $subclass;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
switch ($class) {
|
||||
case 'Utopia\Database\Validator\UID':
|
||||
case 'Utopia\Validator\Text':
|
||||
case \Utopia\Database\Validator\UID::class:
|
||||
case \Utopia\Validator\Text::class:
|
||||
$node['schema']['type'] = $validator->getType();
|
||||
$node['schema']['x-example'] = ($param['example'] ?? '') ?: '<' . \strtoupper(Template::fromCamelCaseToSnake($node['name'])) . '>';
|
||||
break;
|
||||
case 'Utopia\Validator\Boolean':
|
||||
case \Utopia\Validator\Boolean::class:
|
||||
$node['schema']['type'] = $validator->getType();
|
||||
$node['schema']['x-example'] = ($param['example'] ?? '') ?: false;
|
||||
break;
|
||||
case 'Appwrite\Utopia\Database\Validator\CustomId':
|
||||
case \Appwrite\Utopia\Database\Validator\CustomId::class:
|
||||
if ($sdk->getType() === MethodType::UPLOAD) {
|
||||
$node['schema']['x-upload-id'] = true;
|
||||
}
|
||||
$node['schema']['type'] = $validator->getType();
|
||||
$node['schema']['x-example'] = ($param['example'] ?? '') ?: '<' . \strtoupper(Template::fromCamelCaseToSnake($node['name'])) . '>';
|
||||
break;
|
||||
case 'Utopia\Database\Validator\DatetimeValidator':
|
||||
case \Utopia\Database\Validator\DatetimeValidator::class:
|
||||
$node['schema']['type'] = $validator->getType();
|
||||
$node['schema']['format'] = 'datetime';
|
||||
$node['schema']['x-example'] = ($param['example'] ?? '') ?: Model::TYPE_DATETIME_EXAMPLE;
|
||||
break;
|
||||
case 'Utopia\Database\Validator\Spatial':
|
||||
case \Utopia\Database\Validator\Spatial::class:
|
||||
/** @var Spatial $validator */
|
||||
$node['schema']['type'] = 'array';
|
||||
$node['schema']['items'] = [
|
||||
|
|
@ -450,31 +450,31 @@ class OpenAPI3 extends Format
|
|||
Database::VAR_POLYGON => '[[[1, 2], [3, 4], [5, 6], [1, 2]]]',
|
||||
};
|
||||
break;
|
||||
case 'Appwrite\Network\Validator\Email':
|
||||
case \Appwrite\Network\Validator\Email::class:
|
||||
$node['schema']['type'] = $validator->getType();
|
||||
$node['schema']['format'] = 'email';
|
||||
$node['schema']['x-example'] = ($param['example'] ?? '') ?: 'email@example.com';
|
||||
break;
|
||||
case 'Utopia\Validator\Host':
|
||||
case 'Utopia\Validator\URL':
|
||||
case 'Appwrite\Network\Validator\Redirect':
|
||||
case \Utopia\Validator\Host::class:
|
||||
case \Utopia\Validator\URL::class:
|
||||
case \Appwrite\Network\Validator\Redirect::class:
|
||||
$node['schema']['type'] = $validator->getType();
|
||||
$node['schema']['format'] = 'url';
|
||||
$node['schema']['x-example'] = ($param['example'] ?? '') ?: 'https://example.com';
|
||||
break;
|
||||
case 'Utopia\Validator\JSON':
|
||||
case 'Utopia\Validator\Mock':
|
||||
case 'Utopia\Validator\Assoc':
|
||||
case \Utopia\Validator\JSON::class:
|
||||
case \Utopia\Validator\Mock::class:
|
||||
case \Utopia\Validator\Assoc::class:
|
||||
$param['default'] = (empty($param['default'])) ? new \stdClass() : $param['default'];
|
||||
$node['schema']['type'] = 'object';
|
||||
$node['schema']['x-example'] = ($param['example'] ?? '') ?: '{}';
|
||||
break;
|
||||
case 'Utopia\Storage\Validator\File':
|
||||
case \Utopia\Storage\Validator\File::class:
|
||||
$consumes = ['multipart/form-data'];
|
||||
$node['schema']['type'] = $validator->getType();
|
||||
$node['schema']['format'] = 'binary';
|
||||
break;
|
||||
case 'Utopia\Validator\ArrayList':
|
||||
case \Utopia\Validator\ArrayList::class:
|
||||
/** @var ArrayList $validator */
|
||||
$node['schema']['type'] = 'array';
|
||||
$node['schema']['items'] = [
|
||||
|
|
@ -484,92 +484,92 @@ class OpenAPI3 extends Format
|
|||
$node['schema']['x-example'] = $param['example'];
|
||||
}
|
||||
break;
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Base':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Columns':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Attributes':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Buckets':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Tables':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Collections':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Databases':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Deployments':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Executions':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Files':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Functions':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Identities':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Indexes':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Installations':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Memberships':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Messages':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Migrations':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Projects':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Providers':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Rules':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Subscribers':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Targets':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Teams':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Topics':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Users':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Variables':
|
||||
case 'Utopia\Database\Validator\Queries':
|
||||
case 'Utopia\Database\Validator\Queries\Document':
|
||||
case 'Utopia\Database\Validator\Queries\Documents':
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Base::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Columns::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Attributes::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Buckets::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Tables::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Collections::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Databases::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Deployments::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Executions::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Files::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Functions::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Identities::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Indexes::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Installations::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Memberships::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Messages::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Migrations::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Projects::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Providers::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Rules::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Subscribers::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Targets::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Teams::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Topics::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Users::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Variables::class:
|
||||
case \Utopia\Database\Validator\Queries::class:
|
||||
case \Utopia\Database\Validator\Queries\Document::class:
|
||||
case \Utopia\Database\Validator\Queries\Documents::class:
|
||||
$node['schema']['type'] = 'array';
|
||||
$node['schema']['items'] = [
|
||||
'type' => 'string',
|
||||
];
|
||||
break;
|
||||
case 'Utopia\Database\Validator\Permissions':
|
||||
case \Utopia\Database\Validator\Permissions::class:
|
||||
$node['schema']['type'] = $validator->getType();
|
||||
$node['schema']['items'] = [
|
||||
'type' => 'string',
|
||||
];
|
||||
$node['schema']['x-example'] = ($param['example'] ?? '') ?: '["' . Permission::read(Role::any()) . '"]';
|
||||
break;
|
||||
case 'Utopia\Database\Validator\Roles':
|
||||
case \Utopia\Database\Validator\Roles::class:
|
||||
$node['schema']['type'] = $validator->getType();
|
||||
$node['schema']['items'] = [
|
||||
'type' => 'string',
|
||||
];
|
||||
$node['schema']['x-example'] = ($param['example'] ?? '') ?: '["' . Role::any()->toString() . '"]';
|
||||
break;
|
||||
case 'Appwrite\Auth\Validator\Password':
|
||||
case \Appwrite\Auth\Validator\Password::class:
|
||||
$node['schema']['type'] = $validator->getType();
|
||||
$node['schema']['format'] = 'password';
|
||||
$node['schema']['x-example'] = ($param['example'] ?? '') ?: 'password';
|
||||
break;
|
||||
case 'Appwrite\Auth\Validator\Phone':
|
||||
case \Appwrite\Auth\Validator\Phone::class:
|
||||
$node['schema']['type'] = $validator->getType();
|
||||
$node['schema']['format'] = 'phone';
|
||||
$node['schema']['x-example'] = ($param['example'] ?? '') ?: '+12065550100'; // In the US, 555 is reserved like example.com
|
||||
break;
|
||||
case 'Utopia\Validator\Range':
|
||||
case \Utopia\Validator\Range::class:
|
||||
/** @var Range $validator */
|
||||
$node['schema']['type'] = $validator->getType() === Validator::TYPE_FLOAT ? 'number' : $validator->getType();
|
||||
$node['schema']['format'] = $validator->getType() == Validator::TYPE_INTEGER ? 'int32' : 'float';
|
||||
$node['schema']['x-example'] = ($param['example'] ?? '') ?: $validator->getMin();
|
||||
break;
|
||||
case 'Utopia\Validator\Integer':
|
||||
case \Utopia\Validator\Integer::class:
|
||||
$node['schema']['type'] = $validator->getType();
|
||||
$node['schema']['format'] = $validator->getFormat();
|
||||
if (!empty($param['example'])) {
|
||||
$node['schema']['x-example'] = $param['example'];
|
||||
}
|
||||
break;
|
||||
case 'Utopia\Validator\Numeric':
|
||||
case 'Utopia\Validator\FloatValidator':
|
||||
case \Utopia\Validator\Numeric::class:
|
||||
case \Utopia\Validator\FloatValidator::class:
|
||||
$node['schema']['type'] = 'number';
|
||||
$node['schema']['format'] = 'float';
|
||||
if (!empty($param['example'])) {
|
||||
$node['schema']['x-example'] = $param['example'];
|
||||
}
|
||||
break;
|
||||
case 'Utopia\Validator\Length':
|
||||
case \Utopia\Validator\Length::class:
|
||||
$node['schema']['type'] = $validator->getType();
|
||||
if (!empty($param['example'])) {
|
||||
$node['schema']['x-example'] = $param['example'];
|
||||
}
|
||||
break;
|
||||
case 'Utopia\Validator\WhiteList':
|
||||
case \Utopia\Validator\WhiteList::class:
|
||||
if ($array) {
|
||||
$validator = $validator->getValidator();
|
||||
|
||||
|
|
@ -687,11 +687,11 @@ class OpenAPI3 extends Format
|
|||
}
|
||||
}
|
||||
break;
|
||||
case 'Appwrite\Utopia\Database\Validator\CompoundUID':
|
||||
case \Appwrite\Utopia\Database\Validator\CompoundUID::class:
|
||||
$node['schema']['type'] = $validator->getType();
|
||||
$node['schema']['x-example'] = ($param['example'] ?? '') ?: '<ID1:ID2>';
|
||||
break;
|
||||
case 'Appwrite\Utopia\Database\Validator\Operation':
|
||||
case \Appwrite\Utopia\Database\Validator\Operation::class:
|
||||
if ($array) {
|
||||
$validator = $validator->getValidator();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -397,51 +397,51 @@ class Swagger2 extends Format
|
|||
: '';
|
||||
|
||||
switch ($base) {
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Base':
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Base::class:
|
||||
$class = $base;
|
||||
break;
|
||||
}
|
||||
|
||||
if ($class === 'Utopia\Validator\AnyOf') {
|
||||
if ($class === \Utopia\Validator\AnyOf::class) {
|
||||
$validator = $param['validator']->getValidators()[0];
|
||||
$class = \get_class($validator);
|
||||
}
|
||||
|
||||
$array = false;
|
||||
if ($class === 'Utopia\Validator\ArrayList') {
|
||||
if ($class === \Utopia\Validator\ArrayList::class) {
|
||||
$array = true;
|
||||
$subclass = \get_class($validator->getValidator());
|
||||
switch ($subclass) {
|
||||
case 'Appwrite\Utopia\Database\Validator\Operation':
|
||||
case 'Utopia\Validator\WhiteList':
|
||||
case \Appwrite\Utopia\Database\Validator\Operation::class:
|
||||
case \Utopia\Validator\WhiteList::class:
|
||||
$class = $subclass;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
switch ($class) {
|
||||
case 'Utopia\Validator\Text':
|
||||
case 'Utopia\Database\Validator\UID':
|
||||
case \Utopia\Validator\Text::class:
|
||||
case \Utopia\Database\Validator\UID::class:
|
||||
$node['type'] = $validator->getType();
|
||||
$node['x-example'] = ($param['example'] ?? '') ?: '<' . \strtoupper(Template::fromCamelCaseToSnake($node['name'])) . '>';
|
||||
break;
|
||||
case 'Utopia\Validator\Boolean':
|
||||
case \Utopia\Validator\Boolean::class:
|
||||
$node['type'] = $validator->getType();
|
||||
$node['x-example'] = ($param['example'] ?? '') ?: false;
|
||||
break;
|
||||
case 'Appwrite\Utopia\Database\Validator\CustomId':
|
||||
case \Appwrite\Utopia\Database\Validator\CustomId::class:
|
||||
if ($sdk->getType() === MethodType::UPLOAD) {
|
||||
$node['x-upload-id'] = true;
|
||||
}
|
||||
$node['type'] = $validator->getType();
|
||||
$node['x-example'] = ($param['example'] ?? '') ?: '<' . \strtoupper(Template::fromCamelCaseToSnake($node['name'])) . '>';
|
||||
break;
|
||||
case 'Utopia\Database\Validator\DatetimeValidator':
|
||||
case \Utopia\Database\Validator\DatetimeValidator::class:
|
||||
$node['type'] = $validator->getType();
|
||||
$node['format'] = 'datetime';
|
||||
$node['x-example'] = ($param['example'] ?? '') ?: Model::TYPE_DATETIME_EXAMPLE;
|
||||
break;
|
||||
case 'Utopia\Database\Validator\Spatial':
|
||||
case \Utopia\Database\Validator\Spatial::class:
|
||||
/** @var Spatial $validator */
|
||||
$node['type'] = 'array';
|
||||
$node['schema']['items'] = [
|
||||
|
|
@ -455,19 +455,19 @@ class Swagger2 extends Format
|
|||
Database::VAR_POLYGON => '[[[1, 2], [3, 4], [5, 6], [1, 2]]]',
|
||||
};
|
||||
break;
|
||||
case 'Appwrite\Network\Validator\Email':
|
||||
case \Appwrite\Network\Validator\Email::class:
|
||||
$node['type'] = $validator->getType();
|
||||
$node['format'] = 'email';
|
||||
$node['x-example'] = ($param['example'] ?? '') ?: 'email@example.com';
|
||||
break;
|
||||
case 'Utopia\Validator\Host':
|
||||
case 'Utopia\Validator\URL':
|
||||
case 'Appwrite\Network\Validator\Redirect':
|
||||
case \Utopia\Validator\Host::class:
|
||||
case \Utopia\Validator\URL::class:
|
||||
case \Appwrite\Network\Validator\Redirect::class:
|
||||
$node['type'] = $validator->getType();
|
||||
$node['format'] = 'url';
|
||||
$node['x-example'] = ($param['example'] ?? '') ?: 'https://example.com';
|
||||
break;
|
||||
case 'Utopia\Validator\ArrayList':
|
||||
case \Utopia\Validator\ArrayList::class:
|
||||
/** @var ArrayList $validator */
|
||||
$node['type'] = 'array';
|
||||
$node['collectionFormat'] = 'multi';
|
||||
|
|
@ -478,34 +478,34 @@ class Swagger2 extends Format
|
|||
$node['x-example'] = $param['example'];
|
||||
}
|
||||
break;
|
||||
case 'Utopia\Validator\JSON':
|
||||
case 'Utopia\Validator\Mock':
|
||||
case 'Utopia\Validator\Assoc':
|
||||
case \Utopia\Validator\JSON::class:
|
||||
case \Utopia\Validator\Mock::class:
|
||||
case \Utopia\Validator\Assoc::class:
|
||||
$node['type'] = 'object';
|
||||
$node['default'] = (empty($param['default'])) ? new \stdClass() : $param['default'];
|
||||
$node['x-example'] = ($param['example'] ?? '') ?: '{}';
|
||||
break;
|
||||
case 'Utopia\Storage\Validator\File':
|
||||
case \Utopia\Storage\Validator\File::class:
|
||||
$consumes = ['multipart/form-data'];
|
||||
$node['type'] = 'file';
|
||||
break;
|
||||
case 'Appwrite\Functions\Validator\Payload':
|
||||
case \Appwrite\Functions\Validator\Payload::class:
|
||||
$consumes = ['multipart/form-data'];
|
||||
$node['type'] = 'payload';
|
||||
break;
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Base':
|
||||
case 'Utopia\Database\Validator\Queries':
|
||||
case 'Utopia\Database\Validator\Queries\Document':
|
||||
case 'Utopia\Database\Validator\Queries\Documents':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Columns':
|
||||
case 'Appwrite\Utopia\Database\Validator\Queries\Tables':
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Base::class:
|
||||
case \Utopia\Database\Validator\Queries::class:
|
||||
case \Utopia\Database\Validator\Queries\Document::class:
|
||||
case \Utopia\Database\Validator\Queries\Documents::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Columns::class:
|
||||
case \Appwrite\Utopia\Database\Validator\Queries\Tables::class:
|
||||
$node['type'] = 'array';
|
||||
$node['collectionFormat'] = 'multi';
|
||||
$node['items'] = [
|
||||
'type' => 'string',
|
||||
];
|
||||
break;
|
||||
case 'Utopia\Database\Validator\Permissions':
|
||||
case \Utopia\Database\Validator\Permissions::class:
|
||||
$node['type'] = $validator->getType();
|
||||
$node['collectionFormat'] = 'multi';
|
||||
$node['items'] = [
|
||||
|
|
@ -513,7 +513,7 @@ class Swagger2 extends Format
|
|||
];
|
||||
$node['x-example'] = ($param['example'] ?? '') ?: '["' . Permission::read(Role::any()) . '"]';
|
||||
break;
|
||||
case 'Utopia\Database\Validator\Roles':
|
||||
case \Utopia\Database\Validator\Roles::class:
|
||||
$node['type'] = $validator->getType();
|
||||
$node['collectionFormat'] = 'multi';
|
||||
$node['items'] = [
|
||||
|
|
@ -521,44 +521,44 @@ class Swagger2 extends Format
|
|||
];
|
||||
$node['x-example'] = ($param['example'] ?? '') ?: '["' . Role::any()->toString() . '"]';
|
||||
break;
|
||||
case 'Appwrite\Auth\Validator\Password':
|
||||
case \Appwrite\Auth\Validator\Password::class:
|
||||
$node['type'] = $validator->getType();
|
||||
$node['format'] = 'password';
|
||||
$node['x-example'] = ($param['example'] ?? '') ?: 'password';
|
||||
break;
|
||||
case 'Appwrite\Auth\Validator\Phone':
|
||||
case \Appwrite\Auth\Validator\Phone::class:
|
||||
$node['type'] = $validator->getType();
|
||||
$node['format'] = 'phone';
|
||||
$node['x-example'] = ($param['example'] ?? '') ?: '+12065550100';
|
||||
break;
|
||||
case 'Utopia\Validator\Range':
|
||||
case \Utopia\Validator\Range::class:
|
||||
/** @var Range $validator */
|
||||
$node['type'] = $validator->getType() === Validator::TYPE_FLOAT ? 'number' : $validator->getType();
|
||||
$node['format'] = $validator->getType() == Validator::TYPE_INTEGER ? 'int32' : 'float';
|
||||
$node['x-example'] = ($param['example'] ?? '') ?: $validator->getMin();
|
||||
break;
|
||||
case 'Utopia\Validator\Integer':
|
||||
case \Utopia\Validator\Integer::class:
|
||||
$node['type'] = $validator->getType();
|
||||
$node['format'] = $validator->getFormat();
|
||||
if (!empty($param['example'])) {
|
||||
$node['x-example'] = $param['example'];
|
||||
}
|
||||
break;
|
||||
case 'Utopia\Validator\Numeric':
|
||||
case 'Utopia\Validator\FloatValidator':
|
||||
case \Utopia\Validator\Numeric::class:
|
||||
case \Utopia\Validator\FloatValidator::class:
|
||||
$node['type'] = 'number';
|
||||
$node['format'] = 'float';
|
||||
if (!empty($param['example'])) {
|
||||
$node['x-example'] = $param['example'];
|
||||
}
|
||||
break;
|
||||
case 'Utopia\Validator\Length':
|
||||
case \Utopia\Validator\Length::class:
|
||||
$node['type'] = $validator->getType();
|
||||
if (!empty($param['example'])) {
|
||||
$node['x-example'] = $param['example'];
|
||||
}
|
||||
break;
|
||||
case 'Utopia\Validator\WhiteList':
|
||||
case \Utopia\Validator\WhiteList::class:
|
||||
if ($array) {
|
||||
$validator = $validator->getValidator();
|
||||
|
||||
|
|
@ -665,11 +665,11 @@ class Swagger2 extends Format
|
|||
}
|
||||
}
|
||||
break;
|
||||
case 'Appwrite\Utopia\Database\Validator\CompoundUID':
|
||||
case \Appwrite\Utopia\Database\Validator\CompoundUID::class:
|
||||
$node['type'] = $validator->getType();
|
||||
$node['x-example'] = ($param['example'] ?? '') ?: '<ID1:ID2>';
|
||||
break;
|
||||
case 'Appwrite\Utopia\Database\Validator\Operation':
|
||||
case \Appwrite\Utopia\Database\Validator\Operation::class:
|
||||
if ($array) {
|
||||
$validator = $validator->getValidator();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue