import { ApiClient } from '@/lib/apiClient';

export const fetchV2Lyrics = async (apiClient: ApiClient, clipId: string) => {
  const result = await apiClient.GET('/api/gen/{clip_id}/aligned_lyrics/v2', {
    params: {
      path: {
        clip_id: clipId,
      },
    },
  });
  if (!result.data) {
    throw new Error(result.error);
  }
  return result.data;
};

export const fetchV3LyricsInitiate = async (
  apiClient: ApiClient,
  clipId: string,
  lyrics: string,
  augment: boolean
) => {
  const result = await apiClient.POST('/api/gen/{clip_id}/aligned_lyrics/v3', {
    params: {
      path: {
        clip_id: clipId,
      },
    },
    body: {
      lyrics,
      enable_augmentation: augment,
    },
  });
  if (!result.data) {
    throw new Error(result.error);
  }
  return result.data;
};

export const fetchV3Lyrics = async (apiClient: ApiClient, clipId: string) => {
  const result = await apiClient.GET('/api/gen/{clip_id}/aligned_lyrics/v3', {
    params: {
      path: {
        clip_id: clipId,
      },
    },
  });
  if (!result.data) {
    throw new Error(result.error);
  }
  return result.data;
};
