filters.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. import strawberry
  2. import strawberry_django
  3. from ipam import filtersets, models
  4. from netbox.graphql.filter_mixins import autotype_decorator, BaseFilterMixin
  5. __all__ = (
  6. 'ASNFilter',
  7. 'ASNRangeFilter',
  8. 'AggregateFilter',
  9. 'FHRPGroupFilter',
  10. 'FHRPGroupAssignmentFilter',
  11. 'IPAddressFilter',
  12. 'IPRangeFilter',
  13. 'PrefixFilter',
  14. 'RIRFilter',
  15. 'RoleFilter',
  16. 'RouteTargetFilter',
  17. 'ServiceFilter',
  18. 'ServiceTemplateFilter',
  19. 'VLANFilter',
  20. 'VLANGroupFilter',
  21. 'VRFFilter',
  22. )
  23. @strawberry_django.filter(models.ASN, lookups=True)
  24. @autotype_decorator(filtersets.ASNFilterSet)
  25. class ASNFilter(BaseFilterMixin):
  26. pass
  27. # bug - fixme!
  28. @strawberry_django.filter(models.ASNRange, lookups=True)
  29. @autotype_decorator(filtersets.ASNRangeFilterSet)
  30. class ASNRangeFilter(BaseFilterMixin):
  31. pass
  32. @strawberry_django.filter(models.Aggregate, lookups=True)
  33. @autotype_decorator(filtersets.AggregateFilterSet)
  34. class AggregateFilter(BaseFilterMixin):
  35. pass
  36. @strawberry_django.filter(models.FHRPGroup, lookups=True)
  37. @autotype_decorator(filtersets.FHRPGroupFilterSet)
  38. class FHRPGroupFilter(BaseFilterMixin):
  39. pass
  40. @strawberry_django.filter(models.FHRPGroupAssignment, lookups=True)
  41. @autotype_decorator(filtersets.FHRPGroupAssignmentFilterSet)
  42. class FHRPGroupAssignmentFilter(BaseFilterMixin):
  43. pass
  44. @strawberry_django.filter(models.IPAddress, lookups=True)
  45. @autotype_decorator(filtersets.IPAddressFilterSet)
  46. class IPAddressFilter(BaseFilterMixin):
  47. pass
  48. @strawberry_django.filter(models.IPRange, lookups=True)
  49. @autotype_decorator(filtersets.IPRangeFilterSet)
  50. class IPRangeFilter(BaseFilterMixin):
  51. pass
  52. @strawberry_django.filter(models.Prefix, lookups=True)
  53. @autotype_decorator(filtersets.PrefixFilterSet)
  54. class PrefixFilter(BaseFilterMixin):
  55. pass
  56. @strawberry_django.filter(models.RIR, lookups=True)
  57. @autotype_decorator(filtersets.RIRFilterSet)
  58. class RIRFilter(BaseFilterMixin):
  59. pass
  60. @strawberry_django.filter(models.Role, lookups=True)
  61. @autotype_decorator(filtersets.RoleFilterSet)
  62. class RoleFilter(BaseFilterMixin):
  63. pass
  64. @strawberry_django.filter(models.RouteTarget, lookups=True)
  65. @autotype_decorator(filtersets.RouteTargetFilterSet)
  66. class RouteTargetFilter(BaseFilterMixin):
  67. pass
  68. @strawberry_django.filter(models.Service, lookups=True)
  69. @autotype_decorator(filtersets.ServiceFilterSet)
  70. class ServiceFilter(BaseFilterMixin):
  71. pass
  72. @strawberry_django.filter(models.ServiceTemplate, lookups=True)
  73. @autotype_decorator(filtersets.ServiceTemplateFilterSet)
  74. class ServiceTemplateFilter(BaseFilterMixin):
  75. pass
  76. @strawberry_django.filter(models.VLAN, lookups=True)
  77. @autotype_decorator(filtersets.VLANFilterSet)
  78. class VLANFilter(BaseFilterMixin):
  79. pass
  80. @strawberry_django.filter(models.VLANGroup, lookups=True)
  81. @autotype_decorator(filtersets.VLANGroupFilterSet)
  82. class VLANGroupFilter(BaseFilterMixin):
  83. pass
  84. @strawberry_django.filter(models.VRF, lookups=True)
  85. @autotype_decorator(filtersets.VRFFilterSet)
  86. class VRFFilter(BaseFilterMixin):
  87. pass