Files
sakhteman/core/modules/logger/__init__.py
T
2024-02-15 00:17:51 +03:30

58 lines
1.3 KiB
Python

from enum import Enum
from typing import Union
from fluent import event
from fluent import sender
class Types(Enum):
Default = 'default'
EditData = 'edit_data'
CreateData = 'create_data'
DeleteData = 'delete_data'
Auth = 'authentication'
System = 'system'
Error = 'error'
Upgrade = 'upgrade'
Access = 'access'
def emit(payload: dict, tag: Union[Types, str] = Types.Default) -> None:
sender.setup('mongo', host='localhost', port=24224)
# try:
# owner = useUser().id
# payload['owner'] = str(owner)
# except BaseException:
# payload['owner'] = 'anonymous'
# finally:
val = tag.value if isinstance(tag, Types) else tag
event.Event(val, payload)
def update(dest: str, payload: dict) -> None:
emit({'dest': dest, **payload}, Types.EditData)
def insert(dest: str, payload: dict) -> None:
emit({'dest': dest, **payload}, Types.CreateData)
def delete(dest: str, payload: dict) -> None:
emit({'dest': dest, **payload}, Types.DeleteData)
def access(payload: dict) -> None:
emit(payload, Types.Access)
def auth(payload: dict) -> None:
emit(payload, Types.Auth)
def system(payload: dict) -> None:
emit(payload, Types.System)
def upgrade(payload: dict) -> None:
emit(payload, Types.Upgrade)