Server IP : 51.89.169.208 / Your IP : 3.135.190.81 Web Server : Apache System : Linux ns3209505.ip-198-244-202.eu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Tue Nov 5 04:50:16 EST 2024 x86_64 User : yellowleaf ( 1019) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /opt/imunify360/venv/lib64/python3.11/site-packages/defence360agent/model/ |
Upload File : |
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, }