added keywords endpoint and types
This commit is contained in:
@@ -14,4 +14,5 @@ export * from './people';
|
|||||||
export * from './review';
|
export * from './review';
|
||||||
export * from './trending';
|
export * from './trending';
|
||||||
export * from './find';
|
export * from './find';
|
||||||
|
export * from './keywords';
|
||||||
|
|
||||||
|
|||||||
20
src/endpoints/keywords.ts
Normal file
20
src/endpoints/keywords.ts
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
import { BaseEndpoint } from './base';
|
||||||
|
import querystring from 'querystring';
|
||||||
|
import { BelongingMovies, Keyword, KeywordsOptions } from '../types';
|
||||||
|
|
||||||
|
const BASE_Keyword = '/keyword';
|
||||||
|
|
||||||
|
export class KeywordsEndpoint extends BaseEndpoint {
|
||||||
|
constructor(accessToken: string) {
|
||||||
|
super(accessToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
async details(keywordId : number): Promise<Keyword> {
|
||||||
|
return await this.api.get<Keyword>(`${BASE_Keyword}/${keywordId}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
async belongingMovies(keywordId : number, options?: KeywordsOptions): Promise<BelongingMovies> {
|
||||||
|
const params = querystring.encode(options);
|
||||||
|
return await this.api.get<BelongingMovies>(`${BASE_Keyword}/${keywordId}/movies?${params}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,6 +11,7 @@ export * from './discover';
|
|||||||
export * from './review';
|
export * from './review';
|
||||||
export * from './trending';
|
export * from './trending';
|
||||||
export * from './find';
|
export * from './find';
|
||||||
|
export * from './keywords';
|
||||||
|
|
||||||
export interface AuthorDetails {
|
export interface AuthorDetails {
|
||||||
name: string;
|
name: string;
|
||||||
|
|||||||
19
src/types/keywords.ts
Normal file
19
src/types/keywords.ts
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
import { ParsedUrlQueryInput } from 'querystring';
|
||||||
|
import { Movie } from '.';
|
||||||
|
|
||||||
|
export interface KeywordsOptions extends ParsedUrlQueryInput {
|
||||||
|
include_adult?: boolean;
|
||||||
|
language?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface BelongingMovies{
|
||||||
|
page: number;
|
||||||
|
results: Movie[];
|
||||||
|
total_results: number;
|
||||||
|
total_pages: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Keyword{
|
||||||
|
id: number;
|
||||||
|
name: string;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user