Skip to content

[BUG][DART] Method listFromJson isn't defined on array of enums  #4887

@selankon

Description

@selankon

Description

When I define inside an object a property that is an array of enums, the generated code call a method listFromJson that is not defined inside the enum model causing build problems.

openapi-generator version
➜ openapi-generator version
4.2.2
OpenAPI declaration file content or url
openapi: 3.0.0
info:
    title: RetroShare OpenApi wrapper
    version: 0.0.1
    description: RetroShare OpenApi wrapper generated using Doxygen documentation
    license:
        name: AGPLv3
servers:
    - url: http://127.0.0.1:9092/
    
paths:
    /jsonApiServer/version:
        post:
            summary: blahblah             
            responses:
                '200':
                    description: >
                            return: 
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/FileChunksInfo'

components:      
    schemas:
        FileChunksInfo:
            type: object
            properties:
                chunks:
                    type: array
                    items:
                        $ref: '#/components/schemas/ChunkState'
        ChunkState:
            type: integer
            enum:
                
                    - 0
                    - 1
                    - 2
                    - 3
            x-enum-varnames:
                
                    - CHUNK_OUTSTANDING
                    - CHUNK_ACTIVE
                    - CHUNK_DONE
                    - CHUNK_CHECKING
Command line used for generation
➜ openapi-generator generate -i definition.yml -g dart -o openapi-dart-retroshare-api-wrapper
Steps to reproduce

Just copy the .yml definition and run the command.

After the code is generated be sure that all the dependencies are installed. I us VSCodium with Dart extension for that.

Once all installed you will see a build error on lib/model/file_chunks_info.dart.

  FileChunksInfo.fromJson(Map<String, dynamic> json) {
    if (json == null) return;
    chunks = (json['chunks'] == null) ?
      null :
      ChunkState.listFromJson(json['chunks']);
  }

Where listFromJson is not defined on ChunkState model.

Related issues/PRs

Maybe related to #2567

Suggest a fix

Should the nums have the method listFromJson?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions