fix(metadata/tvdb): handle season result

This commit is contained in:
Viren070
2025-10-20 22:03:47 +01:00
parent edc771c0ec
commit c6f92ab6b4
+9 -7
View File
@@ -1,8 +1,8 @@
import { createLogger } from '../utils/logger.js';
import { Cache, DistributedLock, Env, ParsedId } from '../utils/index.js';
import { Cache, Env, formatZodError, ParsedId } from '../utils/index.js';
import { Metadata } from './utils.js';
import { makeRequest } from '../utils/http.js';
import { z } from 'zod';
import { z, ZodError } from 'zod';
const logger = createLogger('tvdb');
@@ -121,10 +121,13 @@ const TVDBSeriesSchema = z.object({
const TVDBEpisodeSchema = z.looseObject({});
const TVDBSeasonSchema = z.looseObject({});
const TVDBRemoteIdDataSchema = z.union([
z.object({ movie: TVDBMovieSchema }),
z.object({ series: TVDBSeriesSchema }),
z.object({ episode: TVDBEpisodeSchema }),
z.object({ season: TVDBSeasonSchema }),
]);
export const RemoteIdSearchResponseSchema = z.discriminatedUnion('status', [
@@ -405,12 +408,11 @@ class TVDBApi {
return schema.parse(data);
} catch (error) {
logger.error(
`Request to ${path} failed: ${error instanceof Error ? error.message : 'Unknown error'}`
throw new Error(
error instanceof ZodError
? `Failed to parse response from TVDB: ${formatZodError(error)}`
: `Request to TVDB API failed: ${error instanceof Error ? error.message : 'Unknown error'}`
);
throw error instanceof Error
? error
: new Error('Unknown error occurred');
}
}
}