import * as cache from "@lib/cache/cache.ts"; import { MovieDb } from "https://esm.sh/moviedb-promise@3.4.1"; const moviedb = new MovieDb(Deno.env.get("TMDB_API_KEY") || ""); export function searchMovie(query: string) { return moviedb.searchMovie({ query }); } export function getMovie(id: number) { return moviedb.movieInfo({ id }); } export function getMovieCredits(id: number) { return moviedb.movieCredits(id); } export async function getMoviePoster(id: string): Promise { const cachedPoster = await cache.get("posters:" + id); if (cachedPoster) return cachedPoster as ArrayBuffer; const posterUrl = `https://image.tmdb.org/t/p/original/${id}`; const response = await fetch(posterUrl); const poster = await response.arrayBuffer(); cache.set(`posters:${id}`, new Uint8Array()); return poster; }