PK œqhYî¶J‚ßFßF)nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/ $#$#$#

Dir : /opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/contracts/
Server: Linux cloud.virginhosting.lk 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
IP: 128.140.68.198
Choose File :

Url:
Dir : //opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/contracts/hook_events.py

# todo: figure out how HookEvents.* is typed
# type: ignore
from defence360agent.contracts.config import HookEvents
from defence360agent.contracts.messages import Message

STARTED, FINISHED = "started", "finished"


class _HookEventBase(Message):
    event = None
    subtype = None

    def __repr__(self):
        filtered = {k: v for k, v in self.items() if k != "DUMP"}
        return f"{self.__class__.__qualname__}({repr(filtered)})"


class _Agent(_HookEventBase):
    event = HookEvents.AGENT


class _License(_HookEventBase):
    event = HookEvents.LICENSE


class _MalwareScanning(_HookEventBase):
    event = HookEvents.MALWARE_SCANNING


class _MalwareDetected(_HookEventBase):
    event = HookEvents.MALWARE_DETECTED


class _MalwareCleanup(_HookEventBase):
    event = HookEvents.MALWARE_CLEANUP


class HookEvent:
    class AgentStarted(_Agent):
        subtype = STARTED

    class AgentMisconfig(_Agent):
        subtype = "misconfig"

    class LicenseExpired(_License):
        subtype = "expired"

    class LicenseExpiring(_License):
        subtype = "expiring"

    class LicenseRenewed(_License):
        subtype = "renewed"

    class MalwareScanningStarted(_MalwareScanning):
        subtype = STARTED

    class MalwareScanningFinished(_MalwareScanning):
        subtype = FINISHED

    class MalwareDetectedCritical(_MalwareDetected):
        subtype = "critical"

    class MalwareCleanupStarted(_MalwareCleanup):
        subtype = STARTED

    class MalwareCleanupFinished(_MalwareCleanup):
        subtype = FINISHED