From 34bc37becfb7ff46e7fd73425f7b87036f9b05ee Mon Sep 17 00:00:00 2001 From: Christian Fritsch Date: Mon, 7 Jun 2021 14:29:05 +0200 Subject: [PATCH] feat: views extension --- graphql/thunder_views.base.graphqls | 0 graphql/thunder_views.extension.graphqls | 3 ++ .../ThunderViewsSchemaExtension.php | 35 +++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 graphql/thunder_views.base.graphqls create mode 100644 graphql/thunder_views.extension.graphqls create mode 100644 src/Plugin/GraphQL/SchemaExtension/ThunderViewsSchemaExtension.php diff --git a/graphql/thunder_views.base.graphqls b/graphql/thunder_views.base.graphqls new file mode 100644 index 0000000..e69de29 diff --git a/graphql/thunder_views.extension.graphqls b/graphql/thunder_views.extension.graphqls new file mode 100644 index 0000000..0594740 --- /dev/null +++ b/graphql/thunder_views.extension.graphqls @@ -0,0 +1,3 @@ +extend type Query { + views(view_id: String!, display_id: String, offset: Int, page_size: Int, page: Int): [Page] +} diff --git a/src/Plugin/GraphQL/SchemaExtension/ThunderViewsSchemaExtension.php b/src/Plugin/GraphQL/SchemaExtension/ThunderViewsSchemaExtension.php new file mode 100644 index 0000000..2e732d3 --- /dev/null +++ b/src/Plugin/GraphQL/SchemaExtension/ThunderViewsSchemaExtension.php @@ -0,0 +1,35 @@ +addFieldResolverIfNotExists('Query', 'views', + $this->builder->produce('views') + ->map('view_id', $this->builder->fromArgument('view_id')) + ->map('display_id', $this->builder->fromArgument('display_id')) + ->map('offset', $this->builder->fromArgument('offset')) + ->map('page_size', $this->builder->fromArgument('page_size')) + ->map('page', $this->builder->fromArgument('page')) + ); + } + +}