1
1
from rest_framework import serializers
2
2
3
+ from core .api .serializers_ .jobs import JobSerializer
3
4
from dcim .api .serializers import DeviceSerializer
4
5
from ipam .api .serializers import IPAddressSerializer
5
6
from netbox .api .serializers import NetBoxModelSerializer
6
7
7
- from netbox_config_backup .models import Backup
8
-
8
+ from netbox_config_backup .models import Backup , BackupJob
9
9
10
10
__all__ = (
11
11
'BackupSerializer' ,
12
+ 'BackupJobSerializer' ,
12
13
)
13
14
14
15
@@ -26,3 +27,19 @@ class Meta:
26
27
'uuid' , 'status' , 'config_status' ,
27
28
]
28
29
brief_fields = ('display' , 'id' , 'name' , 'url' )
30
+
31
+
32
+ class BackupJobSerializer (NetBoxModelSerializer ):
33
+ url = serializers .HyperlinkedIdentityField (
34
+ view_name = 'plugins-api:netbox_config_backup-api:backup-detail'
35
+ )
36
+ runner = JobSerializer (nested = True , required = True , allow_null = False ),
37
+ backup = BackupSerializer (nested = True , required = True , allow_null = False )
38
+
39
+ class Meta :
40
+ model = BackupJob
41
+ fields = [
42
+ 'id' , 'url' , 'display' , 'runner' , 'backup' , 'pid' , 'created' , 'scheduled' , 'started' , 'completed' , 'status'
43
+ 'data' , 'status' , 'job_id' ,
44
+ ]
45
+ brief_fields = ('backup' , 'display' , 'id' , 'runner' , 'url' )
0 commit comments