"""Model representing a release logging.""" from sqlalchemy import Column from sqlalchemy import DateTime from sqlalchemy import Enum from sqlalchemy import Integer from product_digital.connectors import mysql class ReleaseLogging(mysql.BaseModel): """Release Logging model.""" __tablename__ = 'release_logging' release_logging_id = Column('id', Integer, primary_key=True, autoincrement=True, nullable=False) release_id = Column(Integer, nullable=False) changed_by_type = Column(Enum('vendor', 'oa', 'system'), default='system') changed_by = Column(Integer, default=0) updated_timestamp = Column(DateTime, nullable=False) def to_dict(self): """Return dictionary of release logging data. Returns: dict: release logging metadata. """ return { 'id': self.id, 'release_id': self.release_id, 'changed_by_type': self.changed_by_type, 'changed_by': self.changed_by, 'updated_timestamp': self.updated_timestamp } def delete(product_id, session): """Delete release_logging entry for the product.""" session.query(ReleaseLogging) \ .filter(ReleaseLogging.release_id == product_id) \ .delete()