from services.database_service import DatabaseService from models.entities.celula import Celula class CelulaService: """Service for Celula operations""" @staticmethod def get_all_celulas(): """Get all celulas from the database""" db = DatabaseService.get_db_connection() try: celulas = db.query(Celula).all() return celulas finally: db.close() @staticmethod def get_celula_by_id(celula_id): """Get a celula by its ID""" db = DatabaseService.get_db_connection() try: celula = db.query(Celula).get(celula_id) return celula finally: db.close() @staticmethod def create_celula(data): """Create a new celula""" db = DatabaseService.get_db_connection() try: celula = Celula(**data) db.add(celula) db.commit() return celula except Exception as e: db.rollback() raise e finally: db.close() @staticmethod def update_celula(celula_id, data): """Update an existing celula""" db = DatabaseService.get_db_connection() try: celula = db.query(Celula).get(celula_id) if not celula: return None for key, value in data.items(): setattr(celula, key, value) db.commit() return celula except Exception as e: db.rollback() raise e finally: db.close() @staticmethod def delete_celula(celula_id): """Delete a celula""" db = DatabaseService.get_db_connection() try: celula = db.query(Celula).get(celula_id) if not celula: return False db.delete(celula) db.commit() return True except Exception as e: db.rollback() raise e finally: db.close()