| |
|
| | import { LoadBalancerAPI } from "./LoadBalancerAPI"; |
| |
|
| | const lb = new LoadBalancerAPI("https://hans-den-load-balancer.hf.space"); |
| |
|
| | export async function getRecentItems(limit = 5) { |
| | const recentData = await lb.getRecent(limit); |
| | console.debug("Raw recent data:", recentData); |
| | |
| | const slides = []; |
| |
|
| | |
| | if (recentData.movies && Array.isArray(recentData.movies)) { |
| | recentData.movies.forEach(movie => { |
| | const [title, year, description, image, genres] = movie; |
| | slides.push({ |
| | type: 'movie', |
| | title, |
| | genre: genres.map(g => g.name), |
| | image, |
| | description, |
| | year, |
| | }); |
| | }); |
| | } |
| |
|
| | |
| | if (recentData.series && Array.isArray(recentData.series)) { |
| | recentData.series.forEach(series => { |
| | const [title, year, description, image, genres] = series; |
| | slides.push({ |
| | type: 'tvshow', |
| | title, |
| | genre: genres.map(g => g.name), |
| | image, |
| | description, |
| | year, |
| | }); |
| | }); |
| | } |
| | console.debug(slides); |
| | return slides; |
| | } |
| |
|
| | export async function getNewContents(limit = 5) { |
| | const recentData = await lb.getRecent(limit); |
| | console.debug("Raw recent data:", recentData); |
| | |
| | const movies = []; |
| | const tvshows = []; |
| |
|
| | |
| | if (Array.isArray(recentData.movies)) { |
| | recentData.movies.forEach(([title, year, description, image, genres]) => { |
| | movies.push({ |
| | title, |
| | genre: genres.map(g => g.name), |
| | image, |
| | description, |
| | year, |
| | }); |
| | }); |
| | } |
| |
|
| | |
| | if (Array.isArray(recentData.series)) { |
| | recentData.series.forEach(([title, year, description, image, genres]) => { |
| | tvshows.push({ |
| | title, |
| | genre: genres.map(g => g.name), |
| | image, |
| | description, |
| | year, |
| | }); |
| | }); |
| | } |
| | |
| | console.debug({ movies, tvshows }); |
| | return { movies, tvshows }; |
| | } |
| |
|
| | export async function getAllMovies(){ |
| | const movies = await lb.getAllMovies(); |
| | console.debug(movies); |
| | |
| | const formattedMovies = movies.map(title => ({ |
| | title: title.replace('films/', '') |
| | })); |
| | return formattedMovies; |
| | } |
| |
|
| | export async function getAllTvShows() { |
| | const tvshows = await lb.getAllSeriesShows(); |
| |
|
| | |
| | const formattedTvShows = Object.entries(tvshows).map(([title, episodes]) => ({ |
| | title, |
| | episodeCount: episodes.length |
| | })); |
| |
|
| | return formattedTvShows; |
| | } |
| |
|
| | export async function getMovieLinkByTitle(title){ |
| | const response = await lb.getMovieByTitle(title); |
| | console.debug(response); |
| | return response; |
| | } |
| |
|
| | export async function getEpisodeLinkByTitle(title, season, episode){ |
| | const response = await lb.getSeriesEpisode(title, season, episode); |
| | console.debug(response); |
| | return response; |
| | } |
| |
|
| | export async function getMovieCard(title){ |
| | const movie = await lb.getMovieCard(title); |
| | console.debug(movie); |
| | return movie; |
| | } |
| |
|
| | export async function getTvShowCard(title){ |
| | const tvshow = await lb.getSeriesCard(title); |
| | console.debug(tvshow); |
| | return tvshow; |
| | } |
| |
|
| | export async function getMovieMetadata(title){ |
| | const movie = await lb.getMovieMetadataByTitle(title); |
| | console.debug(movie); |
| | return movie; |
| | } |
| |
|
| | export async function getTvShowMetadata(title){ |
| | const tvshow = await lb.getSeriesMetadataByTitle(title); |
| | console.debug(tvshow); |
| | return tvshow; |
| | } |
| |
|
| | export async function getSeasonMetadata(title, season){ |
| | const data = await lb.getSeasonMetadataByTitleAndSeason(title, season); |
| | console.debug(data); |
| | return data; |
| | } |
| |
|
| | export async function getGenreCategories(mediaType){ |
| | const gc = await lb.getGenreCategories(mediaType); |
| | console.debug(gc); |
| | if (gc.genres) |
| | return gc.genres; |
| | else |
| | return []; |
| | } |
| |
|
| | export async function getGenresItems(genres, mediaType, limit = 10, page = 1){ |
| | const genresRes = await lb.getGenreItems(genres, mediaType, limit, page); |
| | console.debug(genresRes); |
| | return genresRes; |
| | } |
| |
|