Skip to content

Commit b728bae

Browse files
committed
Add support for interfaces and input
1 parent 5d08133 commit b728bae

File tree

6 files changed

+206
-162
lines changed

6 files changed

+206
-162
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ htmlcov/
1010
*.pyc
1111
*.swo
1212
*.swp
13-
13+
venv/
14+
.vscode/

graphene_mongo/__init__.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
from .fields import MongoengineConnectionField
22

3-
from .types import MongoengineObjectType
3+
from .types import MongoengineObjectType, MongoengineInputType, MongoengineInterfaceType
44

55
__version__ = "0.1.1"
66

7-
__all__ = ["__version__", "MongoengineObjectType", "MongoengineConnectionField"]
7+
__all__ = [
8+
"__version__",
9+
"MongoengineObjectType",
10+
"MongoengineInputType",
11+
"MongoengineInterfaceType",
12+
"MongoengineConnectionField"
13+
]

graphene_mongo/fields.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,12 @@ def __init__(self, type, *args, **kwargs):
4040

4141
@property
4242
def type(self):
43-
from .types import MongoengineObjectType
43+
from .types import GrapheneMongoengineObjectTypes
4444

4545
_type = super(ConnectionField, self).type
4646
assert issubclass(
47-
_type, MongoengineObjectType
48-
), "MongoengineConnectionField only accepts MongoengineObjectType types"
47+
_type, GrapheneMongoengineObjectTypes
48+
), "MongoengineConnectionField only accepts Mongoengine object types"
4949
assert _type._meta.connection, "The type {} doesn't have a connection".format(
5050
_type.__name__
5151
)

graphene_mongo/registry.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ def __init__(self):
33
self._registry = {}
44

55
def register(self, cls):
6-
from .types import MongoengineObjectType
6+
from .types import GrapheneMongoengineObjectTypes
77

88
assert issubclass(
9-
cls, MongoengineObjectType
10-
), 'Only MongoengineObjectTypes can be registered, received "{}"'.format(
9+
cls,
10+
GrapheneMongoengineObjectTypes
11+
), 'Only Mongoengine object types can be registered, received "{}"'.format(
1112
cls.__name__
1213
)
1314
assert cls._meta.registry == self, "Registry for a Model have to match."
@@ -22,6 +23,14 @@ def get_type_for_model(self, model):
2223

2324

2425
registry = None
26+
inputs_registry = None
27+
28+
29+
def get_inputs_registry():
30+
global inputs_registry
31+
if not inputs_registry:
32+
inputs_registry = Registry()
33+
return inputs_registry
2534

2635

2736
def get_global_registry():
@@ -31,6 +40,11 @@ def get_global_registry():
3140
return registry
3241

3342

43+
def reset_inputs_registry():
44+
global inputs_registry
45+
inputs_registry = None
46+
47+
3448
def reset_global_registry():
3549
global registry
3650
registry = None

graphene_mongo/tests/test_types.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ class A(TypeSubclassWithBadOptions):
157157
class Meta:
158158
model = Article
159159

160-
assert "instance of MongoengineObjectTypeOptions" in str(einfo.value)
160+
assert "instance of MongoengineGenericObjectTypeOptions" in str(einfo.value)
161161

162162
class TypeSubclass(MongoengineObjectType):
163163
class Meta:

0 commit comments

Comments
 (0)