Quellcode durchsuchen

Fixes #20422: Allow Aggregate and Prefix to filter by family in GraphQL (#20626)

Co-authored-by: Rinna Izumi <rizumi@bethel.jw.org>
Co-authored-by: Jason Novinger <jnovinger@gmail.com>
rinna11 vor 3 Monaten
Ursprung
Commit
9381564cab
1 geänderte Dateien mit 16 neuen und 0 gelöschten Zeilen
  1. 16 0
      netbox/ipam/graphql/filters.py

+ 16 - 0
netbox/ipam/graphql/filters.py

@@ -101,6 +101,14 @@ class AggregateFilter(ContactFilterMixin, TenancyFilterMixin, PrimaryModelFilter
             q |= Q(**{f"{prefix}prefix__net_contains": query})
         return q
 
+    @strawberry_django.filter_field()
+    def family(
+        self,
+        value: Annotated['IPAddressFamilyEnum', strawberry.lazy('ipam.graphql.enums')],
+        prefix,
+    ) -> Q:
+        return Q(**{f"{prefix}prefix__family": value.value})
+
 
 @strawberry_django.filter_type(models.FHRPGroup, lookups=True)
 class FHRPGroupFilter(PrimaryModelFilterMixin):
@@ -292,6 +300,14 @@ class PrefixFilter(ContactFilterMixin, ScopedFilterMixin, TenancyFilterMixin, Pr
             q |= Q(**{f"{prefix}prefix__net_contains": query})
         return q
 
+    @strawberry_django.filter_field()
+    def family(
+        self,
+        value: Annotated['IPAddressFamilyEnum', strawberry.lazy('ipam.graphql.enums')],
+        prefix,
+    ) -> Q:
+        return Q(**{f"{prefix}prefix__family": value.value})
+
 
 @strawberry_django.filter_type(models.RIR, lookups=True)
 class RIRFilter(OrganizationalModelFilterMixin):