from typing import Union, List, Dict

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


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

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

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

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

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


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

    return converter.convert()
