refactor: use new fetchEpisodeUrlFromAllProviders method in "new episodes"

This commit is contained in:
2024-09-23 17:54:46 -04:00
parent 90cf038337
commit 675db025b2

View File

@@ -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<Env, typeof c>(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}`);