mirror of
https://github.com/donaldzou/WGDashboard.git
synced 2025-10-04 00:06:18 +00:00
Added Pydantic for configurations info
This commit is contained in:
24
src/modules/WireguardConfigurationInfo.py
Normal file
24
src/modules/WireguardConfigurationInfo.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from pydantic import BaseModel, PositiveInt
|
||||
|
||||
class OverridePeerSettingsClass(BaseModel):
|
||||
DNS: str = ''
|
||||
EndpointAllowedIPs: str = ''
|
||||
MTU: str | int = ''
|
||||
PersistentKeepalive: int | str = ''
|
||||
PeerRemoteEndpoint: str = ''
|
||||
ListenPort: int | str = ''
|
||||
|
||||
class PeerGroupsClass(BaseModel):
|
||||
Description: str = ''
|
||||
BackgroundColor: str = ''
|
||||
Peers: list[str] = []
|
||||
|
||||
class WireguardConfigurationInfo(BaseModel):
|
||||
Description: str = ''
|
||||
OverridePeerSettings: OverridePeerSettingsClass = OverridePeerSettingsClass(**{})
|
||||
PeerGroups: dict[str, PeerGroupsClass] = {}
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
d = WireguardConfigurationInfo.model_validate_json("{\"Description\": \"Hi!\"}")
|
||||
print(d.model_dump())
|
Reference in New Issue
Block a user