inference / interactors /interactor.py
hoduyquocbao's picture
viper
5b69d8a
import logging
from channels.channel import Channel
from entities.entity import Entity
from type import TYPES # type: ignore
class Interactor:
def __init__(self, channel: Channel, entity: Entity):
self.channel = channel
self.entity = entity
self.channel.on('create', self.create)
self.channel.on('read', self.read)
self.channel.on('update', self.update)
self.channel.on('delete', self.delete)
def create(self, key: str, value: any):
try:
self.entity.create(key, value)
logging.info(f"Create event emitted: {key} = {value}")
except Exception as e:
logging.error(f"Error emitting create event: {e}")
def read(self, key: str):
try:
self.entity.read(key)
logging.info(f"Read event emitted: {key}")
except Exception as e:
logging.error(f"Error emitting read event: {e}")
def update(self, key: str, value: any):
try:
self.entity.update(key, value)
logging.info(f"Update event emitted: {key} = {value}")
except Exception as e:
logging.error(f"Error emitting update event: {e}")
def delete(self, key: str):
try:
self.entity.delete(key)
logging.info(f"Delete event emitted: {key}")
except Exception as e:
logging.error(f"Error emitting delete event: {e}")