refactor: use new fetchEpisodeUrlFromAllProviders method in "new episodes"
This commit is contained in:
@@ -1,15 +1,10 @@
|
|||||||
import { zValidator } from "@hono/zod-validator";
|
import { zValidator } from "@hono/zod-validator";
|
||||||
import { Client } from "@upstash/qstash";
|
import { Hono } from "hono";
|
||||||
import { Hono, type HonoRequest } from "hono";
|
|
||||||
import { env } from "hono/adapter";
|
import { env } from "hono/adapter";
|
||||||
import mapKeys from "lodash.mapkeys";
|
import mapKeys from "lodash.mapkeys";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
import {
|
import { fetchEpisodeUrlFromAllProviders } from "~/controllers/episodes/getEpisodeUrl";
|
||||||
fetchEpisodes,
|
|
||||||
fetchEpisodesFromAllProviders,
|
|
||||||
} from "~/controllers/episodes/getByAniListId";
|
|
||||||
import { fetchEpisodeUrl } from "~/controllers/episodes/getEpisodeUrl";
|
|
||||||
import { Case, changeStringCase } from "~/libs/changeStringCase";
|
import { Case, changeStringCase } from "~/libs/changeStringCase";
|
||||||
import type { AdminSdkCredentials } from "~/libs/fcm/getGoogleAuthToken";
|
import type { AdminSdkCredentials } from "~/libs/fcm/getGoogleAuthToken";
|
||||||
import { sendFcmMessage } from "~/libs/fcm/sendFcmMessage";
|
import { sendFcmMessage } from "~/libs/fcm/sendFcmMessage";
|
||||||
@@ -62,46 +57,11 @@ app.post(
|
|||||||
env<Env, typeof c>(c, "workerd"),
|
env<Env, typeof c>(c, "workerd"),
|
||||||
"ENABLE_ANIFY",
|
"ENABLE_ANIFY",
|
||||||
);
|
);
|
||||||
const fetchEpisodesResult = await fetchEpisodesFromAllProviders(
|
const { episodes, fetchUrlResult } = await fetchEpisodeUrlFromAllProviders(
|
||||||
aniListId,
|
aniListId,
|
||||||
|
episodeNumber,
|
||||||
isAnifyEnabled,
|
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) {
|
if (!episodes) {
|
||||||
console.error(`Failed to fetch episodes for title ${aniListId}`);
|
console.error(`Failed to fetch episodes for title ${aniListId}`);
|
||||||
|
|||||||
Reference in New Issue
Block a user