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
« 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
14class VendorSerializer(serializers.ModelSerializer):
15 class Meta:
16 model = Vendor
17 fields = ["id", "name", "is_hardware", "is_software"]
20class StatusSerializer(serializers.ModelSerializer):
21 class Meta:
22 model = Status
23 fields = ["id", "name"]
26class OSSerializer(serializers.ModelSerializer):
27 vendor = serializers.SlugRelatedField(
28 slug_field="name", queryset=Vendor.objects.all()
29 )
31 class Meta:
32 model = OS
33 fields = ["id", "version", "vendor"]
36class ServerModelSerializer(serializers.ModelSerializer):
37 vendor = serializers.SlugRelatedField(
38 slug_field="name", queryset=Vendor.objects.all()
39 )
41 class Meta:
42 model = ServerModel
43 fields = ["id", "name", "vendor"]
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)
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 ]
80class LocationSerializer(serializers.ModelSerializer):
81 class Meta:
82 model = Location
83 fields = "__all__"
86class DomainSerializer(serializers.ModelSerializer):
87 class Meta:
88 model = Domain
89 fields = "__all__"
92class PatchtimeSerializer(serializers.ModelSerializer):
93 class Meta:
94 model = Patchtime
95 fields = "__all__"
98class ClusterSerializer(serializers.ModelSerializer):
99 class Meta:
100 model = Cluster
101 fields = "__all__"
104class ClusterPackageSerializer(serializers.ModelSerializer):
105 class Meta:
106 model = ClusterPackage
107 fields = "__all__"