private function getPathOperation(string $operationName, array $operation, string $method, bool $collection, string $resourceClass, ResourceMetadata $resourceMetadata, array $mimeTypes, \ArrayObject $definitions) : \ArrayObject
{
$pathOperation = new \ArrayObject($operation['swagger_context'] ?? []);
$resourceShortName = $resourceMetadata->getShortName();
$pathOperation['tags'] ?? ($pathOperation['tags'] = [$resourceShortName]);
$pathOperation['operationId'] ?? ($pathOperation['operationId'] = lcfirst($operationName) . ucfirst($resourceShortName) . ucfirst($collection ? 'collection' : 'item'));
switch ($method) {
case 'GET':
return $this->updateGetOperation($pathOperation, $mimeTypes, $collection, $resourceMetadata, $resourceClass, $resourceShortName, $operationName, $definitions);
case 'POST':
return $this->updatePostOperation($pathOperation, $mimeTypes, $collection, $resourceMetadata, $resourceClass, $resourceShortName, $operationName, $definitions);
case 'PUT':
return $this->updatePutOperation($pathOperation, $mimeTypes, $collection, $resourceMetadata, $resourceClass, $resourceShortName, $operationName, $definitions);
case 'DELETE':
return $this->updateDeleteOperation($pathOperation, $resourceShortName);
}
return $pathOperation;
}