Ctrl K
ComunidadGuías…

utils/spotifyApi.ts

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
import { fetchWithTimeout } from "./plexApi";

interface SpotifySearchResult {
  found: boolean;
  spotifyUrl?: string;
  trackName?: string;
  artistName?: string;
  error?: string;
}

export async function searchSpotifyTrack(
  artist: string,
  title: string,
  signal?: AbortSignal
): Promise<SpotifySearchResult> {
  try {
    const params = new URLSearchParams({ artist, title });
    const response = await fetchWithTimeout(
      `/api/spotify/search?${params}`,
      { signal },
      10000
    );

    if (!response.ok) {
      throw new Error(`Spotify search failed: ${response.status}`);
    }

    return await response.json();
  } catch (error) {
    if (signal?.aborted) {
      throw new Error("Request cancelled");
    }
    console.error("Error searching Spotify:", error);
    return { found: false, error: "Failed to search Spotify" };
  }
}