Spaces:
Sleeping
Sleeping
| // Client for the search API | |
| type RawSearchResponse = { | |
| films: string[]; | |
| series: string[]; | |
| episodes: { | |
| series: string; | |
| title: string; | |
| path: string; | |
| season: string; | |
| }[]; | |
| }; | |
| const API_BASE_URL = 'https://hans-den-search.hf.space'; // Change this to your actual API URL | |
| export const searchAPI = { | |
| search: async (query: string): Promise<RawSearchResponse> => { | |
| try { | |
| const response = await fetch(`${API_BASE_URL}/api/search`, { | |
| method: 'POST', | |
| headers: { | |
| 'Content-Type': 'application/json', | |
| }, | |
| body: JSON.stringify({ query }), | |
| }); | |
| if (!response.ok) { | |
| throw new Error(`Search API returned ${response.status}`); | |
| } | |
| const data = await response.json(); | |
| console.log('Search API response:', data); | |
| return data; | |
| } catch (error) { | |
| console.error('Error searching:', error); | |
| return { films: [], series: [], episodes: [] }; | |
| } | |
| }, | |
| healthCheck: async (): Promise<boolean> => { | |
| try { | |
| const response = await fetch(`${API_BASE_URL}/health`); | |
| return response.ok; | |
| } catch (error) { | |
| console.error('API health check failed:', error); | |
| return false; | |
| } | |
| }, | |
| getData: async () => { | |
| try { | |
| const response = await fetch(`${API_BASE_URL}/api/data`); | |
| if (!response.ok) { | |
| throw new Error(`API returned ${response.status}`); | |
| } | |
| return await response.json(); | |
| } catch (error) { | |
| console.error('Error fetching API data:', error); | |
| return null; | |
| } | |
| } | |
| }; | |