from dataclasses import dataclass, field import logging setup_logging = __import__('logging_config').setup_logging setup_logging() logger = logging.getLogger('entities') @dataclass class Entity: data: dict = field(default_factory=dict) def create(self, key: str, value: any): if not isinstance(key, str) or value is None: logger.error('Invalid key or value') return self.data[key] = value logger.info(f"Create: {key} = {value}") def read(self, key: str): if not isinstance(key, str): logger.error('Invalid key') return value = self.data.get(key) logger.info(f"Read: {key} = {value}") return value def update(self, key: str, value: any): if not isinstance(key, str) or value is None: logger.error('Invalid key or value') return self.data[key] = value logger.info(f"Update: {key} = {value}") def delete(self, key: str): if not isinstance(key, str): logger.error('Invalid key') return if key in self.data: del self.data[key] logger.info(f"Delete: {key}")