Skip to content

Generated PHP has strange if-statements #1

Description

@phil-davis

Example from https://github.com/owncloud/libre-graph-api-php/blob/main/lib/Api/TagsApi.php getTagsWithHttpInfo()

            switch($statusCode) {
            
                case 200:
                    if ('\OpenAPI\Client\Model\CollectionOfTags' === '\SplFileObject') {
                        $content = $response->getBody(); //stream goes to serializer
                    } else {
                        $content = (string) $response->getBody();
                        if ('\OpenAPI\Client\Model\CollectionOfTags' !== 'string') {
                            $content = json_decode($content);
                        }
                    }

                    return [
                        ObjectSerializer::deserialize($content, '\OpenAPI\Client\Model\CollectionOfTags', []),
                        $response->getStatusCode(),
                        $response->getHeaders()
                    ];
            
            
                default:
                    if ('\OpenAPI\Client\Model\OdataError' === '\SplFileObject') {
                        $content = $response->getBody(); //stream goes to serializer
                    } else {
                        $content = (string) $response->getBody();
                        if ('\OpenAPI\Client\Model\OdataError' !== 'string') {
                            $content = json_decode($content);
                        }
                    }

                    return [
                        ObjectSerializer::deserialize($content, '\OpenAPI\Client\Model\OdataError', []),
                        $response->getStatusCode(),
                        $response->getHeaders()
                    ];
            
            }

            $returnType = '\OpenAPI\Client\Model\CollectionOfTags';
            if ($returnType === '\SplFileObject') {
                $content = $response->getBody(); //stream goes to serializer
            } else {
                $content = (string) $response->getBody();
                if ($returnType !== 'string') {
                    $content = json_decode($content);
                }
            }

            return [
                ObjectSerializer::deserialize($content, $returnType, []),
                $response->getStatusCode(),
                $response->getHeaders()
            ];

Note: the first PHP was generated by owncloud/libre-graph-api#113

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions