Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nested schemas display differently on reopen #10096

Open
adityamittal13 opened this issue Jul 31, 2024 · 0 comments
Open

nested schemas display differently on reopen #10096

adityamittal13 opened this issue Jul 31, 2024 · 0 comments

Comments

@adityamittal13
Copy link

adityamittal13 commented Jul 31, 2024

Q&A (please complete the following information)

  • OS: macOS
  • Browser: chrome (reproducible in safari)
  • Method of installation: npm
  • Swagger-UI version: 5.0.0
  • Swagger/OpenAPI version: OpenAPI 3.0.1

Content & configuration

Swagger/OpenAPI definition:

paths: {}
components:
  schemas:
    AppActivateRequestedWebhookV2:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/MessageBase'
      - properties:
          type:
            enum:
            - v2.app.activateRequested
            nullable: false
            type: string
        required:
        - type
        type: object
      description: Sent when a user initiates app activation on a tenant
    AppDeactivatedWebhookV2:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/MessageBase'
      - properties:
          type:
            enum:
            - v2.app.deactivated
            nullable: false
            type: string
        required:
        - type
        type: object
      description: Sent when a user initiates app deactivation on a tenant
    AppInstalledWebhookV2:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/MessageBase'
      - properties:
          type:
            enum:
            - v2.app.installed
            nullable: false
            type: string
        required:
        - type
        type: object
      description: "Sent when an app is installed on a tenant. Apps cannot subscribe\
        \ to this webhook \u2013 it is sent implicitly if a webhook url is present."
    AssayRunCreatedWebhookV2:
      allOf:
      - $ref: '#/components/schemas/EventBaseWebhookV2Schematized'
      - properties:
          type:
            enum:
            - v2.assayRun.created
            nullable: false
            type: string
        required:
        - type
        type: object
    AssayRunUpdatedFieldsWebhookV2:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2Schematized'
      - properties:
          type:
            enum:
            - v2.assayRun.updated.fields
            nullable: false
            type: string
        required:
        - type
        type: object
    CanvasInitializeWebhookV0:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/MessageBaseV0'
      - properties:
          featureId:
            nullable: false
            type: string
          resourceId:
            nullable: false
            type: string
          type:
            enum:
            - v0.canvas.initialized
            nullable: false
            type: string
        required:
        - type
        - featureId
        - resourceId
        type: object
      deprecated: true
      description: 'Sent when a user initializes a canvas via trigger in the Benchling
        UI.

        Please migrate to CanvasInitializeWebhookV2. '
    CanvasInitializeWebhookV2:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/MessageBase'
      - properties:
          featureId:
            nullable: false
            type: string
          resourceId:
            nullable: false
            type: string
          type:
            enum:
            - v2.canvas.initialized
            nullable: false
            type: string
        required:
        - type
        - featureId
        - resourceId
        type: object
      description: Sent when a user initializes a canvas via trigger in the Benchling
        UI
    CanvasInteractionWebhookV0:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/MessageBaseV0'
      - properties:
          buttonId:
            nullable: false
            type: string
          canvasId:
            nullable: false
            type: string
          featureId:
            nullable: false
            type: string
          type:
            enum:
            - v0.canvas.userInteracted
            nullable: false
            type: string
          userId:
            nullable: false
            type: string
        required:
        - type
        - buttonId
        - canvasId
        - featureId
        - userId
        type: object
      deprecated: true
      description: 'Sent when a user interacts with an app canvas via button press.

        Please migrate to CanvasInteractionWebhookV2. '
    CanvasInteractionWebhookV2:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/MessageBase'
      - properties:
          buttonId:
            nullable: false
            type: string
          canvasId:
            nullable: false
            type: string
          featureId:
            nullable: false
            type: string
          type:
            enum:
            - v2.canvas.userInteracted
            nullable: false
            type: string
          userId:
            nullable: false
            type: string
        required:
        - type
        - buttonId
        - canvasId
        - featureId
        - userId
        type: object
      description: Sent when a user interacts with an app canvas via button press
    EntityRegisteredWebhookV2:
      allOf:
      - $ref: '#/components/schemas/EventBaseWebhookV2Schematized'
      - properties:
          type:
            enum:
            - v2.entity.registered
            nullable: false
            type: string
        required:
        - type
        type: object
    EntryCreatedWebhookV2:
      allOf:
      - $ref: '#/components/schemas/EventBaseWebhookV2Schematized'
      - properties:
          type:
            enum:
            - v2.entry.created
            nullable: false
            type: string
        required:
        - type
        type: object
    EntryUpdatedFieldsWebhookV2:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2Schematized'
      - properties:
          type:
            enum:
            - v2.entry.updated.fields
            nullable: false
            type: string
        required:
        - type
        type: object
    EntryUpdatedReviewRecordWebhookV2:
      allOf:
      - $ref: '#/components/schemas/EventBaseWebhookV2Schematized'
      - properties:
          type:
            enum:
            - v2.entry.updated.reviewRecord
            nullable: false
            type: string
        required:
        - type
        type: object
    EventBaseWebhookV2:
      allOf:
      - $ref: '#/components/schemas/MessageBase'
      - properties:
          createdAt:
            description: 'ISO 8601 date-time string. The time at which the event was
              created.

              '
            format: date-time
            nullable: false
            type: string
          id:
            description: Unique identifier for the event
            example: evt_1jdbvuo2740aslk
            nullable: false
            type: string
          resourceId:
            description: Unique identifier for the resource that the event is associated
              with
            example: seq_1jdbvuo2740aslk
            nullable: false
            type: string
        required:
        - id
        - resourceId
        - createdAt
        type: object
    EventBaseWebhookV2Schematized:
      allOf:
      - $ref: '#/components/schemas/EventBaseWebhookV2'
      - properties:
          schema:
            allOf:
            - $ref: '#/components/schemas/EventResourceSchema'
            nullable: true
        required:
        - schema
        type: object
    EventCreatedWebhookV0Beta:
      allOf:
      - $ref: '#/components/schemas/MessageBaseV0'
      - properties:
          event:
            discriminator:
              mapping:
                v2.assayRun.created: '#/components/schemas/V2AssayRunCreatedEvent'
                v2.assayRun.updated.fields: '#/components/schemas/V2AssayRunUpdatedFieldsEvent'
                v2.entity.registered: '#/components/schemas/V2EntityRegisteredEvent'
                v2.entry.created: '#/components/schemas/V2EntryCreatedEvent'
                v2.entry.updated.fields: '#/components/schemas/V2EntryUpdatedFieldsEvent'
                v2.entry.updated.reviewRecord: '#/components/schemas/V2EntryUpdatedReviewRecordEvent'
                v2.request.created: '#/components/schemas/V2RequestCreatedEvent'
                v2.request.updated.fields: '#/components/schemas/V2RequestUpdatedFieldsEvent'
                v2.request.updated.status: '#/components/schemas/V2RequestUpdatedStatusEvent'
                v2.workflowOutput.created: '#/components/schemas/V2WorkflowOutputCreatedEvent'
                v2.workflowOutput.updated.fields: '#/components/schemas/V2WorkflowOutputUpdatedFieldsEvent'
                v2.workflowTask.created: '#/components/schemas/V2WorkflowTaskCreatedEvent'
                v2.workflowTask.updated.assignee: '#/components/schemas/V2WorkflowTaskUpdatedAssigneeEvent'
                v2.workflowTask.updated.fields: '#/components/schemas/V2WorkflowTaskUpdatedFieldsEvent'
                v2.workflowTask.updated.scheduledOn: '#/components/schemas/V2WorkflowTaskUpdatedScheduledOnEvent'
                v2.workflowTask.updated.status: '#/components/schemas/V2WorkflowTaskUpdatedStatusEvent'
                v2.workflowTaskGroup.created: '#/components/schemas/V2WorkflowTaskGroupCreatedEvent'
                v2.workflowTaskGroup.updated.watchers: '#/components/schemas/V2WorkflowTaskGroupUpdatedWatchersEvent'
              propertyName: eventType
            oneOf:
            - $ref: '#/components/schemas/V2AssayRunCreatedEvent'
            - $ref: '#/components/schemas/V2AssayRunUpdatedFieldsEvent'
            - $ref: '#/components/schemas/V2EntityRegisteredEvent'
            - $ref: '#/components/schemas/V2EntryCreatedEvent'
            - $ref: '#/components/schemas/V2EntryUpdatedFieldsEvent'
            - $ref: '#/components/schemas/V2EntryUpdatedReviewRecordEvent'
            - $ref: '#/components/schemas/V2RequestCreatedEvent'
            - $ref: '#/components/schemas/V2RequestUpdatedFieldsEvent'
            - $ref: '#/components/schemas/V2RequestUpdatedStatusEvent'
            - $ref: '#/components/schemas/V2WorkflowTaskGroupCreatedEvent'
            - $ref: '#/components/schemas/V2WorkflowTaskGroupUpdatedWatchersEvent'
            - $ref: '#/components/schemas/V2WorkflowTaskCreatedEvent'
            - $ref: '#/components/schemas/V2WorkflowTaskUpdatedAssigneeEvent'
            - $ref: '#/components/schemas/V2WorkflowTaskUpdatedScheduledOnEvent'
            - $ref: '#/components/schemas/V2WorkflowTaskUpdatedStatusEvent'
            - $ref: '#/components/schemas/V2WorkflowTaskUpdatedFieldsEvent'
            - $ref: '#/components/schemas/V2WorkflowOutputCreatedEvent'
            - $ref: '#/components/schemas/V2WorkflowOutputUpdatedFieldsEvent'
          type:
            enum:
            - v0-beta.event.created
            nullable: false
            type: string
        required:
        - type
        - event
        type: object
      deprecated: true
    EventResourceSchema:
      description: The schema of the associated resource
      nullable: true
      properties:
        id:
          description: Unique identifier for the schema
          example: assaysch_1jdbvuo2740aslk
          nullable: false
          type: string
      required:
      - id
      type: object
    LifecycleActivateWebhookV0:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/MessageBaseV0'
      - properties:
          type:
            enum:
            - v0.app.activateRequested
            nullable: false
            type: string
        required:
        - type
        type: object
      deprecated: true
      description: 'Sent when a user initiates app activation on a tenant.

        Please migrate to AppActivateRequestedWebhookV2. '
    LifecycleActivateWebhookV0Beta:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/MessageBaseV0'
      - properties:
          clientId:
            nullable: false
            type: string
          clientSecret:
            nullable: false
            type: string
          type:
            enum:
            - v0-beta.lifecycle.activateRequested
            nullable: false
            type: string
        required:
        - clientId
        - clientSecret
        - type
        type: object
      deprecated: true
      description: 'Sent when a user initiates app activation on a tenant.

        Please migrate to Shareable Apps. Reference: https://docs.benchling.com/changelog/sunset-app-lifecycle-management '
    LifecycleConfigurationUpdateWebhookV0Beta:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/MessageBaseV0'
      - properties:
          type:
            enum:
            - v0-beta.app.configuration.updated
            nullable: false
            type: string
        required:
        - type
        type: object
      deprecated: true
      description: 'Sent when the configuration of a Benchling App is updated.

        Please migrate to LifecycleConfigurationUpdateWebhookV2Beta. '
    LifecycleConfigurationUpdateWebhookV2Beta:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/MessageBase'
      - properties:
          type:
            enum:
            - v2-beta.app.configuration.updated
            nullable: false
            type: string
        required:
        - type
        type: object
      description: Sent when the configuration of a Benchling App is updated
    LifecycleDeactivateWebhookV0:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/MessageBaseV0'
      - properties:
          type:
            enum:
            - v0.app.deactivated
            nullable: false
            type: string
        required:
        - type
        type: object
      deprecated: true
      description: 'Sent when a user initiates app deactivation on a tenant.

        Please migrate to AppDeactivatedWebhookV2. '
    LifecycleDeactivateWebhookV0Beta:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/MessageBaseV0'
      - properties:
          type:
            enum:
            - v0-beta.lifecycle.deactivated
            nullable: false
            type: string
        required:
        - type
        type: object
      deprecated: true
      description: 'Sent when a user initiates app deactivation on a tenant.

        Please migrate to Shareable Apps. Reference: https://docs.benchling.com/changelog/sunset-app-lifecycle-management '
    MessageBase:
      properties:
        deprecated:
          example: false
          type: boolean
      required:
      - deprecated
      type: object
    MessageBaseV0:
      properties:
        deprecated:
          example: false
          type: boolean
        excludedProperties:
          description: 'These properties have been dropped from the payload due to
            size.

            '
          items:
            type: string
          type: array
      required:
      - deprecated
      - excludedProperties
      type: object
    RequestCreatedWebhookV2:
      allOf:
      - $ref: '#/components/schemas/EventBaseWebhookV2Schematized'
      - properties:
          type:
            enum:
            - v2.request.created
            nullable: false
            type: string
        required:
        - type
        type: object
    RequestUpdatedFieldsWebhookV2:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2Schematized'
      - properties:
          type:
            enum:
            - v2.request.updated.fields
            nullable: false
            type: string
        required:
        - type
        type: object
    RequestUpdatedStatusWebhookV2:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2Schematized'
      - properties:
          type:
            enum:
            - v2.request.updated.status
            nullable: false
            type: string
        required:
        - type
        type: object
    UpdateEventBaseWebhookV2:
      allOf:
      - $ref: '#/components/schemas/EventBaseWebhookV2Schematized'
      - properties:
          updates:
            description: 'These properties have been updated, causing this message

              '
            example:
            - fields.Batch
            items:
              type: string
            type: array
        required:
        - updates
        type: object
    UpdateEventBaseWebhookV2Schematized:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2'
      - properties:
          schema:
            allOf:
            - $ref: '#/components/schemas/EventResourceSchema'
            nullable: true
        type: object
    V2AssayRunCreatedEvent:
      allOf:
      - $ref: '#/components/schemas/EventBaseWebhookV2Schematized'
      - deprecated: true
        properties:
          eventType:
            enum:
            - v2.assayRun.created
            nullable: false
            type: string
        required:
        - eventType
        type: object
    V2AssayRunUpdatedFieldsEvent:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2'
      - deprecated: true
        properties:
          eventType:
            enum:
            - v2.assayRun.updated.fields
            nullable: false
            type: string
        required:
        - eventType
        type: object
    V2EntityRegisteredEvent:
      allOf:
      - $ref: '#/components/schemas/EventBaseWebhookV2Schematized'
      - deprecated: true
        properties:
          eventType:
            enum:
            - v2.entity.registered
            nullable: false
            type: string
        required:
        - eventType
        type: object
    V2EntryCreatedEvent:
      allOf:
      - $ref: '#/components/schemas/EventBaseWebhookV2Schematized'
      - deprecated: true
        properties:
          eventType:
            enum:
            - v2.entry.created
            nullable: false
            type: string
        required:
        - eventType
        type: object
    V2EntryUpdatedFieldsEvent:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2'
      - deprecated: true
        properties:
          eventType:
            enum:
            - v2.entry.updated.fields
            nullable: false
            type: string
        required:
        - eventType
        type: object
    V2EntryUpdatedReviewRecordEvent:
      allOf:
      - $ref: '#/components/schemas/EventBaseWebhookV2Schematized'
      - deprecated: true
        properties:
          eventType:
            enum:
            - v2.entry.updated.reviewRecord
            nullable: false
            type: string
        required:
        - eventType
        type: object
    V2RequestCreatedEvent:
      allOf:
      - $ref: '#/components/schemas/EventBaseWebhookV2Schematized'
      - deprecated: true
        properties:
          eventType:
            enum:
            - v2.request.created
            nullable: false
            type: string
        required:
        - eventType
        type: object
    V2RequestUpdatedFieldsEvent:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2'
      - deprecated: true
        properties:
          eventType:
            enum:
            - v2.request.updated.fields
            nullable: false
            type: string
        required:
        - eventType
        type: object
    V2RequestUpdatedStatusEvent:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2'
      - deprecated: true
        properties:
          eventType:
            enum:
            - v2.request.updated.status
            nullable: false
            type: string
        required:
        - eventType
        type: object
    V2WorkflowOutputCreatedEvent:
      allOf:
      - $ref: '#/components/schemas/EventBaseWebhookV2Schematized'
      - deprecated: true
        properties:
          eventType:
            enum:
            - v2.workflowOutput.created
            nullable: false
            type: string
        required:
        - eventType
        type: object
    V2WorkflowOutputUpdatedFieldsEvent:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2'
      - deprecated: true
        properties:
          eventType:
            enum:
            - v2.workflowOutput.updated.fields
            nullable: false
            type: string
        required:
        - eventType
        type: object
    V2WorkflowTaskCreatedEvent:
      allOf:
      - $ref: '#/components/schemas/EventBaseWebhookV2Schematized'
      - deprecated: true
        properties:
          eventType:
            enum:
            - v2.workflowTask.created
            nullable: false
            type: string
        required:
        - eventType
        type: object
    V2WorkflowTaskGroupCreatedEvent:
      allOf:
      - $ref: '#/components/schemas/EventBaseWebhookV2Schematized'
      - deprecated: true
        properties:
          eventType:
            enum:
            - v2.workflowTaskGroup.created
            nullable: false
            type: string
        required:
        - eventType
        type: object
    V2WorkflowTaskGroupUpdatedWatchersEvent:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2'
      - deprecated: true
        properties:
          eventType:
            enum:
            - v2.workflowTaskGroup.updated.watchers
            nullable: false
            type: string
        required:
        - eventType
        type: object
    V2WorkflowTaskUpdatedAssigneeEvent:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2'
      - deprecated: true
        properties:
          eventType:
            enum:
            - v2.workflowTask.updated.assignee
            nullable: false
            type: string
        required:
        - eventType
        type: object
    V2WorkflowTaskUpdatedFieldsEvent:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2'
      - deprecated: true
        properties:
          eventType:
            enum:
            - v2.workflowTask.updated.fields
            nullable: false
            type: string
        required:
        - eventType
        type: object
    V2WorkflowTaskUpdatedScheduledOnEvent:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2'
      - deprecated: true
        properties:
          eventType:
            enum:
            - v2.workflowTask.updated.scheduledOn
            nullable: false
            type: string
        required:
        - eventType
        type: object
    V2WorkflowTaskUpdatedStatusEvent:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2'
      - deprecated: true
        properties:
          eventType:
            enum:
            - v2.workflowTask.updated.status
            nullable: false
            type: string
        required:
        - eventType
        type: object
    WebhookEnvelopeV0:
      properties:
        app:
          properties:
            id:
              description: Destination app's id
              example: app_1jdbvuo2740aslk
              nullable: false
              type: string
          required:
          - id
          type: object
        appDefinition:
          properties:
            id:
              description: App definition id
              example: app_1jdbvuo2740aslk
              nullable: false
              type: string
            versionNumber:
              description: App definition version number
              example: 0.0.1
              nullable: false
              type: string
          required:
          - id
          - versionNumber
          type: object
        baseURL:
          description: Base tenant URL from which the webhook is coming
          example: tenant.benchling.com
          nullable: false
          type: string
        message:
          $ref: '#/components/schemas/WebhookMessageV0'
        tenantId:
          description: Global tenant id from which the webhook is coming
          example: ten_7fbo183
          nullable: false
          type: string
        version:
          description: Version of the webhook envelope shape. Always 0.
          enum:
          - '0'
          example: '0'
          nullable: false
          type: string
      required:
      - version
      - baseURL
      - tenantId
      - app
      - appDefinition
      - message
      type: object
    WebhookMessageV0:
      discriminator:
        mapping:
          v0-beta.app.configuration.updated: '#/components/schemas/LifecycleConfigurationUpdateWebhookV0Beta'
          v0-beta.event.created: '#/components/schemas/EventCreatedWebhookV0Beta'
          v0-beta.lifecycle.activateRequested: '#/components/schemas/LifecycleActivateWebhookV0Beta'
          v0-beta.lifecycle.deactivated: '#/components/schemas/LifecycleDeactivateWebhookV0Beta'
          v0.app.activateRequested: '#/components/schemas/LifecycleActivateWebhookV0'
          v0.app.deactivated: '#/components/schemas/LifecycleDeactivateWebhookV0'
          v0.canvas.initialized: '#/components/schemas/CanvasInitializeWebhookV0'
          v0.canvas.userInteracted: '#/components/schemas/CanvasInteractionWebhookV0'
          v2-beta.app.configuration.updated: '#/components/schemas/LifecycleConfigurationUpdateWebhookV2Beta'
          v2.app.activateRequested: '#/components/schemas/AppActivateRequestedWebhookV2'
          v2.app.deactivated: '#/components/schemas/AppDeactivatedWebhookV2'
          v2.app.installed: '#/components/schemas/AppInstalledWebhookV2'
          v2.assayRun.created: '#/components/schemas/AssayRunCreatedWebhookV2'
          v2.assayRun.updated.fields: '#/components/schemas/AssayRunUpdatedFieldsWebhookV2'
          v2.canvas.initialized: '#/components/schemas/CanvasInitializeWebhookV2'
          v2.canvas.userInteracted: '#/components/schemas/CanvasInteractionWebhookV2'
          v2.entity.registered: '#/components/schemas/EntityRegisteredWebhookV2'
          v2.entry.created: '#/components/schemas/EntryCreatedWebhookV2'
          v2.entry.updated.fields: '#/components/schemas/EntryUpdatedFieldsWebhookV2'
          v2.entry.updated.reviewRecord: '#/components/schemas/EntryUpdatedReviewRecordWebhookV2'
          v2.request.created: '#/components/schemas/RequestCreatedWebhookV2'
          v2.request.updated.fields: '#/components/schemas/RequestUpdatedFieldsWebhookV2'
          v2.request.updated.status: '#/components/schemas/RequestUpdatedStatusWebhookV2'
          v2.workflowOutput.created: '#/components/schemas/WorkflowOutputCreatedWebhookV2'
          v2.workflowOutput.updated.fields: '#/components/schemas/WorkflowOutputUpdatedFieldsWebhookV2'
          v2.workflowTask.created: '#/components/schemas/WorkflowTaskCreatedWebhookV2'
          v2.workflowTask.updated.assignee: '#/components/schemas/WorkflowTaskUpdatedAssigneeWebhookV2'
          v2.workflowTask.updated.fields: '#/components/schemas/WorkflowTaskUpdatedFieldsWebhookV2'
          v2.workflowTask.updated.scheduledOn: '#/components/schemas/WorkflowTaskUpdatedScheduledOnWebhookV2'
          v2.workflowTask.updated.status: '#/components/schemas/WorkflowTaskUpdatedStatusWebhookV2'
          v2.workflowTaskGroup.created: '#/components/schemas/WorkflowTaskGroupCreatedWebhookV2'
          v2.workflowTaskGroup.updated.watchers: '#/components/schemas/WorkflowTaskGroupUpdatedWatchersWebhookV2'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/LifecycleConfigurationUpdateWebhookV2Beta'
      - $ref: '#/components/schemas/CanvasInteractionWebhookV2'
      - $ref: '#/components/schemas/CanvasInitializeWebhookV2'
      - $ref: '#/components/schemas/AppActivateRequestedWebhookV2'
      - $ref: '#/components/schemas/AppDeactivatedWebhookV2'
      - $ref: '#/components/schemas/AppInstalledWebhookV2'
      - $ref: '#/components/schemas/AssayRunCreatedWebhookV2'
      - $ref: '#/components/schemas/AssayRunUpdatedFieldsWebhookV2'
      - $ref: '#/components/schemas/EntityRegisteredWebhookV2'
      - $ref: '#/components/schemas/EntryCreatedWebhookV2'
      - $ref: '#/components/schemas/EntryUpdatedFieldsWebhookV2'
      - $ref: '#/components/schemas/EntryUpdatedReviewRecordWebhookV2'
      - $ref: '#/components/schemas/RequestCreatedWebhookV2'
      - $ref: '#/components/schemas/RequestUpdatedFieldsWebhookV2'
      - $ref: '#/components/schemas/RequestUpdatedStatusWebhookV2'
      - $ref: '#/components/schemas/WorkflowTaskGroupCreatedWebhookV2'
      - $ref: '#/components/schemas/WorkflowTaskGroupUpdatedWatchersWebhookV2'
      - $ref: '#/components/schemas/WorkflowTaskCreatedWebhookV2'
      - $ref: '#/components/schemas/WorkflowTaskUpdatedAssigneeWebhookV2'
      - $ref: '#/components/schemas/WorkflowTaskUpdatedScheduledOnWebhookV2'
      - $ref: '#/components/schemas/WorkflowTaskUpdatedStatusWebhookV2'
      - $ref: '#/components/schemas/WorkflowTaskUpdatedFieldsWebhookV2'
      - $ref: '#/components/schemas/WorkflowOutputCreatedWebhookV2'
      - $ref: '#/components/schemas/WorkflowOutputUpdatedFieldsWebhookV2'
      - $ref: '#/components/schemas/CanvasInteractionWebhookV0'
      - $ref: '#/components/schemas/CanvasInitializeWebhookV0'
      - $ref: '#/components/schemas/LifecycleActivateWebhookV0'
      - $ref: '#/components/schemas/LifecycleDeactivateWebhookV0'
      - $ref: '#/components/schemas/LifecycleActivateWebhookV0Beta'
      - $ref: '#/components/schemas/LifecycleDeactivateWebhookV0Beta'
      - $ref: '#/components/schemas/LifecycleConfigurationUpdateWebhookV0Beta'
      - $ref: '#/components/schemas/EventCreatedWebhookV0Beta'
    WorkflowOutputCreatedWebhookV2:
      allOf:
      - $ref: '#/components/schemas/EventBaseWebhookV2Schematized'
      - properties:
          type:
            enum:
            - v2.workflowOutput.created
            nullable: false
            type: string
        required:
        - type
        type: object
    WorkflowOutputUpdatedFieldsWebhookV2:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2Schematized'
      - properties:
          type:
            enum:
            - v2.workflowOutput.updated.fields
            nullable: false
            type: string
        required:
        - type
        type: object
    WorkflowTaskCreatedWebhookV2:
      allOf:
      - $ref: '#/components/schemas/EventBaseWebhookV2Schematized'
      - properties:
          type:
            enum:
            - v2.workflowTask.created
            nullable: false
            type: string
        required:
        - type
        type: object
    WorkflowTaskGroupCreatedWebhookV2:
      allOf:
      - $ref: '#/components/schemas/EventBaseWebhookV2Schematized'
      - properties:
          type:
            enum:
            - v2.workflowTaskGroup.created
            nullable: false
            type: string
        required:
        - type
        type: object
    WorkflowTaskGroupUpdatedWatchersWebhookV2:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2Schematized'
      - properties:
          type:
            enum:
            - v2.workflowTaskGroup.updated.watchers
            nullable: false
            type: string
        required:
        - type
        type: object
    WorkflowTaskUpdatedAssigneeWebhookV2:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2Schematized'
      - properties:
          type:
            enum:
            - v2.workflowTask.updated.assignee
            nullable: false
            type: string
        required:
        - type
        type: object
    WorkflowTaskUpdatedFieldsWebhookV2:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2Schematized'
      - properties:
          type:
            enum:
            - v2.workflowTask.updated.fields
            nullable: false
            type: string
        required:
        - type
        type: object
    WorkflowTaskUpdatedScheduledOnWebhookV2:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2Schematized'
      - properties:
          type:
            enum:
            - v2.workflowTask.updated.scheduledOn
            nullable: false
            type: string
        required:
        - type
        type: object
    WorkflowTaskUpdatedStatusWebhookV2:
      allOf:
      - $ref: '#/components/schemas/UpdateEventBaseWebhookV2Schematized'
      - properties:
          type:
            enum:
            - v2.workflowTask.updated.status
            nullable: false
            type: string
        required:
        - type
        type: object
