"""Distribution Format Media Format model.""" from oto import response from sqlalchemy import Column from sqlalchemy import String from sqlalchemy import Integer from sqlalchemy.exc import SQLAlchemyError from product_configuration.connectors import mysql from product_configuration.connectors.mysql import db_session from product_configuration.connectors.sentry import sentry_client class DistributionFormatMediaFormat(mysql.BaseModel): """Distribution Format Media Format model. Represents the `distribution_format_media_format` table in `art_relations`. """ __tablename__ = 'distribution_format_media_format' distribution_format_media_format_id = Column( Integer, primary_key=True, autoincrement=True, nullable=False) name = Column(String) def to_dict(self): """Return a dictionary of a distribution_format_media type.""" return { 'distribution_format_media_format_id': self.distribution_format_media_format_id, 'name': self.name } @mysql.wrap_db_errors def get_all_media_formats(): """Get all distribution media formats. Returns: response.Response: containing list of all distribution_format_media_formats. """ with db_session() as session: try: result = session.query(DistributionFormatMediaFormat).all() media_formats = [media_format.to_dict() for media_format in result] return response.Response(status=200, message=media_formats) except SQLAlchemyError as e: sentry_client.capture_exception(e) return response.create_fatal_response()