"""Sales File model.""" from abacus_common_logic.connectors.database import db from abacus_common_logic.models.base import BaseModel from sqlalchemy.orm import backref class SalesFile(BaseModel): """Sales file model.""" __tablename__ = 'sales_file' sales_file_id = db.Column(db.Integer, primary_key=True) accounting_period_id = db.Column( db.Integer, db.ForeignKey('accounting_period.accounting_period_id'), nullable=False, ) accounting_period = db.relationship( 'AccountingPeriod', backref=backref('sales_files', lazy='joined'), lazy='joined' ) amount_usd = db.Column(db.Numeric(20, 2)) file_name = db.Column(db.String(255), nullable=False) row_count = db.Column(db.Integer, nullable=True) main_url = db.Column(db.String(255), nullable=True, unique=True) @classmethod def find_by_name(cls, file_name): """Override base model's find_by_name.""" return cls.query.filter_by(file_name=file_name).first()