things-schemas/patches/graphqlgen_interface_list.diff
Christian Monch 6a739f71b3
add patch for correct interface lists in graphql
This commit adds a patch that modifies linkml's
graphql-generator. It now uses '&' to separate
interfaces in the generated GraphQL schema.
2025-08-12 11:13:05 +02:00

13 lines
687 B
Diff

diff --git a/linkml/generators/graphqlgen.py b/linkml/generators/graphqlgen.py
index 72da3770..bce294a5 100644
--- a/linkml/generators/graphqlgen.py
+++ b/linkml/generators/graphqlgen.py
@@ -40,7 +40,7 @@ class GraphqlGenerator(Generator):
def visit_class(self, cls: ClassDefinition) -> str:
etype = "interface" if (cls.abstract or cls.mixin) and not cls.mixins else "type"
- mixins = ", ".join([camelcase(mixin) for mixin in cls.mixins])
+ mixins = " & ".join([camelcase(mixin) for mixin in cls.mixins])
out = f"{etype} {camelcase(cls.name)}" + (f" implements {mixins}" if mixins else "")
out = "\n".join([out, " {"])
return out