Soren Daugaard

    Soren Daugaard

    1 year ago
    I am writing a Ruby Prefect client that’ll eventually allow our Rails app to schedule flows in Prefect. When exploring the GraphQL schema I am noticing that there are 3 uuid types defined. They are called:
    uuid
    ,
    _uuid
    and
    UUID
    . Their definitions look identical, all are
    SCALAR
    values. What is the purpose of having 3 different UUID types defined in the GraphQL schema?
    Having these 3 types is unfortunately causing some problems when using the
    graphql-client
    gem to communicate with the Prefect API. The problem is name collisions when trying to define a
    Uuid
    class.
    To see run
    prefect server run
    , go to:
    localhost:4200
    and execute:
    query {
      __schema {
        types {
          name
          kind
        }
      }
    }
    nicholas

    nicholas

    1 year ago
    Hi @Soren Daugaard - the reason for those different types is that Hasura, GraphQL, and Python all expose different scalar types; because the API you're seeing is a composition of the 3 types you end up seeing all of the types.
    Michael Adkins

    Michael Adkins

    1 year ago
    We define (and use) and single
    UUID
    type to avoid complications with the auto-generated type.