"""Currencies model.""" from abacus_common_logic.connectors.database import db from abacus_common_logic.models.base import CRUDMixin class Currencies(db.Model, CRUDMixin): """Currencies model. This model maps `currencies` table from art_relations. """ __tablename__ = 'currencies' currency_id = db.Column('id', db.Integer, primary_key=True) ISO_4217_code = db.Column(db.String(12), nullable=True) symbol_html_entity_code = db.Column(db.String(45), nullable=True) currency_name = db.Column(db.String(45), nullable=True) decimal_mark = db.Column(db.String(1), nullable=True) thousands_separator = db.Column(db.String(1), nullable=True) symbol_infront = db.Column(db.String(1), nullable=True) subunit_to_unit = db.Column(db.Integer, nullable=True) subunit_name = db.Column(db.String(45), nullable=True) supported_payout_currency = db.Column(db.String(1), nullable=True, default='N') @classmethod def get_by_iso_code(cls, iso_4217_code: str) -> object: """Get currency by iso 4217 code.""" return cls.query.filter(cls.ISO_4217_code == iso_4217_code).first()