/api/views.py

https://github.com/pythonzm/Ops
Python | 132 lines | 87 code | 42 blank | 3 comment | 0 complexity | 9915012fae409c3635e549937de4686f MD5 | raw file
  1. import copy
  2. from rest_framework import viewsets, permissions
  3. from api.serializers import *
  4. class CustomDjangoModelPermission(permissions.DjangoModelPermissions):
  5. def __init__(self):
  6. self.perms_map = copy.deepcopy(self.perms_map) # you need deepcopy when you inherit a dictionary type
  7. self.perms_map['GET'] = ['%(app_label)s.add_%(model_name)s']
  8. class InventoryViewSet(viewsets.ModelViewSet):
  9. """
  10. 处理 GET POST , 处理 /api/post/<pk>/ GET PUT PATCH DELETE
  11. """
  12. queryset = AnsibleInventory.objects.all().order_by('id')
  13. serializer_class = InventorySerializer
  14. permission_classes = (CustomDjangoModelPermission,)
  15. class AssetsViewSet(viewsets.ModelViewSet):
  16. queryset = Assets.objects.all().order_by('id')
  17. serializer_class = AssetsSerializer
  18. permission_classes = (CustomDjangoModelPermission,)
  19. class ServerAssetsViewSet(viewsets.ModelViewSet):
  20. queryset = ServerAssets.objects.all().order_by('id')
  21. serializer_class = ServerAssetsSerializer
  22. permission_classes = (CustomDjangoModelPermission,)
  23. class NetworkAssetsViewSet(viewsets.ModelViewSet):
  24. queryset = NetworkAssets.objects.all().order_by('id')
  25. serializer_class = NetworkAssetsSerializer
  26. permission_classes = (CustomDjangoModelPermission,)
  27. class OfficeAssetsViewSet(viewsets.ModelViewSet):
  28. queryset = OfficeAssets.objects.all().order_by('id')
  29. serializer_class = OfficeAssetsSerializer
  30. permission_classes = (CustomDjangoModelPermission,)
  31. class SecurityAssetsViewSet(viewsets.ModelViewSet):
  32. queryset = SecurityAssets.objects.all().order_by('id')
  33. serializer_class = SecurityAssetsSerializer
  34. permission_classes = (CustomDjangoModelPermission,)
  35. class StorageAssetsViewSet(viewsets.ModelViewSet):
  36. queryset = StorageAssets.objects.all().order_by('id')
  37. serializer_class = StorageAssetsSerializer
  38. permission_classes = (CustomDjangoModelPermission,)
  39. class SoftwareAssetsViewSet(viewsets.ModelViewSet):
  40. queryset = SoftwareAssets.objects.all().order_by('id')
  41. serializer_class = SoftwareAssetsSerializer
  42. permission_classes = (CustomDjangoModelPermission,)
  43. class ProjectViewSet(viewsets.ModelViewSet):
  44. queryset = Project.objects.all().order_by('id')
  45. serializer_class = ProjectSerializer
  46. permission_classes = (CustomDjangoModelPermission,)
  47. class ProjectConfigViewSet(viewsets.ModelViewSet):
  48. queryset = ProjectConfig.objects.all().order_by('id')
  49. serializer_class = ProjectConfigSerializer
  50. permission_classes = (CustomDjangoModelPermission,)
  51. class ServiceViewSet(viewsets.ModelViewSet):
  52. queryset = Service.objects.all().order_by('id')
  53. serializer_class = ServiceSerializer
  54. permission_classes = (CustomDjangoModelPermission,)
  55. class AssetProviderViewSet(viewsets.ModelViewSet):
  56. queryset = AssetProvider.objects.all().order_by('id')
  57. serializer_class = AssetProviderSerializer
  58. permission_classes = (CustomDjangoModelPermission,)
  59. class IDCViewSet(viewsets.ModelViewSet):
  60. queryset = IDC.objects.all().order_by('id')
  61. serializer_class = IDCSerializer
  62. permission_classes = (CustomDjangoModelPermission,)
  63. class CabinetViewSet(viewsets.ModelViewSet):
  64. queryset = Cabinet.objects.all().order_by('id')
  65. serializer_class = CabinetSerializer
  66. permission_classes = (CustomDjangoModelPermission,)
  67. class FortViewSet(viewsets.ModelViewSet):
  68. queryset = FortServer.objects.all().order_by('id')
  69. serializer_class = FortSerializer
  70. permission_classes = (CustomDjangoModelPermission,)
  71. class FortUserViewSet(viewsets.ModelViewSet):
  72. queryset = FortServerUser.objects.all().order_by('id')
  73. serializer_class = FortUserSerializer
  74. permission_classes = (CustomDjangoModelPermission,)
  75. class PeriodicTaskViewSet(viewsets.ModelViewSet):
  76. queryset = PeriodicTask.objects.all()
  77. serializer_class = PeriodicTaskSerializer
  78. permission_classes = (CustomDjangoModelPermission,)
  79. class WebSiteViewSet(viewsets.ModelViewSet):
  80. queryset = WebSite.objects.all()
  81. serializer_class = WebSiteSerializer
  82. permission_classes = (CustomDjangoModelPermission,)
  83. class PostViewSet(viewsets.ModelViewSet):
  84. queryset = Post.objects.all()
  85. serializer_class = PostSerializer
  86. permission_classes = (CustomDjangoModelPermission,)
  87. class PullAssetConfViewSet(viewsets.ModelViewSet):
  88. queryset = PullAssetConf.objects.all()
  89. serializer_class = PullAssetConfSerializer
  90. permission_classes = (CustomDjangoModelPermission,)