Coverage for sm / api / serializers.py: 100%

59 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-03-24 12:43 +0000

1from rest_framework import serializers 

2from vendor.models import Model as Vendor 

3from status.models import Model as Status 

4from location.models import Model as Location 

5from domain.models import Model as Domain 

6from patchtime.models import Model as Patchtime 

7from operatingsystem.models import Model as OS 

8from servermodel.models import Model as ServerModel 

9from server.models import Model as Server 

10from cluster.models import Model as Cluster 

11from clusterpackage.models import Model as ClusterPackage 

12 

13 

14class VendorSerializer(serializers.ModelSerializer): 

15 class Meta: 

16 model = Vendor 

17 fields = ["id", "name", "is_hardware", "is_software"] 

18 

19 

20class StatusSerializer(serializers.ModelSerializer): 

21 class Meta: 

22 model = Status 

23 fields = ["id", "name"] 

24 

25 

26class OSSerializer(serializers.ModelSerializer): 

27 vendor = serializers.SlugRelatedField( 

28 slug_field="name", queryset=Vendor.objects.all() 

29 ) 

30 

31 class Meta: 

32 model = OS 

33 fields = ["id", "version", "vendor"] 

34 

35 

36class ServerModelSerializer(serializers.ModelSerializer): 

37 vendor = serializers.SlugRelatedField( 

38 slug_field="name", queryset=Vendor.objects.all() 

39 ) 

40 

41 class Meta: 

42 model = ServerModel 

43 fields = ["id", "name", "vendor"] 

44 

45 

46class ServerSerializer(serializers.ModelSerializer): 

47 status = serializers.SlugRelatedField( 

48 slug_field="name", queryset=Status.objects.all() 

49 ) 

50 domain = serializers.SlugRelatedField( 

51 slug_field="name", queryset=Domain.objects.all() 

52 ) 

53 location = serializers.SlugRelatedField( 

54 slug_field="name", queryset=Location.objects.all() 

55 ) 

56 patchtime = serializers.SlugRelatedField( 

57 slug_field="name", queryset=Patchtime.objects.all() 

58 ) 

59 operatingsystem = OSSerializer(read_only=True) 

60 servermodel = ServerModelSerializer(read_only=True) 

61 

62 class Meta: 

63 model = Server 

64 fields = [ 

65 "id", 

66 "hostname", 

67 "domain", 

68 "status", 

69 "location", 

70 "operatingsystem", 

71 "servermodel", 

72 "patchtime", 

73 "primary_ip", 

74 "delivery_date", 

75 "install_date", 

76 "description", 

77 ] 

78 

79 

80class LocationSerializer(serializers.ModelSerializer): 

81 class Meta: 

82 model = Location 

83 fields = "__all__" 

84 

85 

86class DomainSerializer(serializers.ModelSerializer): 

87 class Meta: 

88 model = Domain 

89 fields = "__all__" 

90 

91 

92class PatchtimeSerializer(serializers.ModelSerializer): 

93 class Meta: 

94 model = Patchtime 

95 fields = "__all__" 

96 

97 

98class ClusterSerializer(serializers.ModelSerializer): 

99 class Meta: 

100 model = Cluster 

101 fields = "__all__" 

102 

103 

104class ClusterPackageSerializer(serializers.ModelSerializer): 

105 class Meta: 

106 model = ClusterPackage 

107 fields = "__all__"