mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
Merge pull request #2857 from appwrite/feat-spec-nested-maps
Handle JSON rules as objects instead of strings
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -453,10 +453,14 @@ class OpenAPI3 extends Format
|
||||
|
||||
switch ($rule['type']) {
|
||||
case 'string':
|
||||
case 'json':
|
||||
$type = 'string';
|
||||
break;
|
||||
|
||||
case 'json':
|
||||
$type = 'object';
|
||||
$output['components']['schemas'][$model->getType()]['properties'][$name]['additionalProperties'] = true;
|
||||
break;
|
||||
|
||||
case 'integer':
|
||||
$type = 'integer';
|
||||
$format = 'int32';
|
||||
@@ -516,9 +520,6 @@ class OpenAPI3 extends Format
|
||||
$output['components']['schemas'][$model->getType()]['properties'][$name]['items']['format'] = $format;
|
||||
}
|
||||
|
||||
if($items) {
|
||||
$output['components']['schemas'][$model->getType()]['properties'][$name]['items'] = $items;
|
||||
}
|
||||
} else {
|
||||
$output['components']['schemas'][$model->getType()]['properties'][$name] = [
|
||||
'type' => $type,
|
||||
@@ -530,9 +531,9 @@ class OpenAPI3 extends Format
|
||||
$output['components']['schemas'][$model->getType()]['properties'][$name]['format'] = $format;
|
||||
}
|
||||
|
||||
if($items) {
|
||||
$output['components']['schemas'][$model->getType()]['properties'][$name]['items'] = $items;
|
||||
}
|
||||
}
|
||||
if($items) {
|
||||
$output['components']['schemas'][$model->getType()]['properties'][$name]['items'] = $items;
|
||||
}
|
||||
if (!in_array($name, $required)) {
|
||||
$output['components']['schemas'][$model->getType()]['properties'][$name]['nullable'] = true;
|
||||
|
||||
@@ -444,10 +444,14 @@ class Swagger2 extends Format
|
||||
|
||||
switch ($rule['type']) {
|
||||
case 'string':
|
||||
case 'json':
|
||||
$type = 'string';
|
||||
break;
|
||||
|
||||
case 'json':
|
||||
$type = 'object';
|
||||
$output['definitions'][$model->getType()]['properties'][$name]['additionalProperties'] = true;
|
||||
break;
|
||||
|
||||
case 'integer':
|
||||
$type = 'integer';
|
||||
$format = 'int32';
|
||||
@@ -469,7 +473,7 @@ class Swagger2 extends Format
|
||||
|
||||
default:
|
||||
$type = 'object';
|
||||
$rule['type'] = ($rule['type']) ? $rule['type'] : 'none';
|
||||
$rule['type'] = ($rule['type']) ?: 'none';
|
||||
|
||||
if(\is_array($rule['type'])) {
|
||||
if($rule['array']) {
|
||||
@@ -508,14 +512,10 @@ class Swagger2 extends Format
|
||||
$output['definitions'][$model->getType()]['properties'][$name]['items']['format'] = $format;
|
||||
}
|
||||
|
||||
if($items) {
|
||||
$output['definitions'][$model->getType()]['properties'][$name]['items'] = $items;
|
||||
}
|
||||
} else {
|
||||
$output['definitions'][$model->getType()]['properties'][$name] = [
|
||||
'type' => $type,
|
||||
'description' => $rule['description'] ?? '',
|
||||
//'default' => $rule['default'] ?? null,
|
||||
'x-example' => $rule['example'] ?? null,
|
||||
];
|
||||
|
||||
@@ -523,9 +523,9 @@ class Swagger2 extends Format
|
||||
$output['definitions'][$model->getType()]['properties'][$name]['format'] = $format;
|
||||
}
|
||||
|
||||
if($items) {
|
||||
$output['definitions'][$model->getType()]['properties'][$name]['items'] = $items;
|
||||
}
|
||||
}
|
||||
if($items) {
|
||||
$output['definitions'][$model->getType()]['properties'][$name]['items'] = $items;
|
||||
}
|
||||
if (!in_array($name, $required)) {
|
||||
$output['definitions'][$model->getType()]['properties'][$name]['x-nullable'] = true;
|
||||
|
||||
Reference in New Issue
Block a user