refactor: address code review

This commit is contained in:
Adrian Castro
2024-02-04 18:36:21 +01:00
parent 54e270bf17
commit 4478366855
6 changed files with 53 additions and 61 deletions

View File

@@ -0,0 +1,29 @@
import type { MovieDetails, TvShowDetails } from "tmdb-ts";
import { tmdb } from "./util";
export async function fetchMediaDetails(
id: string,
type: "movie" | "tv",
): Promise<
{ type: "movie" | "tv"; result: TvShowDetails | MovieDetails } | undefined
> {
try {
let result: TvShowDetails | MovieDetails;
switch (type) {
case "tv":
result = await tmdb.tvShows.details(parseInt(id, 10));
break;
case "movie":
result = await tmdb.movies.details(parseInt(id, 10));
break;
default:
return undefined;
}
return { type, result };
} catch (ex) {
return undefined;
}
}

View File

@@ -1,2 +1,4 @@
export const name = "tmdb";
export * from "./search";
export * from "./details";
export * from "./util";

View File

@@ -1,9 +1,6 @@
import type { MovieDetails, TvShowDetails } from "tmdb-ts";
import { TMDB } from "tmdb-ts";
import type { MovieWithMediaType, TVWithMediaType } from "tmdb-ts";
const TMDB_API_KEY =
"eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJkYTM1ZTgyMzE4OTc0NTgxNDJmZjljZTE4ODExNWRlNiIsInN1YiI6IjY0OTM0ZDQ1ODliNTYxMDExYzliZDVhMiIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.AzWnIcxPNgDwGdzeIZ_C3mRC_5_qy-Z-SRPglLjzlNc";
const tmdb = new TMDB(TMDB_API_KEY);
import { tmdb } from "./util";
export async function searchTitle(query: string) {
try {
@@ -18,38 +15,8 @@ export async function searchTitle(query: string) {
if (!results.length) throw new Error("No results found");
return results;
return results as unknown as MovieWithMediaType[] | TVWithMediaType[];
} catch (ex) {
throw new Error(`Error searching for title: ${(ex as Error).message}`);
}
}
export async function fetchMediaDetails(
id: string,
type: "movie" | "tv",
): Promise<
{ type: "movie" | "tv"; result: TvShowDetails | MovieDetails } | undefined
> {
try {
let result: TvShowDetails | MovieDetails;
switch (type) {
case "tv":
result = await tmdb.tvShows.details(parseInt(id, 10));
break;
case "movie":
result = await tmdb.movies.details(parseInt(id, 10));
break;
default:
return undefined;
}
return { type, result };
} catch (ex) {
return undefined;
}
}
export function getMediaPoster(posterPath: string): string {
return `https://image.tmdb.org/t/p/w185/${posterPath}`;
}

View File

@@ -0,0 +1,9 @@
import { TMDB } from "tmdb-ts";
const TMDB_API_KEY =
"eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJkYTM1ZTgyMzE4OTc0NTgxNDJmZjljZTE4ODExNWRlNiIsInN1YiI6IjY0OTM0ZDQ1ODliNTYxMDExYzliZDVhMiIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.AzWnIcxPNgDwGdzeIZ_C3mRC_5_qy-Z-SRPglLjzlNc";
export const tmdb = new TMDB(TMDB_API_KEY);
export function getMediaPoster(posterPath: string): string {
return `https://image.tmdb.org/t/p/w185/${posterPath}`;
}