Files
firegex-traffic-viewer/backend/modules/nfproxy/models.py

59 lines
1.3 KiB
Python
Raw Normal View History

class Service:
def __init__(
self,
service_id: str,
status: str,
port: int,
name: str,
proto: str,
ip_int: str,
fail_open: bool,
**other,
):
self.id = service_id
self.status = status
self.port = port
self.name = name
self.proto = proto
self.ip_int = ip_int
self.fail_open = fail_open
@classmethod
def from_dict(cls, var: dict):
return cls(**var)
2025-02-11 19:11:30 +01:00
class PyFilter:
def __init__(
self,
name: str,
service_id: str,
blocked_packets: int,
edited_packets: int,
active: bool,
db,
**other,
):
2025-02-11 19:11:30 +01:00
self.name = name
self.blocked_packets = blocked_packets
2025-02-11 19:11:30 +01:00
self.edited_packets = edited_packets
self.active = active
2025-02-25 23:53:04 +01:00
self.__db = db
self.srv_id = service_id
2025-02-25 23:53:04 +01:00
async def update(self):
self.__db.query(
"UPDATE pyfilter SET blocked_packets = ?, edited_packets = ? WHERE name = ? AND service_id = ?;",
self.blocked_packets,
self.edited_packets,
self.name,
self.srv_id,
)
2025-02-25 23:53:04 +01:00
def __repr__(self):
return f"<PyFilter {self.name}>"
2025-02-11 19:11:30 +01:00
@classmethod
2025-02-25 23:53:04 +01:00
def from_dict(cls, var: dict, db):
return cls(**var, db=db)