Files
tmdb-ts/src/types/movies.ts
2021-06-15 22:24:16 -04:00

166 lines
3.0 KiB
TypeScript

import { Genre, Movie, ProductionCompany, ProductionCountry, SpokenLanguage } from './';
export interface MovieDetails {
adult: boolean;
backdrop_path: string;
belongs_to_collection?: any;
budget: number;
genres: Genre[];
homepage: string;
id: number;
imdb_id: string;
original_language: string;
original_title: string;
overview: string;
popularity: number;
poster_path?: any;
production_companies: ProductionCompany[];
production_countries: ProductionCountry[];
release_date: string;
revenue: number;
runtime: number;
spoken_languages: SpokenLanguage[];
status: string;
tagline: string;
title: string;
video: boolean;
vote_average: number;
vote_count: number;
}
export enum ReleaseDateType {
'Premiere' = 1,
'Theatrical (limited)',
'Theatrical',
'Digital',
'Physical',
'TV'
}
export interface ReleaseDate {
certification: string;
iso_639_1: string;
release_date: Date;
type: ReleaseDateType;
note: string;
}
export interface ReleaseDateResult {
iso_3166_1: string;
release_dates: ReleaseDate[];
}
export interface ReleaseDates {
id: number;
results: ReleaseDateResult[];
}
export interface SimilarMovies {
page: number;
results: Movie[];
total_pages: number;
total_results: number;
}
export interface MovieList {
description: string;
favorite_count: number;
id: number;
item_count: number;
iso_639_1: string;
list_type: string;
name: string;
poster_path: string;
}
export interface MovieLists {
id: number;
page: number;
results: MovieList[];
total_pages: number;
total_results: number;
}
export interface MovieChangeItem {
id: string;
action: string;
time: string;
iso_639_1: string;
value: string;
original_value: string;
}
export interface MovieChange {
key: string;
items: MovieChangeItem[];
}
export interface MovieChanges {
changes: MovieChange[];
}
export interface LatestMovie {
adult: boolean;
backdrop_path?: any;
belongs_to_collection?: any;
budget: number;
genres: Genre[];
homepage: string;
id: number;
imdb_id: string;
original_language: string;
original_title: string;
overview: string;
popularity: number;
poster_path: string;
production_companies: any[];
production_countries: any[];
release_date: string;
revenue: number;
runtime: number;
spoken_languages: any[];
status: string;
tagline: string;
title: string;
video: boolean;
vote_average: number;
vote_count: number;
}
export interface Dates {
maximum: string;
minimum: string;
}
export interface MoviesPlayingNow {
page: number;
results: Movie[];
dates: Dates;
total_pages: number;
total_results: number;
}
export interface PopularMovies {
page: number;
results: Movie[];
total_results: number;
total_pages: number;
}
export interface TopRatedMovies {
page: number;
results: Movie[];
total_results: number;
total_pages: number;
}
export interface UpcomingMovies {
page: number;
results: Movie[];
total_results: number;
total_pages: number;
}