ÿØÿà JPEG ÿþ;
| Server IP : 68.65.120.201 / Your IP : 216.73.216.221 Web Server : LiteSpeed System : Linux server179.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64 User : taxhyuvu ( 2294) PHP Version : 8.1.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 : |
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,
}