PHP 8.2.30
Preview: event_hook.py Size: 1.74 KB
//proc/thread-self/root/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/model/event_hook.py

from time import time

from peewee import CharField, IntegerField, BooleanField

from defence360agent.model import instance, Model
from defence360agent.model.simplification import FilenameField


class EventHook(Model):
    """Imunify Hooks v1.0 configuration.

    .. deprecated:: 4.10 A new notification system was implemented in DEF-11680
    """

    class Meta:
        database = instance.db
        db_table = "event_hook"

    #: The path to the hook script.
    path = FilenameField(null=False)
    #: The event for which it should trigger.
    event = CharField(null=False)
    #: Timestamp when the hook was added.
    created = IntegerField(null=False, default=lambda: int(time()))
    #: Native hooks can be imported and executed as Python directly, without
    #: creating a separate process.
    native = BooleanField(default=False)

    @classmethod
    def list_events(cls, event):
        q = cls.select()
        if event != "all":
            q = q.where(cls.event == event)
        return list(q.dicts())

    @classmethod
    def add_hook(cls, event, path, native=False):
        q = cls.select().where((cls.event == event) & (cls.path == path))
        if q.exists():
            return None
        hook = cls.create(event=event, path=path, native=native)
        return hook.as_dict()

    @classmethod
    def delete_hook(cls, event, path):
        q = cls.select().where((cls.event == event) & (cls.path == path))
        if not q.exists():
            return None
        hook = q.get()
        data = hook.as_dict()
        hook.delete_instance()
        return data

    def as_dict(self):
        return {
            "path": self.path,
            "event": self.event,
            "created": self.created,
            "native": self.native,
        }

Directory Contents

Dirs: 1 × Files: 10

Name Size Perms Modified Actions
- drwxr-xr-x 2026-03-03 08:59:03
Edit Download
3.40 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
1.74 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
1.16 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
4.24 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
536 B lrw-r--r-- 2026-01-23 13:13:42
Edit Download
1.37 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
5.01 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
1.29 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
13.02 KB lrw-r--r-- 2026-01-23 13:13:42
Edit Download
963 B lrw-r--r-- 2026-01-23 13:13:42
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).