Skip to content

Operation parameters generated in incorrect order #193

@dylangleason

Description

@dylangleason

My swagger document has the following API operation:

{
            "path":"/v1/createUser",
            "description":"Adds a new subaccount user to the current account",
            "operations":[
                {
                    "method":"GET",
                    "summary":"Adds a new subaccount user to the current account",
                    "nickname":"createUser",
                    "type":"Response",
                    "parameters":[
                        {
                            "paramType":"query",
                            "name":"access_token",
                            "type":"string",
                            "required":true,
                            "description":"Access token required to make the API call"
                        },
                        {
                            "paramType":"query",
                            "name":"username",
                            "type":"string",
                            "required":true,
                            "description":"Name of the subaccount user to create"
                        },
                        {
                            "paramType":"query",
                            "name":"destinationFolder",
                            "type":"string",
                            "required":true,
                            "description":"The user's home folder"
                        },
                        {
                            "paramType":"query",
                            "name":"email",
                            "type":"string",
                            "required":true,
                            "description":"The user's email address"
                        },
                        {
                            "paramType":"query",
                            "name":"password",
                            "type":"string",
                            "required":true,
                            "description":"The user's password"
                        },
                        {
                            "paramType":"query",
                            "name":"role",
                            "type":"string",
                            "required":true,
                            "description":"The user's role, i.e: 'user' or 'admin'"
                        },
                        {
                            "paramType":"query",
                            "name":"permissions",
                            "type":"array",
                            "required":true,
                            "description":"An array of permissions for the user. The following values are supported: upload, download, delete, modify, list, changePassword, share, notification",
                            "items":{
                                "type":"string"
                            }
                        },
                        {
                            "paramType":"query",
                            "name":"timeZone",
                            "type":"string",
                            "required":true,
                            "description":"The user's timezone, used for accurate time display within SWFT. See <a href='https://php.net/manual/en/timezones.php' target='blank'>this page</a> for allowed values",
                            "defaultValue":"America/Los_Angeles"
                        },
                        {
                            "paramType":"query",
                            "name":"nickname",
                            "type":"string",
                            "description":"The user's nickname"
                        },
                        {
                            "paramType":"query",
                            "name":"locked",
                            "type":"string",
                            "description":"If true, the user's account is locked by default"
                        },
                        {
                            "paramType":"query",
                            "name":"welcomeEmail",
                            "type":"string",
                            "description":"If true, send a user email upon creation"
                        }
                    ],
                    "notes":"Requires access token obtained via the authenticateUser operation. Available to users with the 'manage users' permission"
                }
            ]
        }

However, the generated code seems to declare one of the parameters in incorrect order:

public function createUser($access_token, $username, $destinationFolder, $email, $password, $role, $permissions, $nickname=null, $locked=null, $welcomeEmail=null, $timeZone)  { //.... }

Though $timeZone was specified immediately after $permissions, it appears that swagger-codegen reordered this and placed it on the end.

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

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions