mirror of
https://github.com/Viren070/AIOStreams.git
synced 2025-12-01 23:14:04 +01:00
fix(metadata/tvdb): handle season result
This commit is contained in:
@@ -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');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user