Skip to content

Commit aa89eba

Browse files
authored
Merge pull request #9 from gravy-jones-locker/federation_compatibility
Added Federation Type Option
2 parents 6234849 + cbf3251 commit aa89eba

File tree

2 files changed

+14
-12
lines changed

2 files changed

+14
-12
lines changed

.pre-commit-config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ exclude: '^docs/conf.py'
22

33
repos:
44
- repo: https://github.com/pre-commit/pre-commit-hooks
5-
rev: v4.1.0
5+
rev: v4.3.0
66
hooks:
77
- id: trailing-whitespace
88
- id: check-added-large-files
@@ -28,7 +28,7 @@ repos:
2828
# --remove-unused-variables,
2929
# ]
3030
- repo: https://github.com/hadialqattan/pycln
31-
rev: v1.2.4
31+
rev: v2.1.1
3232
hooks:
3333
- id: pycln
3434
args: [--config=setup.cfg]
@@ -39,7 +39,7 @@ repos:
3939
- id: isort
4040

4141
- repo: https://github.com/psf/black
42-
rev: stable
42+
rev: 22.8.0
4343
hooks:
4444
- id: black
4545
language_version: python3
@@ -52,7 +52,7 @@ repos:
5252
# additional_dependencies: [black]
5353

5454
- repo: https://github.com/PyCQA/flake8
55-
rev: 4.0.1
55+
rev: 5.0.4
5656
hooks:
5757
- id: flake8
5858
## You can add flake8 plugins via `additional_dependencies`:

src/strawberry_sqlalchemy_mapper/mapper.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -413,14 +413,12 @@ async def resolve(self, info: Info):
413413
return []
414414
else:
415415
return None
416-
if isinstance(info.context, dict):
416+
if isinstance(info.context, dict):
417417
loader = info.context["sqlalchemy_loader"]
418418
else:
419419
loader = info.context.sqlalchemy_loader
420-
related_objects = (
421-
await loader
422-
.loader_for(relationship)
423-
.load(relationship_key)
420+
related_objects = await loader.loader_for(relationship).load(
421+
relationship_key
424422
)
425423
return related_objects
426424

@@ -537,7 +535,10 @@ def _handle_columns(
537535
)
538536

539537
def type(
540-
self, model: Type[BaseModelType], make_interface=False
538+
self,
539+
model: Type[BaseModelType],
540+
make_interface=False,
541+
use_federation=False,
541542
) -> Callable[[Type[object]], Any]:
542543
"""
543544
Decorate a type with this to register it as a strawberry type
@@ -662,10 +663,11 @@ def convert(type_: Any) -> Any:
662663

663664
if make_interface:
664665
mapped_type = strawberry.interface(type_)
665-
self.mapped_interfaces[type_.__name__] = mapped_type
666+
elif use_federation:
667+
mapped_type = strawberry.federation.type(type_)
666668
else:
667669
mapped_type = strawberry.type(type_)
668-
self.mapped_types[type_.__name__] = mapped_type
670+
self.mapped_types[type_.__name__] = mapped_type
669671
setattr(mapped_type, _GENERATED_FIELD_KEYS_KEY, generated_field_keys)
670672
setattr(mapped_type, _ORIGINAL_TYPE_KEY, type_)
671673
return mapped_type

0 commit comments

Comments
 (0)