"""ReferencePaymentEntity Model. It is a READ ONLY model for accessing data. The real business logic lives in the ows-abacus-contract repository. """ from abacus_common_logic.connectors.database import db from sqlalchemy import select from sqlalchemy.sql import literal_column, table class ReferencePaymentEntity: """ReferencePaymentEntity Model.""" @classmethod def get_payment_entity_by_name(cls, payment_entity_name: str): """Get AWAL payment entities. Args: payment_entity_name (str): name of reference_payment_entity Returns: a reference_payment_entity row """ query = ( select([literal_column('rpe.*')]) .where(literal_column('rpe.payment_entity_name') == payment_entity_name) .select_from(table('reference_payment_entity').alias('rpe')) ) return db.session.execute(query).fetchone()