info:
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  title: Benchling Apps Webhooks
  version: 2.0.0
openapi: 3.0.1
servers:
- url: webhooks

Swagger-UI configuration options (plugin just filters schemas):

<SwaggerUI plugins={[WebhookLayoutPlugin]} docExpansion="list" />

Describe the bug you're encountering

When copying the OpenAPI into editor-next.swagger.io, running into the following bug:

Swagger.UI.Bug.mp4

Bug Explained: RequestUpdatedStatusWebhookV2 and WorkflowTaskUpdatedAssigneeWebhookV2, among other models, are running into an issue where they show a different property list on reopen.

I'm also running into another issue with running the swagger-ui-react library to parse the same YAML file. Not all of the properties are showing up. Even more interesting is other models, like RequestUpdatedStatusWebhookV2, are showing the correct property list in this context.
Screenshot 2024-07-31 at 3 01 02 PM

To reproduce...

Steps to reproduce the behavior:

  1. Copy OpenAPI spec from above.
  2. Go to https://editor-next.swagger.io/ and paste in the spec, and click into WorkflowTaskUpdatedAssigneeWebhookV2.

Expected behavior

Expected behavior is for both WorkflowTaskUpdatedAssigneeWebhookV2 to show the deprecated, id, resourceId, createdAt, schema, updates, and type properties on first click when using both the swagger-ui-react library and editor-next.swagger.io.

Additional context or thoughts

There may be some behavior I'm not exactly understanding which Swagger UI uses on nested schemas. I'm interested to hear about your thoughts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant