"""Reference Payment Type model.""" from abacus_common_logic.connectors.database import db from sqlalchemy import Enum, select from payment.constants.constants import REFERENCE_PAYMENT_TYPES class ReferencePaymentType(db.Model): """Reference Payment Type model.""" __tablename__ = 'reference_payment_type' reference_payment_type_id = db.Column(db.Integer, primary_key=True) payment_type = db.Column( Enum(*REFERENCE_PAYMENT_TYPES, name='payment_type', create_type=False), default=REFERENCE_PAYMENT_TYPES.ADVANCE, nullable=False, ) payment_service = db.Column(db.String(255), nullable=False) is_internal = db.Column(db.Boolean, nullable=False, default=False) notes = db.Column(db.String(255), nullable=True) @classmethod def get_all(cls) -> list: """Return all reference payment type records.""" return db.session.execute(select(cls)).scalars().all()