""" Service layer for CountryRuleOct. """ from sqlalchemy.orm import Session from . import dto, models class CountryRuleOctService: @staticmethod def get_country_by_keys( db: Session, permission: str, line: int, fraction: str, country_code: str ): return ( db.query(models.CountryRuleOct) .filter( models.CountryRuleOct.permission == permission, models.CountryRuleOct.line == line, models.CountryRuleOct.fraction == fraction, models.CountryRuleOct.country_code == country_code, ) .first() ) @staticmethod def create_country_rule(db: Session, country_data: dto.CountryRuleOctCreateDTO): new_country = models.CountryRuleOct(**country_data.dict()) db.add(new_country) db.commit() db.refresh(new_country) return new_country @staticmethod def delete_country_rule( db: Session, permission: str, line: int, fraction: str, country_code: str ): country = CountryRuleOctService.get_country_by_keys( db, permission, line, fraction, country_code ) if country: db.delete(country) db.commit() return country