Skip to content

Commit 2972fc0

Browse files
Fix additional method responses
1 parent 31ee845 commit 2972fc0

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

src/Spec/Swagger2.php

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -300,22 +300,27 @@ public function getMethods($service)
300300
$duplicatedMethod['x-appwrite']['method'] = $additionalMethod['name'];
301301

302302
// Update Response
303-
$responses = $duplicatedMethod['responses'];
303+
$responses = $additionalMethod['responses'];
304304
$convertedResponse = [];
305305

306-
foreach ($responses as $code => $desc) {
307-
if (!isset($desc['schema']) || !isset($desc['schema']['x-oneOf'])) {
308-
continue;
309-
}
310-
311-
foreach ($desc['schema']['x-oneOf'] as $oneOf) {
312-
if (!isset($oneOf['$ref']) || !str_ends_with($oneOf['$ref'], $additionalMethod['response'])) {
306+
foreach ($responses as $desc) {
307+
$code = $desc['code'];
308+
if (isset($desc['model'])) {
309+
if (\is_array($desc['model'])) {
310+
$convertedResponse[$code] = [
311+
'schema' => [
312+
'x-oneOf' => \array_map(fn($model) => [
313+
'$ref' => $model,
314+
], $desc['model']),
315+
],
316+
];
313317
continue;
314318
}
315319

316320
$convertedResponse[$code] = [
317-
'description' => $desc['description'],
318-
'schema' => $oneOf,
321+
'schema' => [
322+
'$ref' => $desc['model'],
323+
],
319324
];
320325
}
321326
}

0 commit comments

Comments
 (0)