"""Model representing release manual adjustment.""" from sqlalchemy import Column from sqlalchemy import DateTime from sqlalchemy import Enum from sqlalchemy import Integer from sqlalchemy import String from product_digital.connectors import mysql class ReleaseManualAdjustment(mysql.BaseModel): """Release Manual Adjustment model.""" __tablename__ = 'release_manual_adjustment' release_manual_adjustment_id = Column('id', Integer, primary_key=True, autoincrement=True, nullable=False) date_created = Column(DateTime, nullable=False) created_by = Column(Integer, nullable=False) category_id = Column(Integer, nullable=False) release_id = Column(Integer, nullable=False) amount = Column(Integer, nullable=False) currencies_id = Column(Integer, nullable=False) description = Column(String) vendor_manual_adjustment_id = Column(Integer, nullable=False) last_updated = Column(DateTime, nullable=False) last_modified_by = Column(Integer, default=179) user_type = Column(Enum('oa', 'alw', 'system'), default='system') def to_dict(self): """Return dictionary of release manual adjustment data. Returns: dict: release manual adjustment metadata. """ return { 'id': self.id, 'date_created': self.date_created, 'category_id': self.category_id, 'release_id': self.release_id, 'amount': self.amount, 'currencies_id': self.currencies_id, 'description': self.description, 'vendor_manual_adjustment_id': self.vendor_manual_adjustment_id, 'last_updated': self.last_updated, 'last_modified_by': self.last_modified_by, 'user_type': self.user_type } def delete(product_id, session): """Delete release_manual_adjustment entry for the product.""" session.query(ReleaseManualAdjustment) \ .filter(ReleaseManualAdjustment.release_id == product_id) \ .delete()