diff --git a/src/Appwrite/SDK/Specification/Format/OpenAPI3.php b/src/Appwrite/SDK/Specification/Format/OpenAPI3.php index 4bee70f848..ad384f0dd3 100644 --- a/src/Appwrite/SDK/Specification/Format/OpenAPI3.php +++ b/src/Appwrite/SDK/Specification/Format/OpenAPI3.php @@ -932,10 +932,11 @@ class OpenAPI3 extends Format } if ($items) { if (!empty($rule['nestedModel']) && !$rule['array']) { - unset($output['components']['schemas'][$model->getType()]['properties'][$name]['type']); + $existing = $output['components']['schemas'][$model->getType()]['properties'][$name]; + unset($existing['type']); $output['components']['schemas'][$model->getType()]['properties'][$name] = \array_merge( - $output['components']['schemas'][$model->getType()]['properties'][$name], - $items + $existing, + ['allOf' => [$items]] ); } else { $output['components']['schemas'][$model->getType()]['properties'][$name]['items'] = $items; diff --git a/src/Appwrite/SDK/Specification/Format/Swagger2.php b/src/Appwrite/SDK/Specification/Format/Swagger2.php index 0bce4df6c4..654f238dd2 100644 --- a/src/Appwrite/SDK/Specification/Format/Swagger2.php +++ b/src/Appwrite/SDK/Specification/Format/Swagger2.php @@ -925,10 +925,11 @@ class Swagger2 extends Format } if ($items) { if (!empty($rule['nestedModel']) && !$rule['array']) { - unset($output['definitions'][$model->getType()]['properties'][$name]['type']); + $existing = $output['definitions'][$model->getType()]['properties'][$name]; + unset($existing['type']); $output['definitions'][$model->getType()]['properties'][$name] = \array_merge( - $output['definitions'][$model->getType()]['properties'][$name], - $items + $existing, + ['allOf' => [$items]] ); } else { $output['definitions'][$model->getType()]['properties'][$name]['items'] = $items;