"""reference_payment_entity Model.""" from abacus_common_logic.connectors.database import db from abacus_common_logic.models.base import BaseModel class ReferencePaymentEntity(BaseModel): """reference_payment_entity Model.""" __tablename__ = 'reference_payment_entity' reference_payment_entity_id = db.Column(db.Integer, primary_key=True) payment_entity_name = db.Column(db.String(180), nullable=False) country_of_tax_reporting = db.Column(db.String(3), nullable=False) reference_signing_entity = db.relationship( 'ReferenceSigningEntity', backref='reference_payment_entity', cascade='all, delete-orphan', uselist=True, ) @classmethod def get_by_ids(cls, payment_entity_ids: list[int]) -> list: """Get reference payment entities by ids. Args: payment_entity_ids (list[int]): A list of reference payment entity IDs. Returns: list: The matching reference payment entities. """ if not payment_entity_ids: return [] unique_ids = list(set(payment_entity_ids)) return ( cls.query.filter(cls.reference_payment_entity_id.in_(unique_ids)) .order_by(cls.reference_payment_entity_id) .all() )