service_module_manager.py 1.2 KB

123456789101112131415161718192021222324252627
  1. from pqai_agent.data_models.service_module import ServiceModule, ModuleAgentType
  2. from pqai_agent.logging_service import logger
  3. class ServiceModuleManager:
  4. def __init__(self, session_maker):
  5. self.session_maker = session_maker
  6. self.module_configs = {}
  7. self.refresh_configs()
  8. def refresh_configs(self):
  9. try:
  10. with self.session_maker() as session:
  11. data = session.query(ServiceModule).filter_by(is_delete=False).all()
  12. module_configs = {}
  13. for module in data:
  14. module_configs[module.name] = {
  15. 'display_name': module.display_name,
  16. 'default_agent_type': ModuleAgentType(module.default_agent_type),
  17. 'default_agent_id': module.default_agent_id
  18. }
  19. self.module_configs = module_configs
  20. logger.debug(f"Refreshed module configurations: {module_configs}")
  21. except Exception as e:
  22. logger.error(f"Error refreshing module configs: {e}")
  23. def get_module_config(self, module_name: str):
  24. return self.module_configs.get(module_name)