from typing import Union, List, Dict

from app.config import logger
from app.models import ConversionResponse
from app.convert.base_converter import BaseConverter


class InstagramStoriesImageConverter(BaseConverter):
    def read_file(self) -> None:
        # Implement image file reading logic
        pass

    def add_metadata(self) -> None:
        self.df = self.df.assign(index="instagram_stories_image", type="image",
                                 network="Instagram")

    def convert_columns(self) -> None:
        # Implement specific column conversions for Instagram stories image
        pass

    def rename_columns(self) -> None:
        # Implement column renaming for Instagram stories image
        pass

    def clean_data(self) -> None:
        # Add any Instagram stories image-specific data cleaning
        pass


def convert_instagram_stories_image(content: Union[str, bytes]) -> List[Dict]:
    logger.info(f"Starting conversion of {len(content)} bytes")
    converter = InstagramStoriesImageConverter(content)

    return converter.convert()
