From 675db025b2d652e266153ba7f98c237672b85e8b Mon Sep 17 00:00:00 2001 From: Rushil Perera Date: Mon, 23 Sep 2024 17:54:46 -0400 Subject: [PATCH] refactor: use new fetchEpisodeUrlFromAllProviders method in "new episodes" --- src/controllers/internal/new-episode/index.ts | 48 ++----------------- 1 file changed, 4 insertions(+), 44 deletions(-) diff --git a/src/controllers/internal/new-episode/index.ts b/src/controllers/internal/new-episode/index.ts index a93e39c..a7649e7 100644 --- a/src/controllers/internal/new-episode/index.ts +++ b/src/controllers/internal/new-episode/index.ts @@ -1,15 +1,10 @@ import { zValidator } from "@hono/zod-validator"; -import { Client } from "@upstash/qstash"; -import { Hono, type HonoRequest } from "hono"; +import { Hono } from "hono"; import { env } from "hono/adapter"; import mapKeys from "lodash.mapkeys"; import { z } from "zod"; -import { - fetchEpisodes, - fetchEpisodesFromAllProviders, -} from "~/controllers/episodes/getByAniListId"; -import { fetchEpisodeUrl } from "~/controllers/episodes/getEpisodeUrl"; +import { fetchEpisodeUrlFromAllProviders } from "~/controllers/episodes/getEpisodeUrl"; import { Case, changeStringCase } from "~/libs/changeStringCase"; import type { AdminSdkCredentials } from "~/libs/fcm/getGoogleAuthToken"; import { sendFcmMessage } from "~/libs/fcm/sendFcmMessage"; @@ -62,46 +57,11 @@ app.post( env(c, "workerd"), "ENABLE_ANIFY", ); - const fetchEpisodesResult = await fetchEpisodesFromAllProviders( + const { episodes, fetchUrlResult } = await fetchEpisodeUrlFromAllProviders( aniListId, + episodeNumber, isAnifyEnabled, ); - if (fetchEpisodesResult.length === 0) { - console.error(`Failed to fetch episodes for title ${aniListId}`); - return c.json( - { success: false, message: "Failed to fetch episodes" }, - 500, - ); - } - - let episodes; - let fetchUrlResult; - - for (const { - episodes: episodesResult, - providerId, - } of fetchEpisodesResult) { - const episode = episodesResult.find( - (episode) => episode.number === episodeNumber, - ); - if (!episode) { - continue; - } - episodes = episodesResult; - - const urlResult = await fetchEpisodeUrl( - providerId, - episode.id, - aniListId, - isAnifyEnabled, - ); - if (!fetchUrlResult) { - continue; - } - - fetchUrlResult = urlResult; - break; - } if (!episodes) { console.error(`Failed to fetch episodes for title ${aniListId}`);