swagger-to-graphql icon indicating copy to clipboard operation
swagger-to-graphql copied to clipboard

Polymorphism issue

Open olivierodo opened this issue 7 years ago • 4 comments

Hi, On my swagger file i use the property allOf to do Polymorphism (see : https://swagger.io/specification/#models-with-composition-108) in one of my definition.

Here a sample:

Payment:
  title: Payment
  description: Payment transaction
  allOf:
    - $ref: '#/NewPayment'
    - type: object
      required:
        - paymentId
      properties:
        paymentId:
          type: number
          example: 42
          description: The unique identifier of a payment transaction on the system

I believe that the case is not managed i got an error

[Error: Cannot build primitive type "undefined"]

its working fine when i remove it.

BTW, Amazing project/idea !

olivierodo avatar Aug 17 '17 16:08 olivierodo

Right, it's not implemented, but a good feature request. Will consider it in the next version, thanks!

yarax avatar Aug 20 '17 10:08 yarax

I forked the repo and had a little go at this here: https://github.com/yarax/swagger-to-graphql/pull/41/files

Note that I actually copied in the current published npm version and overwrote the master version, so there are other items in the diff. The main functionality is just the changes in the swagger.js file and the isObjectType function within typeMap.js.

LGLC avatar Dec 20 '17 11:12 LGLC

I think the discriminator property might be involved in this as well. See #61

ehmicky avatar Apr 17 '18 13:04 ehmicky

Hi @yarax - what is the status of this feature request? Looks like @LGLC's PR was a good solution before the TS rewrite. Would it be difficult to implement that same logic in TS?

marturi avatar Nov 01 '19 18:11 marturi