Arthur 1 год назад
Родитель
Сommit
916722780c
2 измененных файлов с 22 добавлено и 14 удалено
  1. 22 13
      docs/plugins/development/graphql-api.md
  2. 0 1
      netbox/netbox/tests/dummy_plugin/graphql.py

+ 22 - 13
docs/plugins/development/graphql-api.md

@@ -8,23 +8,32 @@ A plugin can extend NetBox's GraphQL API by registering its own schema class. By
 
 ```python
 # graphql.py
-import graphene
-from netbox.graphql.types import NetBoxObjectType
-from netbox.graphql.fields import ObjectField, ObjectListField
-from . import filtersets, models
+from typing import List
+import strawberry
+import strawberry_django
 
-class MyModelType(NetBoxObjectType):
+from . import models
 
-    class Meta:
-        model = models.MyModel
-        fields = '__all__'
-        filterset_class = filtersets.MyModelFilterSet
 
-class MyQuery(graphene.ObjectType):
-    mymodel = ObjectField(MyModelType)
-    mymodel_list = ObjectListField(MyModelType)
+@strawberry_django.type(
+    models.MyModel,
+    fields='__all__',
+)
+class MyModelType:
+    pass
 
-schema = MyQuery
+
+@strawberry.type
+class MyQuery:
+    @strawberry.field
+    def dummymodel(self, id: int) -> DummyModelType:
+        return None
+    dummymodel_list: List[DummyModelType] = strawberry_django.field()
+
+
+schema = [
+    MyQuery,
+]
 ```
 
 ## GraphQL Objects

+ 0 - 1
netbox/netbox/tests/dummy_plugin/graphql.py

@@ -1,7 +1,6 @@
 from typing import List
 import strawberry
 import strawberry_django
-from strawberry.schema.config import StrawberryConfig
 
 from . import models