mirror of
https://github.com/sct/overseerr.git
synced 2025-12-28 08:55:28 +01:00
* feat(tvdb): get tv seasons/episodes with tvdb * fix: fix rate limiter index tvdb indexer * fix(usersettings): remove unused column tvdbtoken * refactor(tvdb): replace tvdb api by skyhook * fix: error during get episodes * fix: error if tmdb poster is null * refactor: clean tvdb indexer code * fix: wrong language with tmdb indexer * style: replace avalaible to available * style: tvdb.login to tvdb.test * fix(test): fix discover test * fix(test): wrong url tv-details * test(tvdb): add tvdb tests * style(tvdb): rename pokemon to correct tv show * refactor(indexer): remove unused getSeasonIdentifier method * refactor(settings): replace tvdb object to boolean type * refactor(tmdb): reduce still path condition * test(tvdb): change 'use' to 'tvdb' condition check * fix(tmdb): fix build fix build after rebase * fix(build): revert package.json * fix(tvdb): ensure that seasons contain data * refactor(swagger): fix /tvdb/test response * fix(scanner): add tvdb indexer for scanner * refactor(tvdb): remove skyhook api * refactor(tvdb): use tvdb api * fix(tvdb): rename tvdb to medatada * refactor(medata): add tvdb settings * refactor(metadata): rewrite metadata settings * refactor(metadata): refactor metadata routes * refactor(metadata): remove french comments * refactor(metadata): refactor tvdb api calls * style(prettier): run prettier * fix(scanner): fix jellyfin scanner with tvdb provider * fix(scanner): fix plex scanner tvdb provider * style(provider): change provider name in info section * style(provider): full provider name in select * style(provider): remove french comment * fix(tests): fix all cypress tests * refactor(tvdb): fix apikey * refactor(tmdb): apply prettier * refactor(tvdb): remove logger info * feat(metadata): replace fetch with axios for API calls * feat(provider): replace indexer by provider * fix(tests): fix cypress test * chore: add project-wide apikey for tvdb * chore: add correct application-wide key * fix(test): fix test with default provider tmdb anime * style(cypress): fix anime name variable * chore(i18n): remove french translation + apply i18n:extract * style(wording): standardize naming to "Metadata Provider" in UI text * docs(comments): translate from French to English * refactor(tvdb): remove unnecessary try/catch block * feat(i18n): add missing translations * fix(scanner): correct metadata provider ID from Tmdb to Tvdb * style(settings): clarify navigation label from "Metadata" to "Metadata Providers" * style(logs): update error log label from "Metadata" to "MetadataProvider" * refactor(tvdb): replace indexer by metadata providers * refactor(settings): remove metadata providers logo * fix(config): restore missing config/db/.gitkeep file --------- Co-authored-by: TOomaAh <ubuntu@PC> Co-authored-by: fallenbagel <98979876+Fallenbagel@users.noreply.github.com>
145 lines
2.7 KiB
TypeScript
145 lines
2.7 KiB
TypeScript
export interface TvdbBaseResponse<T> {
|
|
data: T;
|
|
errors: string;
|
|
}
|
|
|
|
export interface TvdbLoginResponse {
|
|
token: string;
|
|
}
|
|
|
|
interface TvDetailsAliases {
|
|
language: string;
|
|
name: string;
|
|
}
|
|
|
|
interface TvDetailsStatus {
|
|
id: number;
|
|
name: string;
|
|
recordType: string;
|
|
keepUpdated: boolean;
|
|
}
|
|
|
|
export interface TvdbTvDetails {
|
|
id: number;
|
|
name: string;
|
|
slug: string;
|
|
image: string;
|
|
nameTranslations: string[];
|
|
overwiewTranslations: string[];
|
|
aliases: TvDetailsAliases[];
|
|
firstAired: Date;
|
|
lastAired: Date;
|
|
nextAired: Date | string;
|
|
score: number;
|
|
status: TvDetailsStatus;
|
|
originalCountry: string;
|
|
originalLanguage: string;
|
|
defaultSeasonType: string;
|
|
isOrderRandomized: boolean;
|
|
lastUpdated: Date;
|
|
averageRuntime: number;
|
|
seasons: TvdbSeasonDetails[];
|
|
episodes: TvdbEpisode[];
|
|
}
|
|
|
|
interface TvdbCompanyType {
|
|
companyTypeId: number;
|
|
companyTypeName: string;
|
|
}
|
|
|
|
interface TvdbParentCompany {
|
|
id?: number;
|
|
name?: string;
|
|
relation?: {
|
|
id?: number;
|
|
typeName?: string;
|
|
};
|
|
}
|
|
|
|
interface TvdbCompany {
|
|
id: number;
|
|
name: string;
|
|
slug: string;
|
|
nameTranslations?: string[];
|
|
overviewTranslations?: string[];
|
|
aliases?: string[];
|
|
country: string;
|
|
primaryCompanyType: number;
|
|
activeDate: string;
|
|
inactiveDate?: string;
|
|
companyType: TvdbCompanyType;
|
|
parentCompany: TvdbParentCompany;
|
|
tagOptions?: string[];
|
|
}
|
|
|
|
interface TvdbType {
|
|
id: number;
|
|
name: string;
|
|
type: string;
|
|
alternateName?: string;
|
|
}
|
|
|
|
interface TvdbArtwork {
|
|
id: number;
|
|
image: string;
|
|
thumbnail: string;
|
|
language: string;
|
|
type: number;
|
|
score: number;
|
|
width: number;
|
|
height: number;
|
|
includesText: boolean;
|
|
}
|
|
|
|
export interface TvdbEpisode {
|
|
id: number;
|
|
seriesId: number;
|
|
name: string;
|
|
aired: string;
|
|
runtime: number;
|
|
nameTranslations: string[];
|
|
overview?: string;
|
|
overviewTranslations: string[];
|
|
image: string;
|
|
imageType: number;
|
|
isMovie: number;
|
|
seasons?: string[];
|
|
number: number;
|
|
absoluteNumber: number;
|
|
seasonNumber: number;
|
|
lastUpdated: string;
|
|
finaleType?: string;
|
|
year: string;
|
|
}
|
|
|
|
export interface TvdbSeasonDetails {
|
|
id: number;
|
|
seriesId: number;
|
|
type: TvdbType;
|
|
number: number;
|
|
nameTranslations: string[];
|
|
overviewTranslations: string[];
|
|
image: string;
|
|
imageType: number;
|
|
companies: {
|
|
studio: TvdbCompany[];
|
|
network: TvdbCompany[];
|
|
production: TvdbCompany[];
|
|
distributor: TvdbCompany[];
|
|
special_effects: TvdbCompany[];
|
|
};
|
|
lastUpdated: string;
|
|
year: string;
|
|
episodes: TvdbEpisode[];
|
|
trailers: string[];
|
|
artwork: TvdbArtwork[];
|
|
tagOptions?: string[];
|
|
firstAired: string;
|
|
}
|
|
|
|
export interface TvdbEpisodeTranslation {
|
|
name: string;
|
|
overview: string;
|
|
language: string;
|
|
}
|