Projekt

Obecné

Profil

Stáhnout (1.52 KB) Statistiky
| Větev: | Tag: | Revize:
1 aba60b70 Matej Zeman
from typing import List, Optional
2
3
from pydantic import BaseModel
4
5
6
7 6c1e92e3 Matej Zeman
class DeviceLicenseBase(BaseModel):
8
    device_id: int
9
    license_id: int
10
    assigned_datetime: str
11
12
13
class DeviceLicenseCreate(DeviceLicenseBase):
14
    pass
15
16
17
class DeviceLicense(DeviceLicenseCreate):
18
    id: int
19
20
    class Config:
21
        orm_mode = True
22
23
24 aba60b70 Matej Zeman
class USBLogBase(BaseModel):
25
    timestamp: str
26
    status: str
27
28
29
class USBLogCreate(USBLogBase):
30
    pass
31
32
33
class USBLog(USBLogBase):
34
    id: int
35
    device_id: int
36 6c1e92e3 Matej Zeman
    pc_id: int
37 aba60b70 Matej Zeman
38
    class Config:
39
        orm_mode = True
40
41
42
class DeviceBase(BaseModel):
43
    vendor_id: int
44
    product_id: int
45
    serial_number: str
46
47
48
class DeviceCreate(DeviceBase):
49
    pass
50
51
52
class Device(DeviceBase):
53
    id: int
54
    logs: List[USBLog] = []
55 6c1e92e3 Matej Zeman
    licenses: List[DeviceLicense] = []
56
57
    class Config:
58
        orm_mode = True
59
60
61
class PCBase(BaseModel):
62
    username: str
63
    hostname: str
64
65
66
class PCCreate(PCBase):
67
    pass
68
69
70
class PC(PCCreate):
71
    id: int
72
    logs_pc: List[USBLog] = []
73
74
    class Config:
75
        orm_mode = True
76
77
78
class LicenseBase(BaseModel):
79
    name: str
80
    expiration_date: str
81
82
83
class LicenseCreate(LicenseBase):
84
    pass
85
86
87
class License(LicenseCreate):
88
    id: int
89
    devices: List[DeviceLicense] = []
90 aba60b70 Matej Zeman
91
    class Config:
92
        orm_mode = True
93
94
95
class USBTempBase(BaseModel):
96
    username: str
97
    hostname: str
98
    timestamp: str
99
    device: DeviceBase
100
    status: str
101
102
103
class USBTempCreate(USBTempBase):
104
    pass
105
106
107
class USBTemp(USBTempBase):
108
    id: int
109
    device_id: int
110
111
    class Config:
112
        orm_mode = True