schema.py 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. from typing import List
  2. import strawberry
  3. import strawberry_django
  4. from ipam import models
  5. from .types import *
  6. @strawberry.type
  7. class IPAMQuery:
  8. @strawberry.field
  9. def asn(self, id: int) -> ASNType:
  10. return models.ASN.objects.get(pk=id)
  11. asn_list: List[ASNType] = strawberry_django.field()
  12. @strawberry.field
  13. def asn_range(self, id: int) -> ASNRangeType:
  14. return models.ASNRange.objects.get(pk=id)
  15. asn_range_list: List[ASNRangeType] = strawberry_django.field()
  16. @strawberry.field
  17. def aggregate(self, id: int) -> AggregateType:
  18. return models.Aggregate.objects.get(pk=id)
  19. aggregate_list: List[AggregateType] = strawberry_django.field()
  20. @strawberry.field
  21. def ip_address(self, id: int) -> IPAddressType:
  22. return models.IPAddress.objects.get(pk=id)
  23. ip_address_list: List[IPAddressType] = strawberry_django.field()
  24. @strawberry.field
  25. def ip_range(self, id: int) -> IPRangeType:
  26. return models.IPRange.objects.get(pk=id)
  27. ip_range_list: List[IPRangeType] = strawberry_django.field()
  28. @strawberry.field
  29. def prefix(self, id: int) -> PrefixType:
  30. return models.Prefix.objects.get(pk=id)
  31. prefix_list: List[PrefixType] = strawberry_django.field()
  32. @strawberry.field
  33. def rir(self, id: int) -> RIRType:
  34. return models.RIR.objects.get(pk=id)
  35. rir_list: List[RIRType] = strawberry_django.field()
  36. @strawberry.field
  37. def role(self, id: int) -> RoleType:
  38. return models.Role.objects.get(pk=id)
  39. role_list: List[RoleType] = strawberry_django.field()
  40. @strawberry.field
  41. def route_target(self, id: int) -> RouteTargetType:
  42. return models.RouteTarget.objects.get(pk=id)
  43. route_target_list: List[RouteTargetType] = strawberry_django.field()
  44. @strawberry.field
  45. def service(self, id: int) -> ServiceType:
  46. return models.Service.objects.get(pk=id)
  47. service_list: List[ServiceType] = strawberry_django.field()
  48. @strawberry.field
  49. def service_template(self, id: int) -> ServiceTemplateType:
  50. return models.ServiceTemplate.objects.get(pk=id)
  51. service_template_list: List[ServiceTemplateType] = strawberry_django.field()
  52. @strawberry.field
  53. def fhrp_group(self, id: int) -> FHRPGroupType:
  54. return models.FHRPGroup.objects.get(pk=id)
  55. fhrp_group_list: List[FHRPGroupType] = strawberry_django.field()
  56. @strawberry.field
  57. def fhrp_group_assignment(self, id: int) -> FHRPGroupAssignmentType:
  58. return models.FHRPGroupAssignment.objects.get(pk=id)
  59. fhrp_group_assignment_list: List[FHRPGroupAssignmentType] = strawberry_django.field()
  60. @strawberry.field
  61. def vlan(self, id: int) -> VLANType:
  62. return models.VLAN.objects.get(pk=id)
  63. vlan_list: List[VLANType] = strawberry_django.field()
  64. @strawberry.field
  65. def vlan_group(self, id: int) -> VLANGroupType:
  66. return models.VLANGroup.objects.get(pk=id)
  67. vlan_group_list: List[VLANGroupType] = strawberry_django.field()
  68. @strawberry.field
  69. def vrf(self, id: int) -> VRFType:
  70. return models.VRF.objects.get(pk=id)
  71. vrf_list: List[VRFType] = strawberry_django.field()