diff --git a/src/endpoints/networks.ts b/src/endpoints/networks.ts new file mode 100644 index 0000000..e885bd6 --- /dev/null +++ b/src/endpoints/networks.ts @@ -0,0 +1,23 @@ +import { NetworkDetails, NetworkImages } from '..'; +import { AlternativeNames } from './../types/companies'; +import { BaseEndpoint } from './base'; + +export class NetworksEndpoint extends BaseEndpoint { + constructor(protected readonly accessToken: string) { + super(accessToken); + } + + async details(id: number): Promise { + return await this.api.get(`/network/${id}`); + } + + async alternativeNames(id: number): Promise { + return await this.api.get( + `/network/${id}/alternative_names` + ); + } + + async images(id: number): Promise { + return await this.api.get(`/network/${id}/images`); + } +} diff --git a/src/tmdb.ts b/src/tmdb.ts index c97defe..2096d04 100644 --- a/src/tmdb.ts +++ b/src/tmdb.ts @@ -19,6 +19,7 @@ import { TvEpisodesEndpoint, } from './endpoints'; import { CompaniesEndpoint } from './endpoints/companies'; +import { NetworksEndpoint } from './endpoints/networks'; export class TMDB { private readonly accessToken: string; @@ -51,6 +52,10 @@ export class TMDB { return new CompaniesEndpoint(this.accessToken); } + get networks(): NetworksEndpoint { + return new NetworksEndpoint(this.accessToken); + } + get search(): SearchEndpoint { return new SearchEndpoint(this.accessToken); } diff --git a/src/types/index.ts b/src/types/index.ts index fd1bcf5..b63bf19 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -2,6 +2,7 @@ export * from './options'; export * from './certification'; export * from './credits'; export * from './companies'; +export * from './networks'; export * from './configuration'; export * from './changes'; export * from './movies'; diff --git a/src/types/networks.ts b/src/types/networks.ts new file mode 100644 index 0000000..92b52f2 --- /dev/null +++ b/src/types/networks.ts @@ -0,0 +1,15 @@ +import { Image } from '.'; + +export interface NetworkDetails { + headquarters: string; + homepage: string; + id: number; + logo_path: string; + name: string; + origin_country: string; +} + +export interface NetworkImages { + id: number; + logos: Image[]; +}