Skip to content

Commit

Permalink
Fix additional method responses
Browse files Browse the repository at this point in the history
  • Loading branch information
PineappleIOnic committed Jan 30, 2025
1 parent 31ee845 commit 2972fc0
Showing 1 changed file with 15 additions and 10 deletions.
25 changes: 15 additions & 10 deletions src/Spec/Swagger2.php
Original file line number Diff line number Diff line change
Expand Up @@ -300,22 +300,27 @@ public function getMethods($service)
$duplicatedMethod['x-appwrite']['method'] = $additionalMethod['name'];

// Update Response
$responses = $duplicatedMethod['responses'];
$responses = $additionalMethod['responses'];
$convertedResponse = [];

foreach ($responses as $code => $desc) {
if (!isset($desc['schema']) || !isset($desc['schema']['x-oneOf'])) {
continue;
}

foreach ($desc['schema']['x-oneOf'] as $oneOf) {
if (!isset($oneOf['$ref']) || !str_ends_with($oneOf['$ref'], $additionalMethod['response'])) {
foreach ($responses as $desc) {
$code = $desc['code'];
if (isset($desc['model'])) {
if (\is_array($desc['model'])) {
$convertedResponse[$code] = [
'schema' => [
'x-oneOf' => \array_map(fn($model) => [
'$ref' => $model,
], $desc['model']),
],
];
continue;
}

$convertedResponse[$code] = [
'description' => $desc['description'],
'schema' => $oneOf,
'schema' => [
'$ref' => $desc['model'],
],
];
}
}
Expand Down

0 comments on commit 2972fc0

Please sign in to comment.