@@ -412,15 +412,23 @@ def add_type_filters(schema: GraphQLSchema):
412
412
413
413
414
414
def add_object_type_filters (schema : GraphQLSchema ):
415
+ """
416
+ Add filters as arguments to list field of object types.
417
+ :param schema:
418
+ :return:
419
+ """
415
420
for _type in schema .type_map .values ():
416
421
if not is_schema_defined_type (_type ):
417
422
continue
418
423
419
424
for field_name , field in _type .fields .items ():
420
- inner_field_type = get_named_type (field .type )
421
- if is_enum_or_scalar (inner_field_type ) or is_interface_type (inner_field_type ):
425
+ if not is_list_type (field .type ):
422
426
continue
423
- filter_name = f'_FilterFor{ capitalize (inner_field_type .name )} '
427
+
428
+ named_type = get_named_type (field .type )
429
+ if is_enum_or_scalar (named_type ) or is_interface_type (named_type ):
430
+ continue
431
+ filter_name = f'_FilterFor{ capitalize (named_type .name )} '
424
432
_filter = schema .type_map [filter_name ]
425
433
field .args ['filter' ] = GraphQLArgument (_filter )
426
434
return schema
@@ -447,36 +455,16 @@ def add_enum_filters(schema: GraphQLSchema):
447
455
continue
448
456
449
457
make += f'input _{ enum_name } Filter {{' \
450
- f' _eq: { enum_name } ' \
451
- f' _neq: { enum_name } ' \
452
- f' _in: [{ enum_name } ] ' \
453
- f' _nin: [{ enum_name } ] ' \
454
- f'}} '
458
+ f' _eq: { enum_name } ' \
459
+ f' _neq: { enum_name } ' \
460
+ f' _in: [{ enum_name } ] ' \
461
+ f' _nin: [{ enum_name } ] ' \
462
+ f'}} '
455
463
schema = add_to_schema (schema , make )
456
464
return schema
457
465
458
466
459
- def add_filters_to_type_fields (_schema : GraphQLSchema ):
460
- """
461
- Add filters as arguments to fields for object types.
462
- :param _schema:
463
- :return:
464
- """
465
- for t in _schema .type_map .values ():
466
- if not is_schema_defined_type (t ):
467
- continue
468
-
469
- # loop fields
470
- for n , f in t .fields .items ():
471
- field_type = get_named_type (f .type )
472
- if not is_schema_defined_type (field_type ) or is_interface_type (field_type ):
473
- continue
474
- _filter = _schema .type_map [f'_FilterFor{ field_type .name } ' ]
475
- f .args ['filter' ] = GraphQLArgument (_filter )
476
- return _schema
477
-
478
-
479
- def add_create_mutations (schema ):
467
+ def add_create_mutations (schema : GraphQLSchema ):
480
468
"""
481
469
Add mutations for creating object types.
482
470
:param schema:
0 commit comments