append to response tvSeason support
This commit is contained in:
@@ -5,11 +5,13 @@ import {
|
|||||||
ExternalIds,
|
ExternalIds,
|
||||||
Images,
|
Images,
|
||||||
LanguageOption,
|
LanguageOption,
|
||||||
SeasonChangeValue,
|
TvSeasonChangeValue,
|
||||||
SeasonDetails,
|
SeasonDetails,
|
||||||
SeasonSelection,
|
SeasonSelection,
|
||||||
Translations,
|
Translations,
|
||||||
Videos,
|
Videos,
|
||||||
|
AppendToResponseTvSeasonKey,
|
||||||
|
AppendToResponse,
|
||||||
} from '..';
|
} from '..';
|
||||||
import { BaseEndpoint } from './base';
|
import { BaseEndpoint } from './base';
|
||||||
|
|
||||||
@@ -22,10 +24,21 @@ export class TvSeasonsEndpoint extends BaseEndpoint {
|
|||||||
super(accessToken);
|
super(accessToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
async details(seasonSelection: SeasonSelection, options: LanguageOption) {
|
async details<T extends AppendToResponseTvSeasonKey[] | undefined>(
|
||||||
return await this.api.get<SeasonDetails>(
|
seasonSelection: SeasonSelection,
|
||||||
|
appendToResponse?: T,
|
||||||
|
options?: LanguageOption
|
||||||
|
) {
|
||||||
|
const combinedOptions = {
|
||||||
|
append_to_response: appendToResponse
|
||||||
|
? appendToResponse.join(',')
|
||||||
|
: undefined,
|
||||||
|
...options,
|
||||||
|
};
|
||||||
|
|
||||||
|
return await this.api.get<AppendToResponse<SeasonDetails, T, 'tvSeason'>>(
|
||||||
`${BASE_SEASON(seasonSelection)}`,
|
`${BASE_SEASON(seasonSelection)}`,
|
||||||
options
|
combinedOptions
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,7 +53,7 @@ export class TvSeasonsEndpoint extends BaseEndpoint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async changes(seasonId: number, options?: ChangeOption) {
|
async changes(seasonId: number, options?: ChangeOption) {
|
||||||
return await this.api.get<Changes<SeasonChangeValue>>(
|
return await this.api.get<Changes<TvSeasonChangeValue>>(
|
||||||
`/tv/season/${seasonId}/changes`,
|
`/tv/season/${seasonId}/changes`,
|
||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import {
|
|||||||
TvEpisodeChangeValue,
|
TvEpisodeChangeValue,
|
||||||
TvEpisodeCredit,
|
TvEpisodeCredit,
|
||||||
TvEpisodeTranslations,
|
TvEpisodeTranslations,
|
||||||
|
TvSeasonChangeValue,
|
||||||
} from '.';
|
} from '.';
|
||||||
|
|
||||||
export interface LanguageOption {
|
export interface LanguageOption {
|
||||||
@@ -99,16 +100,26 @@ export type AppendToResponseTvEpisodeKey =
|
|||||||
| 'videos'
|
| 'videos'
|
||||||
| 'translations';
|
| 'translations';
|
||||||
|
|
||||||
|
export type AppendToResponseTvSeasonKey =
|
||||||
|
| 'images'
|
||||||
|
| 'credits'
|
||||||
|
| 'external_ids'
|
||||||
|
| 'videos'
|
||||||
|
| 'aggregate_credits'
|
||||||
|
| 'translations';
|
||||||
|
|
||||||
type AppendToResponseAllKeys =
|
type AppendToResponseAllKeys =
|
||||||
| AppendToResponseTvKey
|
| AppendToResponseTvKey
|
||||||
| AppendToResponseMovieKey
|
| AppendToResponseMovieKey
|
||||||
| AppendToResponseTvEpisodeKey
|
| AppendToResponseTvEpisodeKey
|
||||||
|
| AppendToResponseTvSeasonKey
|
||||||
| AppendToResponsePersonKey;
|
| AppendToResponsePersonKey;
|
||||||
|
|
||||||
export type AppendToResponseMediaType =
|
export type AppendToResponseMediaType =
|
||||||
| 'movie'
|
| 'movie'
|
||||||
| 'tvShow'
|
| 'tvShow'
|
||||||
| 'person'
|
| 'person'
|
||||||
|
| 'tvSeason'
|
||||||
| 'tvEpisode';
|
| 'tvEpisode';
|
||||||
|
|
||||||
export type AppendToResponse<
|
export type AppendToResponse<
|
||||||
@@ -153,7 +164,9 @@ export type AppendToResponse<
|
|||||||
? MovieChangeValue
|
? MovieChangeValue
|
||||||
: Media extends 'tvShow'
|
: Media extends 'tvShow'
|
||||||
? TvShowChangeValue
|
? TvShowChangeValue
|
||||||
: TvEpisodeChangeValue
|
: Media extends 'tvSeason'
|
||||||
|
? TvSeasonChangeValue :
|
||||||
|
TvEpisodeChangeValue
|
||||||
>;
|
>;
|
||||||
}
|
}
|
||||||
: object) &
|
: object) &
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ export interface SeasonDetails {
|
|||||||
season_number: number;
|
season_number: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type SeasonChangeValue =
|
export type TvSeasonChangeValue =
|
||||||
| string
|
| string
|
||||||
| {
|
| {
|
||||||
episode_id: number;
|
episode_id: number;
|
||||||
|
|||||||
Reference in New Issue
Block a user