export interface VideoData {
  id: string;
  type: "Movie" | "Episode" | "Reel";
  title: string;
  description: string;
  videoUrl: string;
  thumbnailUrl: string;
  seriesTitle?: string;
}

const API_BASE_URL = "https://reelflix-api.devstree.in/api/v1";

export async function fetchVideoContent(
  videoId: string,
  episodeId: string
): 
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
Promise<any | null> {
  try {
    if (videoId || episodeId) {
      const queryParam = videoId
        ? `video_id=${videoId}`
        : `episode_id=${episodeId}`;
      const apiUrl = `${API_BASE_URL}/content/detail-for-deeplink?${queryParam}`;
      const response = await fetch(apiUrl);
      if (!response.ok) {
        return null;
      }
      const apiData = await response.json();
      console.log(apiData, "apiData");
      if (!apiData?.data) {
        console.error("[DEBUG] No data found in API response");
        return null;
      }
      return {
        id: apiData.data.video_id || apiData.data.episode_id || "",
        type: episodeId ? "Episode" : "Movie",
        title: apiData.data.title,
        tags: apiData?.data?.tags,
        description: apiData.data.description,
        videoUrl: apiData.data.video_url || "",
        thumbnailUrl: apiData.data.thumbnail || "",
        seriesTitle: apiData.data.series_title || undefined,
      };
    }

    console.error("[DEBUG] No videoId or episodeId provided");
    return null;
  } catch (error) {
    console.error("[DEBUG] Error in fetchVideoContent:", error);
    return null;
  }
}
