403Webshell
Server IP : 66.29.132.124  /  Your IP : 3.131.37.82
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/model/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /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,
        }

Youez - 2016 - github.com/yon3zu
LinuXploit