sp-hydra-veil-core/core/models/session/SessionConnection.py

32 lines
911 B
Python

from core.models.BaseConnection import BaseConnection
from dataclasses import dataclass
from enum import Enum
class SessionConnectionTypes(str, Enum):
WIREGUARD = "wireguard"
TOR = "tor"
@dataclass
class SessionConnection(BaseConnection):
code: SessionConnectionTypes
masked: bool
# Called by: ConnectionController
# doesn't even make sense, it's checking if the Session is code system. this will always be false.
def is_unprotected(self):
return self.code == 'system' and self.masked is False
# Called by: SessionProfile.determine_timezone
def needs_proxy_configuration(self):
return self.masked is True
# legacy:
# @dataclass
# class SessionConnection(BaseConnection):
# masked: bool = False
# def __post_init__(self):
# if self.code not in ('system', 'tor', 'wireguard'):
# raise ValueError('Invalid connection code.')