@@ -390,13 +390,7 @@ private function updateGetOperation(bool $v3, \ArrayObject $pathOperation, array
390
390
391
391
$ pathOperation ['summary ' ] ?? $ pathOperation ['summary ' ] = sprintf ('Retrieves a %s resource. ' , $ resourceShortName );
392
392
393
- $ parameter = [
394
- 'name ' => 'id ' ,
395
- 'in ' => 'path ' ,
396
- 'required ' => true ,
397
- ];
398
- $ v3 ? $ parameter ['schema ' ] = ['type ' => 'string ' ] : $ parameter ['type ' ] = 'string ' ;
399
- $ pathOperation ['parameters ' ] ?? $ pathOperation ['parameters ' ] = [$ parameter ];
393
+ $ pathOperation = $ this ->addItemOperationParameters ($ v3 , $ pathOperation );
400
394
401
395
$ successResponse = ['description ' => sprintf ('%s resource response ' , $ resourceShortName )];
402
396
if ($ responseDefinitionKey ) {
@@ -424,6 +418,11 @@ private function updatePostOperation(bool $v3, \ArrayObject $pathOperation, arra
424
418
425
419
$ pathOperation ['summary ' ] ?? $ pathOperation ['summary ' ] = sprintf ('Creates a %s resource. ' , $ resourceShortName );
426
420
421
+ $ userDefinedParameters = $ pathOperation ['parameters ' ] ?? null ;
422
+ if (OperationType::ITEM === $ operationType ) {
423
+ $ pathOperation = $ this ->addItemOperationParameters ($ v3 , $ pathOperation );
424
+ }
425
+
427
426
$ responseDefinitionKey = false ;
428
427
$ outputMetadata = $ resourceMetadata ->getTypedOperationAttribute ($ operationType , $ operationName , 'output ' , ['class ' => $ resourceClass ], true );
429
428
if (null !== $ outputClass = $ outputMetadata ['class ' ] ?? null ) {
@@ -460,12 +459,12 @@ private function updatePostOperation(bool $v3, \ArrayObject $pathOperation, arra
460
459
'description ' => sprintf ('The new %s resource ' , $ resourceShortName ),
461
460
];
462
461
} else {
463
- $ pathOperation [ ' parameters ' ] ?? $ pathOperation ['parameters ' ] = [ [
462
+ $ userDefinedParameters ?? $ pathOperation ['parameters ' ][] = [
464
463
'name ' => lcfirst ($ resourceShortName ),
465
464
'in ' => 'body ' ,
466
465
'description ' => sprintf ('The new %s resource ' , $ resourceShortName ),
467
466
'schema ' => ['$ref ' => sprintf ('#/definitions/%s ' , $ requestDefinitionKey )],
468
- ]] ;
467
+ ];
469
468
}
470
469
471
470
return $ pathOperation ;
@@ -480,13 +479,7 @@ private function updatePutOperation(bool $v3, \ArrayObject $pathOperation, array
480
479
481
480
$ pathOperation ['summary ' ] ?? $ pathOperation ['summary ' ] = sprintf ('Replaces the %s resource. ' , $ resourceShortName );
482
481
483
- $ parameter = [
484
- 'name ' => 'id ' ,
485
- 'in ' => 'path ' ,
486
- 'required ' => true ,
487
- ];
488
- $ v3 ? $ parameter ['schema ' ] = ['type ' => 'string ' ] : $ parameter ['type ' ] = 'string ' ;
489
- $ pathOperation ['parameters ' ] ?? $ pathOperation ['parameters ' ] = [$ parameter ];
482
+ $ pathOperation = $ this ->addItemOperationParameters ($ v3 , $ pathOperation );
490
483
491
484
$ responseDefinitionKey = false ;
492
485
$ outputMetadata = $ resourceMetadata ->getTypedOperationAttribute ($ operationType , $ operationName , 'output ' , ['class ' => $ resourceClass ], true );
@@ -540,13 +533,17 @@ private function updateDeleteOperation(bool $v3, \ArrayObject $pathOperation, st
540
533
'404 ' => ['description ' => 'Resource not found ' ],
541
534
];
542
535
536
+ return $ this ->addItemOperationParameters ($ v3 , $ pathOperation );
537
+ }
538
+
539
+ private function addItemOperationParameters (bool $ v3 , \ArrayObject $ pathOperation ): \ArrayObject
540
+ {
543
541
$ parameter = [
544
542
'name ' => 'id ' ,
545
543
'in ' => 'path ' ,
546
544
'required ' => true ,
547
545
];
548
546
$ v3 ? $ parameter ['schema ' ] = ['type ' => 'string ' ] : $ parameter ['type ' ] = 'string ' ;
549
-
550
547
$ pathOperation ['parameters ' ] ?? $ pathOperation ['parameters ' ] = [$ parameter ];
551
548
552
549
return $ pathOperation ;
0 commit comments