Skip to content

interfaces shouldn't need concrete implementations to be referred to in the schema #42

@schveiguy

Description

@schveiguy

Example:

@GQLDUda(TypeKind.INTERFACE)
abstract class I
{
    string name;
}

class C1 : I
{
    long val;
}

class C2 : I
{
    string val;
}

struct SubType
{
    I getc1();
    I getc2();
}

struct Query
{
    SubType subType();
}

class Schema
{
    Query queryType;
}

If I do a query like:

query {
    subType {
      getc1 {
          ... on C1 {
              val
          }
    }
}

I get an error that type C1 is not recognized in the schema. I have to add some dummy values in the schema to get the introspection to work:

struct SubType
{
    NullableStore!C1 c1dontuse;
    NullableStore!C2 c2dontuse;
    I getc1();
    I getc2();
}

the library should provide a mechanism (probably a UDA) that adds concrete types for interfaces.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions