From e13e1e5271b7d574e05c73962881929e99e1d216 Mon Sep 17 00:00:00 2001 From: Ivan Date: Sun, 14 Jan 2024 19:06:55 +0300 Subject: [PATCH 01/58] feat: update version client to 1.4 --- src/builder/query.builder.test.ts | 6 +- src/builder/query.builder.ts | 22 +- src/classes/pagination.ts | 4 +- src/client-request.test.ts | 2 +- src/client-request.ts | 9 +- src/index.ts | 1 - src/interfaces/api.interface.ts | 2591 ----------------- .../dto/image/image-docs-response.dto.ts | 38 - src/interfaces/dto/image/image.ts | 61 - src/interfaces/dto/image/index.ts | 2 - src/interfaces/error.interface.ts | 5 - src/interfaces/index.ts | 16 +- src/interfaces/kinopoiskdev.interface.ts | 19 - src/interfaces/pagination.interface.ts | 4 - src/interfaces/query-builder.interface.ts | 22 +- src/interfaces/response.interface.ts | 5 - src/interfaces/response/index.ts | 1 + src/interfaces/response/response.interface.ts | 127 + .../services/image-service.interface.ts | 9 - .../services/image}/image-fields.type.ts | 2 +- .../image/image-response.interface.ts | 49 + src/interfaces/services/image/index.ts | 2 + src/interfaces/services/index.ts | 7 - .../services/keyword-service.interface.ts | 10 - src/interfaces/services/keyword/index.ts | 2 + .../services/keyword}/keyword-fields.type.ts | 2 +- .../keyword/keyword-response.interface.ts | 39 + src/interfaces/services/lists/index.ts | 1 + .../lists/lists-response.interface.ts | 3 + .../services/movie-service.interface.ts | 29 - src/interfaces/services/movie/index.ts | 2 + .../services/movie}/movie-fields.type.ts | 2 +- .../movie/movie-response.interface.ts | 1173 ++++++++ .../services/person-service.interface.ts | 24 - src/interfaces/services/person/index.ts | 2 + .../services/person}/person-fields.type.ts | 2 +- .../person/person-response.interface.ts | 437 +++ .../services/review-service.interface.ts | 10 - src/interfaces/services/review/index.ts | 2 + .../services/review}/review-fields.type.ts | 2 +- .../review/review-response.interface.ts | 61 + .../services/season-service.interface.ts | 10 - src/interfaces/services/season/index.ts | 2 + .../services/season}/season-fields.type.ts | 2 +- .../season/season-response.interface.ts | 69 + .../services/studio-service.interface.ts | 11 - src/interfaces/services/studio/index.ts | 2 + .../services/studio}/studio-fields.type.ts | 2 +- .../studio/studio-response.interface.ts | 59 + src/kinopoiskdev.ts | 3 +- src/services/image.service.ts | 10 +- src/services/keyword.service.ts | 11 +- src/services/movie.service.ts | 44 +- src/services/person.service.ts | 34 +- src/services/review.service.ts | 12 +- src/services/season.service.ts | 12 +- src/services/studio.service.ts | 15 +- src/types/index.ts | 7 - 58 files changed, 2122 insertions(+), 2990 deletions(-) delete mode 100644 src/interfaces/api.interface.ts delete mode 100644 src/interfaces/dto/image/image-docs-response.dto.ts delete mode 100644 src/interfaces/dto/image/image.ts delete mode 100644 src/interfaces/error.interface.ts delete mode 100644 src/interfaces/kinopoiskdev.interface.ts delete mode 100644 src/interfaces/pagination.interface.ts delete mode 100644 src/interfaces/response.interface.ts create mode 100644 src/interfaces/response/index.ts create mode 100644 src/interfaces/response/response.interface.ts delete mode 100644 src/interfaces/services/image-service.interface.ts rename src/{types => interfaces/services/image}/image-fields.type.ts (77%) create mode 100644 src/interfaces/services/image/image-response.interface.ts create mode 100644 src/interfaces/services/image/index.ts delete mode 100644 src/interfaces/services/index.ts delete mode 100644 src/interfaces/services/keyword-service.interface.ts create mode 100644 src/interfaces/services/keyword/index.ts rename src/{types => interfaces/services/keyword}/keyword-fields.type.ts (73%) create mode 100644 src/interfaces/services/keyword/keyword-response.interface.ts create mode 100644 src/interfaces/services/lists/index.ts create mode 100644 src/interfaces/services/lists/lists-response.interface.ts delete mode 100644 src/interfaces/services/movie-service.interface.ts create mode 100644 src/interfaces/services/movie/index.ts rename src/{types => interfaces/services/movie}/movie-fields.type.ts (97%) create mode 100644 src/interfaces/services/movie/movie-response.interface.ts delete mode 100644 src/interfaces/services/person-service.interface.ts create mode 100644 src/interfaces/services/person/index.ts rename src/{types => interfaces/services/person}/person-fields.type.ts (92%) create mode 100644 src/interfaces/services/person/person-response.interface.ts delete mode 100644 src/interfaces/services/review-service.interface.ts create mode 100644 src/interfaces/services/review/index.ts rename src/{types => interfaces/services/review}/review-fields.type.ts (76%) create mode 100644 src/interfaces/services/review/review-response.interface.ts delete mode 100644 src/interfaces/services/season-service.interface.ts create mode 100644 src/interfaces/services/season/index.ts rename src/{types => interfaces/services/season}/season-fields.type.ts (80%) create mode 100644 src/interfaces/services/season/season-response.interface.ts delete mode 100644 src/interfaces/services/studio-service.interface.ts create mode 100644 src/interfaces/services/studio/index.ts rename src/{types => interfaces/services/studio}/studio-fields.type.ts (75%) create mode 100644 src/interfaces/services/studio/studio-response.interface.ts delete mode 100644 src/types/index.ts diff --git a/src/builder/query.builder.test.ts b/src/builder/query.builder.test.ts index 25748e5..0241390 100644 --- a/src/builder/query.builder.test.ts +++ b/src/builder/query.builder.test.ts @@ -1,5 +1,5 @@ import { SortType } from '../enums/sort-type.enum'; -import { QueryBuilder, MovieQueryBuilder } from './query.builder'; +import { MovieQueryBuilder, QueryBuilder } from './query.builder'; describe('QueryBuilder', () => { let queryBuilder: QueryBuilder; @@ -8,10 +8,6 @@ describe('QueryBuilder', () => { queryBuilder = new MovieQueryBuilder(); }); - it('should construct a new instance', () => { - expect(queryBuilder).toBeInstanceOf(QueryBuilder); - }); - it('should select fields correctly', () => { queryBuilder.select(['field1', 'field2']); const query = queryBuilder.build(); diff --git a/src/builder/query.builder.ts b/src/builder/query.builder.ts index 7c25bd9..0437322 100644 --- a/src/builder/query.builder.ts +++ b/src/builder/query.builder.ts @@ -1,27 +1,21 @@ import { SortType } from '../enums/sort-type.enum'; -import { SPECIAL_VALUE } from '../enums/special-value.enum'; import { IQueryFields } from '../interfaces/query-fields.interface'; -import { MovieFields } from '../types/movie-fields.type'; -import { PersonFields } from '../types/person-fields.type'; +import { MovieFields } from '../interfaces/services/movie/movie-fields.type'; +import { PersonFields } from '../interfaces/services/person/person-fields.type'; import { Pagination } from '../classes/pagination'; import { AllFields, Filter, - IQueryBuilder, SelectFields, } from '../interfaces/query-builder.interface'; -import { ReviewFields } from '../types/review-fields.type'; -import { SeasonFields } from '../types/season-fields.type'; -import { ImageFields, StudioFields } from '../types'; +import { ReviewFields } from '../interfaces/services/review/review-fields.type'; +import { SeasonFields } from '../interfaces/services/season/season-fields.type'; +import { ImageFields } from '../interfaces/services/image/image-fields.type'; +import { StudioFields } from '../interfaces/services/studio/studio-fields.type'; -export abstract class QueryBuilder - implements IQueryBuilder +export class QueryBuilder { - protected params: any; - - constructor() { - this.params = {}; - } + private params: any = {}; select(fields: SelectFields[]): this { this.params.selectFields = fields; diff --git a/src/classes/pagination.ts b/src/classes/pagination.ts index a4cf8aa..6e65135 100644 --- a/src/classes/pagination.ts +++ b/src/classes/pagination.ts @@ -1,6 +1,4 @@ -import { IPagination } from '../interfaces/pagination.interface'; - -export class Pagination implements IPagination { +export class Pagination { public page: number; public limit: number; constructor(page: number, limit: number) { diff --git a/src/client-request.test.ts b/src/client-request.test.ts index 8448032..fc62a02 100644 --- a/src/client-request.test.ts +++ b/src/client-request.test.ts @@ -2,7 +2,7 @@ import { ClientRequest } from './client-request'; import { VERSION } from './enums/version.enum'; import { KinopoiskDev,} from './kinopoiskdev'; import { ImageTypeV1_4, WithQueryStrategyV1_4 } from './interfaces/dto/image/image-request.dto'; -const fetchMock = require('jest-fetch-mock'); +import fetchMock from 'jest-fetch-mock'; fetchMock.enableMocks(); const Exclude = (value: T) => `!${value}` as unknown as WithQueryStrategyV1_4; diff --git a/src/client-request.ts b/src/client-request.ts index 95a0fdd..7fbab7b 100644 --- a/src/client-request.ts +++ b/src/client-request.ts @@ -1,6 +1,5 @@ -import { IResponseError } from './interfaces/error.interface'; import { VERSION } from './enums/version.enum'; -import { IResponse } from './interfaces/response.interface'; +import { DocsResponse, ErrorResponse, IResponse } from './interfaces'; export class ClientRequest { constructor( @@ -24,11 +23,11 @@ export class ClientRequest { return urlSearchParams.toString(); } - async get( + async get( version: VERSION, path: string, params?: P, - ): Promise> { + ): Promise>> { try { const response = await fetch( `${this.API_URL}/${version}${path}?${this.queryParams(params as any)}`, @@ -37,7 +36,7 @@ export class ClientRequest { // Если статус HTTP-ответа не 200, выбрасывается ошибка if (!response.ok) { - const error: IResponseError = await response.json(); + const error: ErrorResponse = await response.json(); throw new Error( JSON.stringify({ status: response.status, diff --git a/src/index.ts b/src/index.ts index d537b43..f4469ad 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,4 +2,3 @@ export * from './kinopoiskdev'; export * from './builder'; export * from './enums'; export * from './interfaces'; -export * from './types'; diff --git a/src/interfaces/api.interface.ts b/src/interfaces/api.interface.ts deleted file mode 100644 index 2d9f3c6..0000000 --- a/src/interfaces/api.interface.ts +++ /dev/null @@ -1,2591 +0,0 @@ -/** - * - * @export - * @interface Audience - */ -export interface Audience { - /** - * Количество просмотров в кино - * @type {number} - * @memberof Audience - */ - count: number; - /** - * Страна в которой проходил показ - * @type {string} - * @memberof Audience - */ - country: string; -} -/** - * - * @export - * @interface BirthPlace - */ -export interface BirthPlace { - /** - * - * @type {string} - * @memberof BirthPlace - */ - value?: string; -} -/** - * - * @export - * @interface CurrencyValue - */ -export interface CurrencyValue { - /** - * Сумма - * @type {number} - * @memberof CurrencyValue - */ - value?: number; - /** - * Валюта - * @type {string} - * @memberof CurrencyValue - */ - currency?: string; -} -/** - * - * @export - * @interface DeathPlace - */ -export interface DeathPlace { - /** - * - * @type {string} - * @memberof DeathPlace - */ - value?: string; -} -/** - * - * @export - * @interface Episode - */ -export interface Episode { - /** - * - * @type {number} - * @memberof Episode - */ - number?: number; - /** - * - * @type {string} - * @memberof Episode - */ - name?: string; - /** - * - * @type {string} - * @memberof Episode - */ - enName?: string; - /** - * - * @type {string} - * @memberof Episode - */ - description?: string; - /** - * - * @type {string} - * @memberof Episode - */ - date?: string; -} -/** - * - * @export - * @interface ErrorResponseDto - */ -export interface ErrorResponseDto { - /** - * - * @type {number} - * @memberof ErrorResponseDto - */ - statusCode: number; - /** - * - * @type {string} - * @memberof ErrorResponseDto - */ - message: string; - /** - * - * @type {string} - * @memberof ErrorResponseDto - */ - error: string; -} -/** - * - * @export - * @interface ExternalId - */ -export interface ExternalId { - /** - * ID из kinopoisk HD - * @type {string} - * @memberof ExternalId - */ - kpHD?: string; - /** - * - * @type {string} - * @memberof ExternalId - */ - imdb?: string; - /** - * - * @type {number} - * @memberof ExternalId - */ - tmdb?: number; -} -/** - * - * @export - * @interface FactInMovie - */ -export interface FactInMovie { - /** - * - * @type {string} - * @memberof FactInMovie - */ - value: string; - /** - * - * @type {string} - * @memberof FactInMovie - */ - type: string; - /** - * - * @type {boolean} - * @memberof FactInMovie - */ - spoiler: boolean; -} -/** - * - * @export - * @interface FactInPerson - */ -export interface FactInPerson { - /** - * - * @type {string} - * @memberof FactInPerson - */ - value?: string; -} -/** - * - * @export - * @interface Fees - */ -export interface Fees { - /** - * - * @type {CurrencyValue} - * @memberof Fees - */ - world?: CurrencyValue; - /** - * - * @type {CurrencyValue} - * @memberof Fees - */ - russia?: CurrencyValue; - /** - * - * @type {CurrencyValue} - * @memberof Fees - */ - usa?: CurrencyValue; -} -/** - * - * @export - * @interface ForbiddenErrorResponseDto - */ -export interface ForbiddenErrorResponseDto { - /** - * - * @type {number} - * @memberof ForbiddenErrorResponseDto - */ - statusCode: number; - /** - * - * @type {string} - * @memberof ForbiddenErrorResponseDto - */ - message: string; - /** - * - * @type {string} - * @memberof ForbiddenErrorResponseDto - */ - error: string; -} -/** - * - * @export - * @interface Image - */ -export interface Image { - /** - * - * @type {number} - * @memberof Image - */ - movieId: number; - /** - * - * @type {string} - * @memberof Image - */ - type?: string; - /** - * - * @type {string} - * @memberof Image - */ - language?: string; - /** - * - * @type {string} - * @memberof Image - */ - url?: string; - /** - * - * @type {string} - * @memberof Image - */ - previewUrl?: string; - /** - * - * @type {number} - * @memberof Image - */ - height?: number; - /** - * - * @type {number} - * @memberof Image - */ - width?: number; -} -/** - * - * @export - * @interface ImageDocsResponseDto - */ -export interface ImageDocsResponseDto { - /** - * - * @type {Array} - * @memberof ImageDocsResponseDto - */ - docs: Array; - /** - * Общее количество результатов - * @type {number} - * @memberof ImageDocsResponseDto - */ - total: number; - /** - * Количество результатов на странице - * @type {number} - * @memberof ImageDocsResponseDto - */ - limit: number; - /** - * Текущая страница - * @type {number} - * @memberof ImageDocsResponseDto - */ - page: number; - /** - * Сколько страниц всего - * @type {number} - * @memberof ImageDocsResponseDto - */ - pages: number; -} -/** - * - * @export - * @interface Images - */ -export interface Images { - /** - * - * @type {number} - * @memberof Images - */ - postersCount: number; - /** - * - * @type {number} - * @memberof Images - */ - backdropsCount: number; - /** - * - * @type {number} - * @memberof Images - */ - framesCount: number; -} -/** - * - * @export - * @interface InlineResponse200 - */ -export interface InlineResponse200 { - /** - * - * @type {string} - * @memberof InlineResponse200 - */ - status?: string; - /** - * - * @type {{ [key: string]: InlineResponse200Info; }} - * @memberof InlineResponse200 - */ - info?: { [key: string]: InlineResponse200Info }; - /** - * - * @type {{ [key: string]: InlineResponse200Info; }} - * @memberof InlineResponse200 - */ - error?: { [key: string]: InlineResponse200Info }; - /** - * - * @type {{ [key: string]: InlineResponse200Info; }} - * @memberof InlineResponse200 - */ - details?: { [key: string]: InlineResponse200Info }; -} -/** - * - * @export - * @interface InlineResponse200Info - */ -export interface InlineResponse200Info { - /** - * - * @type {string} - * @memberof InlineResponse200Info - */ - status?: string; -} -/** - * - * @export - * @interface InlineResponse503 - */ -export interface InlineResponse503 { - /** - * - * @type {string} - * @memberof InlineResponse503 - */ - status?: string; - /** - * - * @type {{ [key: string]: InlineResponse200Info; }} - * @memberof InlineResponse503 - */ - info?: { [key: string]: InlineResponse200Info }; - /** - * - * @type {{ [key: string]: InlineResponse200Info; }} - * @memberof InlineResponse503 - */ - error?: { [key: string]: InlineResponse200Info }; - /** - * - * @type {{ [key: string]: InlineResponse200Info; }} - * @memberof InlineResponse503 - */ - details?: { [key: string]: InlineResponse200Info }; -} -/** - * - * @export - * @interface ItemName - */ -export interface ItemName { - /** - * - * @type {string} - * @memberof ItemName - */ - name?: string; -} -/** - * - * @export - * @interface Keyword - */ -export interface Keyword { - /** - * - * @type {string} - * @memberof Keyword - */ - id: string; - /** - * - * @type {string} - * @memberof Keyword - */ - title: string; - /** - * - * @type {MovieFromKeyword} - * @memberof Keyword - */ - movies?: MovieFromKeyword; -} -/** - * - * @export - * @interface KeywordDocsResponseDto - */ -export interface KeywordDocsResponseDto { - /** - * - * @type {Array} - * @memberof KeywordDocsResponseDto - */ - docs: Array; - /** - * Общее количество результатов - * @type {number} - * @memberof KeywordDocsResponseDto - */ - total: number; - /** - * Количество результатов на странице - * @type {number} - * @memberof KeywordDocsResponseDto - */ - limit: number; - /** - * Текущая страница - * @type {number} - * @memberof KeywordDocsResponseDto - */ - page: number; - /** - * Сколько страниц всего - * @type {number} - * @memberof KeywordDocsResponseDto - */ - pages: number; -} -/** - * - * @export - * @interface LinkedMovie - */ -export interface LinkedMovie { - /** - * - * @type {number} - * @memberof LinkedMovie - */ - id?: number; - /** - * - * @type {string} - * @memberof LinkedMovie - */ - name: string; - /** - * - * @type {string} - * @memberof LinkedMovie - */ - enName: string; - /** - * - * @type {string} - * @memberof LinkedMovie - */ - alternativeName: string; - /** - * - * @type {string} - * @memberof LinkedMovie - */ - type?: string; - /** - * - * @type {ShortImage} - * @memberof LinkedMovie - */ - poster: ShortImage; -} -/** - * - * @export - * @interface Logo - */ -export interface Logo { - /** - * Чтобы найти фильмы с этим полем, используйте: `!null` - * @type {string} - * @memberof Logo - */ - url?: string; -} -/** - * - * @export - * @interface MeiliMovieEntity - */ -export interface MeiliMovieEntity { - /** - * - * @type {number} - * @memberof MeiliMovieEntity - */ - id: number; - /** - * - * @type {string} - * @memberof MeiliMovieEntity - */ - name: string; - /** - * - * @type {string} - * @memberof MeiliMovieEntity - */ - alternativeName: string; - /** - * - * @type {string} - * @memberof MeiliMovieEntity - */ - enName: string; - /** - * - * @type {Array} - * @memberof MeiliMovieEntity - */ - names: Array; - /** - * - * @type {string} - * @memberof MeiliMovieEntity - */ - type: string; - /** - * - * @type {number} - * @memberof MeiliMovieEntity - */ - year: number; - /** - * - * @type {string} - * @memberof MeiliMovieEntity - */ - description: string; - /** - * - * @type {string} - * @memberof MeiliMovieEntity - */ - shortDescription: string; - /** - * - * @type {string} - * @memberof MeiliMovieEntity - */ - logo: string; - /** - * - * @type {string} - * @memberof MeiliMovieEntity - */ - poster: string; - /** - * - * @type {string} - * @memberof MeiliMovieEntity - */ - backdrop: string; - /** - * - * @type {number} - * @memberof MeiliMovieEntity - */ - rating: number; - /** - * - * @type {number} - * @memberof MeiliMovieEntity - */ - votes: number; - /** - * - * @type {number} - * @memberof MeiliMovieEntity - */ - movieLength: number; - /** - * - * @type {Array} - * @memberof MeiliMovieEntity - */ - genres: Array; - /** - * - * @type {Array} - * @memberof MeiliMovieEntity - */ - countries: Array; - /** - * - * @type {Array} - * @memberof MeiliMovieEntity - */ - releaseYears: Array; -} -/** - * - * @export - * @interface MeiliPersonEntity - */ -export interface MeiliPersonEntity { - /** - * - * @type {number} - * @memberof MeiliPersonEntity - */ - id: number; - /** - * - * @type {string} - * @memberof MeiliPersonEntity - */ - name: string; - /** - * - * @type {string} - * @memberof MeiliPersonEntity - */ - enName: string; - /** - * - * @type {string} - * @memberof MeiliPersonEntity - */ - photo: string; - /** - * - * @type {string} - * @memberof MeiliPersonEntity - */ - sex: string; - /** - * - * @type {number} - * @memberof MeiliPersonEntity - */ - growth: number; - /** - * - * @type {string} - * @memberof MeiliPersonEntity - */ - birthday: string; - /** - * - * @type {string} - * @memberof MeiliPersonEntity - */ - death: string; - /** - * - * @type {number} - * @memberof MeiliPersonEntity - */ - age: number; - /** - * - * @type {Array} - * @memberof MeiliPersonEntity - */ - birthPlace: Array; - /** - * - * @type {Array} - * @memberof MeiliPersonEntity - */ - deathPlace: Array; - /** - * - * @type {Array} - * @memberof MeiliPersonEntity - */ - profession: Array; -} -/** - * - * @export - * @interface Movie - */ -export interface Movie { - /** - * - * @type {number} - * @memberof Movie - */ - id: number; - /** - * - * @type {string} - * @memberof Movie - */ - name: string; - /** - * - * @type {number} - * @memberof Movie - */ - rating: number; -} -/** - * - * @export - * @interface MovieAwardDocsResponseDto - */ -export interface MovieAwardDocsResponseDto { - /** - * - * @type {Array} - * @memberof MovieAwardDocsResponseDto - */ - docs: Array; - /** - * Общее количество результатов - * @type {number} - * @memberof MovieAwardDocsResponseDto - */ - total: number; - /** - * Количество результатов на странице - * @type {number} - * @memberof MovieAwardDocsResponseDto - */ - limit: number; - /** - * Текущая страница - * @type {number} - * @memberof MovieAwardDocsResponseDto - */ - page: number; - /** - * Сколько страниц всего - * @type {number} - * @memberof MovieAwardDocsResponseDto - */ - pages: number; -} -/** - * - * @export - * @interface MovieDocsResponseDtoV1 - */ -export interface MovieDocsResponseDtoV1 { - /** - * - * @type {Array} - * @memberof MovieDocsResponseDtoV1 - */ - docs: Array; - /** - * Общее количество результатов - * @type {number} - * @memberof MovieDocsResponseDtoV1 - */ - total: number; - /** - * Количество результатов на странице - * @type {number} - * @memberof MovieDocsResponseDtoV1 - */ - limit: number; - /** - * Текущая страница - * @type {number} - * @memberof MovieDocsResponseDtoV1 - */ - page: number; - /** - * Сколько страниц всего - * @type {number} - * @memberof MovieDocsResponseDtoV1 - */ - pages: number; -} -/** - * - * @export - * @interface MovieDocsResponseDtoV13 - */ -export interface MovieDocsResponseDtoV13 { - /** - * - * @type {Array} - * @memberof MovieDocsResponseDtoV13 - */ - docs: Array; - /** - * Общее количество результатов - * @type {number} - * @memberof MovieDocsResponseDtoV13 - */ - total: number; - /** - * Количество результатов на странице - * @type {number} - * @memberof MovieDocsResponseDtoV13 - */ - limit: number; - /** - * Текущая страница - * @type {number} - * @memberof MovieDocsResponseDtoV13 - */ - page: number; - /** - * Сколько страниц всего - * @type {number} - * @memberof MovieDocsResponseDtoV13 - */ - pages: number; -} -/** - * - * @export - * @interface MovieDtoV1 - */ -export interface MovieDtoV1 { - /** - * Id фильма с кинопоиска - * @type {number} - * @memberof MovieDtoV1 - */ - id: number; - /** - * - * @type {ExternalId} - * @memberof MovieDtoV1 - */ - externalId: ExternalId; - /** - * - * @type {string} - * @memberof MovieDtoV1 - */ - name?: string; - /** - * - * @type {string} - * @memberof MovieDtoV1 - */ - alternativeName?: string; - /** - * - * @type {string} - * @memberof MovieDtoV1 - */ - enName?: string; - /** - * - * @type {Array} - * @memberof MovieDtoV1 - */ - names: Array; - /** - * Тип тайтла. Доступны: movie | tv-series | cartoon | anime | animated-series | tv-show - * @type {string} - * @memberof MovieDtoV1 - */ - type: string; - /** - * Тип тайтла в числовом обозначении. Доступны: 1 (movie) | 2 (tv-series) | 3 (cartoon) | 4 (anime) | 5 (animated-series) | 6 (tv-show) - * @type {number} - * @memberof MovieDtoV1 - */ - typeNumber: number; - /** - * Год премьеры. При поиске по этому полю, можно использовать интервалы 1860-2030 - * @type {number} - * @memberof MovieDtoV1 - */ - year?: number; - /** - * Описание тайтла - * @type {string} - * @memberof MovieDtoV1 - */ - description?: string; - /** - * Сокращенное описание - * @type {string} - * @memberof MovieDtoV1 - */ - shortDescription?: string; - /** - * Слоган - * @type {string} - * @memberof MovieDtoV1 - */ - slogan?: string; - /** - * Статус релиза тайтла. Доступные значения: filming | pre-production | completed | announced | post-production - * @type {string} - * @memberof MovieDtoV1 - */ - status?: string; - /** - * - * @type {Rating} - * @memberof MovieDtoV1 - */ - rating?: Rating; - /** - * - * @type {Votes} - * @memberof MovieDtoV1 - */ - votes?: Votes; - /** - * Продолжительность фильма - * @type {number} - * @memberof MovieDtoV1 - */ - movieLength?: number; - /** - * Возрастной рейтинг по MPAA - * @type {string} - * @memberof MovieDtoV1 - */ - ratingMpaa?: string; - /** - * Возрастной рейтинг - * @type {number} - * @memberof MovieDtoV1 - */ - ageRating?: number; - /** - * - * @type {Logo} - * @memberof MovieDtoV1 - */ - logo?: Logo; - /** - * - * @type {ShortImage} - * @memberof MovieDtoV1 - */ - poster?: ShortImage; - /** - * - * @type {ShortImage} - * @memberof MovieDtoV1 - */ - backdrop?: ShortImage; - /** - * - * @type {VideoTypes} - * @memberof MovieDtoV1 - */ - videos?: VideoTypes; - /** - * - * @type {Array} - * @memberof MovieDtoV1 - */ - genres?: Array; - /** - * - * @type {Array} - * @memberof MovieDtoV1 - */ - countries?: Array; - /** - * - * @type {Array} - * @memberof MovieDtoV1 - */ - persons?: Array; - /** - * - * @type {ReviewInfo} - * @memberof MovieDtoV1 - */ - reviewInfo?: ReviewInfo; - /** - * - * @type {Array} - * @memberof MovieDtoV1 - */ - seasonsInfo?: Array; - /** - * - * @type {CurrencyValue} - * @memberof MovieDtoV1 - */ - budget?: CurrencyValue; - /** - * - * @type {Fees} - * @memberof MovieDtoV1 - */ - fees?: Fees; - /** - * - * @type {Premiere} - * @memberof MovieDtoV1 - */ - premiere?: Premiere; - /** - * - * @type {Array} - * @memberof MovieDtoV1 - */ - similarMovies?: Array; - /** - * - * @type {Array} - * @memberof MovieDtoV1 - */ - sequelsAndPrequels?: Array; - /** - * - * @type {Watchability} - * @memberof MovieDtoV1 - */ - watchability?: Watchability; - /** - * - * @type {Array} - * @memberof MovieDtoV1 - */ - releaseYears?: Array; - /** - * Позиция тайтла в топ 10. Чтобы найти фильмы участвующие в рейтинге используйте: `!null` - * @type {number} - * @memberof MovieDtoV1 - */ - top10?: number; - /** - * Позиция тайтла в топ 250. Чтобы найти фильмы участвующие в рейтинге используйте: `!null` - * @type {number} - * @memberof MovieDtoV1 - */ - top250?: number; - /** - * - * @type {Array} - * @memberof MovieDtoV1 - */ - facts: Array; - /** - * - * @type {Images} - * @memberof MovieDtoV1 - */ - imagesInfo: Images; - /** - * - * @type {Array} - * @memberof MovieDtoV1 - */ - productionCompanies: Array; -} -/** - * - * @export - * @interface MovieDtoV13 - */ -export interface MovieDtoV13 { - /** - * Id фильма с кинопоиска - * @type {number} - * @memberof MovieDtoV13 - */ - id: number; - /** - * - * @type {ExternalId} - * @memberof MovieDtoV13 - */ - externalId: ExternalId; - /** - * - * @type {string} - * @memberof MovieDtoV13 - */ - name?: string; - /** - * - * @type {string} - * @memberof MovieDtoV13 - */ - alternativeName?: string; - /** - * - * @type {string} - * @memberof MovieDtoV13 - */ - enName?: string; - /** - * - * @type {Array} - * @memberof MovieDtoV13 - */ - names: Array; - /** - * Тип тайтла. Доступны: movie | tv-series | cartoon | anime | animated-series | tv-show - * @type {string} - * @memberof MovieDtoV13 - */ - type: string; - /** - * Тип тайтла в числовом обозначении. Доступны: 1 (movie) | 2 (tv-series) | 3 (cartoon) | 4 (anime) | 5 (animated-series) | 6 (tv-show) - * @type {number} - * @memberof MovieDtoV13 - */ - typeNumber: number; - /** - * Год премьеры. При поиске по этому полю, можно использовать интервалы 1860-2030 - * @type {number} - * @memberof MovieDtoV13 - */ - year?: number; - /** - * Описание тайтла - * @type {string} - * @memberof MovieDtoV13 - */ - description?: string; - /** - * Сокращенное описание - * @type {string} - * @memberof MovieDtoV13 - */ - shortDescription?: string; - /** - * Слоган - * @type {string} - * @memberof MovieDtoV13 - */ - slogan?: string; - /** - * Статус релиза тайтла. Доступные значения: filming | pre-production | completed | announced | post-production - * @type {string} - * @memberof MovieDtoV13 - */ - status?: string; - /** - * - * @type {Rating} - * @memberof MovieDtoV13 - */ - rating?: Rating; - /** - * - * @type {Votes} - * @memberof MovieDtoV13 - */ - votes?: Votes; - /** - * Продолжительность фильма - * @type {number} - * @memberof MovieDtoV13 - */ - movieLength?: number; - /** - * Возрастной рейтинг по MPAA - * @type {string} - * @memberof MovieDtoV13 - */ - ratingMpaa?: string; - /** - * Возрастной рейтинг - * @type {number} - * @memberof MovieDtoV13 - */ - ageRating?: number; - /** - * - * @type {Logo} - * @memberof MovieDtoV13 - */ - logo?: Logo; - /** - * - * @type {ShortImage} - * @memberof MovieDtoV13 - */ - poster?: ShortImage; - /** - * - * @type {ShortImage} - * @memberof MovieDtoV13 - */ - backdrop?: ShortImage; - /** - * - * @type {VideoTypes} - * @memberof MovieDtoV13 - */ - videos?: VideoTypes; - /** - * - * @type {Array} - * @memberof MovieDtoV13 - */ - genres?: Array; - /** - * - * @type {Array} - * @memberof MovieDtoV13 - */ - countries?: Array; - /** - * - * @type {Array} - * @memberof MovieDtoV13 - */ - persons?: Array; - /** - * - * @type {ReviewInfo} - * @memberof MovieDtoV13 - */ - reviewInfo?: ReviewInfo; - /** - * - * @type {Array} - * @memberof MovieDtoV13 - */ - seasonsInfo?: Array; - /** - * - * @type {CurrencyValue} - * @memberof MovieDtoV13 - */ - budget?: CurrencyValue; - /** - * - * @type {Fees} - * @memberof MovieDtoV13 - */ - fees?: Fees; - /** - * - * @type {Premiere} - * @memberof MovieDtoV13 - */ - premiere?: Premiere; - /** - * - * @type {Array} - * @memberof MovieDtoV13 - */ - similarMovies?: Array; - /** - * - * @type {Array} - * @memberof MovieDtoV13 - */ - sequelsAndPrequels?: Array; - /** - * - * @type {Watchability} - * @memberof MovieDtoV13 - */ - watchability?: Watchability; - /** - * - * @type {Array} - * @memberof MovieDtoV13 - */ - releaseYears?: Array; - /** - * Позиция тайтла в топ 10. Чтобы найти фильмы участвующие в рейтинге используйте: `!null` - * @type {number} - * @memberof MovieDtoV13 - */ - top10?: number; - /** - * Позиция тайтла в топ 250. Чтобы найти фильмы участвующие в рейтинге используйте: `!null` - * @type {number} - * @memberof MovieDtoV13 - */ - top250?: number; - /** - * Признак того, что тайтл находится в прокате - * @type {boolean} - * @memberof MovieDtoV13 - */ - ticketsOnSale?: boolean; - /** - * Продолжительность всех серий - * @type {number} - * @memberof MovieDtoV13 - */ - totalSeriesLength?: number; - /** - * Средняя продолжительность серии - * @type {number} - * @memberof MovieDtoV13 - */ - seriesLength?: number; - /** - * Признак сериала - * @type {boolean} - * @memberof MovieDtoV13 - */ - isSeries: boolean; - /** - * - * @type {Array} - * @memberof MovieDtoV13 - */ - audience?: Array; - /** - * - * @type {Array} - * @memberof MovieDtoV13 - */ - facts: Array; - /** - * - * @type {Images} - * @memberof MovieDtoV13 - */ - imagesInfo: Images; - /** - * - * @type {Array} - * @memberof MovieDtoV13 - */ - productionCompanies: Array; -} -/** - * - * @export - * @interface MovieFromKeyword - */ -export interface MovieFromKeyword { - /** - * - * @type {number} - * @memberof MovieFromKeyword - */ - id?: number; -} -/** - * - * @export - * @interface MovieFromStudio - */ -export interface MovieFromStudio { - /** - * - * @type {number} - * @memberof MovieFromStudio - */ - id?: number; -} -/** - * - * @export - * @interface MovieInPerson - */ -export interface MovieInPerson { - /** - * - * @type {number} - * @memberof MovieInPerson - */ - id: number; - /** - * - * @type {string} - * @memberof MovieInPerson - */ - name?: string; - /** - * - * @type {string} - * @memberof MovieInPerson - */ - alternativeName?: string; - /** - * - * @type {number} - * @memberof MovieInPerson - */ - rating?: number; - /** - * - * @type {boolean} - * @memberof MovieInPerson - */ - general?: boolean; - /** - * - * @type {string} - * @memberof MovieInPerson - */ - description?: string; - /** - * - * @type {string} - * @memberof MovieInPerson - */ - enProfession?: string; -} -/** - * - * @export - * @interface Name - */ -export interface Name { - /** - * - * @type {string} - * @memberof Name - */ - name?: string; - /** - * - * @type {string} - * @memberof Name - */ - language?: string; - /** - * - * @type {string} - * @memberof Name - */ - type?: string; -} -/** - * - * @export - * @interface Nomination - */ -export interface Nomination { - /** - * - * @type {NominationAward} - * @memberof Nomination - */ - award: NominationAward; - /** - * - * @type {string} - * @memberof Nomination - */ - title: string; -} -/** - * - * @export - * @interface NominationAward - */ -export interface NominationAward { - /** - * - * @type {string} - * @memberof NominationAward - */ - title: string; - /** - * - * @type {number} - * @memberof NominationAward - */ - year: number; -} -/** - * - * @export - * @interface PartialTypeClass - */ -export interface PartialTypeClass { - /** - * - * @type {Nomination} - * @memberof PartialTypeClass - */ - nomination?: Nomination; - /** - * - * @type {boolean} - * @memberof PartialTypeClass - */ - winning?: boolean; - /** - * - * @type {number} - * @memberof PartialTypeClass - */ - movieId?: number; -} -/** - * - * @export - * @interface Person - */ -export interface Person { - /** - * - * @type {number} - * @memberof Person - */ - id: number; - /** - * - * @type {string} - * @memberof Person - */ - name?: string; - /** - * - * @type {string} - * @memberof Person - */ - enName?: string; - /** - * - * @type {string} - * @memberof Person - */ - photo?: string; - /** - * - * @type {string} - * @memberof Person - */ - sex?: string; - /** - * - * @type {number} - * @memberof Person - */ - growth?: number; - /** - * - * @type {string} - * @memberof Person - */ - birthday?: string; - /** - * - * @type {string} - * @memberof Person - */ - death?: string; - /** - * - * @type {number} - * @memberof Person - */ - age?: number; - /** - * - * @type {Array} - * @memberof Person - */ - birthPlace?: Array; - /** - * - * @type {Array} - * @memberof Person - */ - deathPlace?: Array; - /** - * - * @type {Spouses} - * @memberof Person - */ - spouses?: Spouses; - /** - * - * @type {number} - * @memberof Person - */ - countAwards?: number; - /** - * - * @type {Array} - * @memberof Person - */ - profession?: Array; - /** - * - * @type {Array} - * @memberof Person - */ - facts?: Array; - /** - * - * @type {Array} - * @memberof Person - */ - movies?: Array; -} -/** - * - * @export - * @interface PersonAward - */ -export interface PersonAward { - /** - * - * @type {Nomination} - * @memberof PersonAward - */ - nomination: Nomination; - /** - * - * @type {boolean} - * @memberof PersonAward - */ - winning: boolean; - /** - * - * @type {number} - * @memberof PersonAward - */ - personId: number; - /** - * - * @type {Movie} - * @memberof PersonAward - */ - movie: Movie; -} -/** - * - * @export - * @interface PersonAwardDocsResponseDto - */ -export interface PersonAwardDocsResponseDto { - /** - * - * @type {Array} - * @memberof PersonAwardDocsResponseDto - */ - docs: Array; - /** - * Общее количество результатов - * @type {number} - * @memberof PersonAwardDocsResponseDto - */ - total: number; - /** - * Количество результатов на странице - * @type {number} - * @memberof PersonAwardDocsResponseDto - */ - limit: number; - /** - * Текущая страница - * @type {number} - * @memberof PersonAwardDocsResponseDto - */ - page: number; - /** - * Сколько страниц всего - * @type {number} - * @memberof PersonAwardDocsResponseDto - */ - pages: number; -} -/** - * - * @export - * @interface PersonDocsResponseDto - */ -export interface PersonDocsResponseDto { - /** - * - * @type {Array} - * @memberof PersonDocsResponseDto - */ - docs: Array; - /** - * Общее количество результатов - * @type {number} - * @memberof PersonDocsResponseDto - */ - total: number; - /** - * Количество результатов на странице - * @type {number} - * @memberof PersonDocsResponseDto - */ - limit: number; - /** - * Текущая страница - * @type {number} - * @memberof PersonDocsResponseDto - */ - page: number; - /** - * Сколько страниц всего - * @type {number} - * @memberof PersonDocsResponseDto - */ - pages: number; -} -/** - * - * @export - * @interface PersonInMovie - */ -export interface PersonInMovie { - /** - * Id персоны с кинопоиска - * @type {number} - * @memberof PersonInMovie - */ - id?: number; - /** - * - * @type {string} - * @memberof PersonInMovie - */ - photo?: string; - /** - * - * @type {string} - * @memberof PersonInMovie - */ - name?: string; - /** - * - * @type {string} - * @memberof PersonInMovie - */ - enName?: string; - /** - * - * @type {string} - * @memberof PersonInMovie - */ - description: string; - /** - * - * @type {string} - * @memberof PersonInMovie - */ - profession: string; - /** - * - * @type {string} - * @memberof PersonInMovie - */ - enProfession: string; -} -/** - * - * @export - * @interface PossibleValueDto - */ -export interface PossibleValueDto { - /** - * Значение по которому нужно делать запрос в базу данных - * @type {string} - * @memberof PossibleValueDto - */ - name: string; - /** - * Вспомогательное значение - * @type {string} - * @memberof PossibleValueDto - */ - slug: string; -} -/** - * - * @export - * @interface Premiere - */ -export interface Premiere { - /** - * - * @type {string} - * @memberof Premiere - */ - country?: string; - /** - * Для более релевантного поиска, используйте интервал дат 01.02.2022-01.02.2023 - * @type {Date} - * @memberof Premiere - */ - world?: Date; - /** - * Для более релевантного поиска, используйте интервал дат 01.02.2022-01.02.2023 - * @type {Date} - * @memberof Premiere - */ - russia?: Date; - /** - * - * @type {string} - * @memberof Premiere - */ - digital?: string; - /** - * Для более релевантного поиска, используйте интервал дат 01.02.2022-01.02.2023 - * @type {Date} - * @memberof Premiere - */ - cinema?: Date; - /** - * - * @type {string} - * @memberof Premiere - */ - bluray: string; - /** - * - * @type {string} - * @memberof Premiere - */ - dvd: string; -} -/** - * - * @export - * @interface Profession - */ -export interface Profession { - /** - * - * @type {string} - * @memberof Profession - */ - value?: string; -} -/** - * - * @export - * @interface Rating - */ -export interface Rating { - /** - * Рейтинг кинопоиска - * @type {number} - * @memberof Rating - */ - kp?: number; - /** - * Рейтинг IMDB - * @type {number} - * @memberof Rating - */ - imdb?: number; - /** - * Рейтинг TMDB - * @type {number} - * @memberof Rating - */ - tmdb?: number; - /** - * Рейтинг кинокритиков - * @type {number} - * @memberof Rating - */ - filmCritics?: number; - /** - * Рейтинг кинокритиков из РФ - * @type {number} - * @memberof Rating - */ - russianFilmCritics?: number; - /** - * Рейтинг основанный на ожиданиях пользователей - * @type {number} - * @memberof Rating - */ - _await?: number; -} -/** - * - * @export - * @interface Review - */ -export interface Review { - /** - * - * @type {number} - * @memberof Review - */ - id?: number; - /** - * - * @type {number} - * @memberof Review - */ - movieId?: number; - /** - * - * @type {string} - * @memberof Review - */ - title?: string; - /** - * - * @type {string} - * @memberof Review - */ - type?: string; - /** - * - * @type {string} - * @memberof Review - */ - review?: string; - /** - * - * @type {string} - * @memberof Review - */ - date?: string; - /** - * - * @type {string} - * @memberof Review - */ - author?: string; - /** - * - * @type {number} - * @memberof Review - */ - authorId?: number; - /** - * - * @type {number} - * @memberof Review - */ - userRating: number; -} -/** - * - * @export - * @interface ReviewDocsResponseDto - */ -export interface ReviewDocsResponseDto { - /** - * - * @type {Array} - * @memberof ReviewDocsResponseDto - */ - docs: Array; - /** - * Общее количество результатов - * @type {number} - * @memberof ReviewDocsResponseDto - */ - total: number; - /** - * Количество результатов на странице - * @type {number} - * @memberof ReviewDocsResponseDto - */ - limit: number; - /** - * Текущая страница - * @type {number} - * @memberof ReviewDocsResponseDto - */ - page: number; - /** - * Сколько страниц всего - * @type {number} - * @memberof ReviewDocsResponseDto - */ - pages: number; -} -/** - * - * @export - * @interface ReviewInfo - */ -export interface ReviewInfo { - /** - * - * @type {number} - * @memberof ReviewInfo - */ - count?: number; - /** - * - * @type {number} - * @memberof ReviewInfo - */ - positiveCount?: number; - /** - * - * @type {string} - * @memberof ReviewInfo - */ - percentage?: string; -} -/** - * - * @export - * @interface SearchMovieResponseDto - */ -export interface SearchMovieResponseDto { - /** - * - * @type {Array} - * @memberof SearchMovieResponseDto - */ - docs: Array; - /** - * Общее количество результатов - * @type {number} - * @memberof SearchMovieResponseDto - */ - total: number; - /** - * Количество результатов на странице - * @type {number} - * @memberof SearchMovieResponseDto - */ - limit: number; - /** - * Текущая страница - * @type {number} - * @memberof SearchMovieResponseDto - */ - page: number; - /** - * Сколько страниц всего - * @type {number} - * @memberof SearchMovieResponseDto - */ - pages: number; -} -/** - * - * @export - * @interface SearchPersonResponseDto - */ -export interface SearchPersonResponseDto { - /** - * - * @type {Array} - * @memberof SearchPersonResponseDto - */ - docs: Array; - /** - * Общее количество результатов - * @type {number} - * @memberof SearchPersonResponseDto - */ - total: number; - /** - * Количество результатов на странице - * @type {number} - * @memberof SearchPersonResponseDto - */ - limit: number; - /** - * Текущая страница - * @type {number} - * @memberof SearchPersonResponseDto - */ - page: number; - /** - * Сколько страниц всего - * @type {number} - * @memberof SearchPersonResponseDto - */ - pages: number; -} -/** - * - * @export - * @interface Season - */ -export interface Season { - /** - * - * @type {number} - * @memberof Season - */ - movieId?: number; - /** - * - * @type {number} - * @memberof Season - */ - number?: number; - /** - * - * @type {number} - * @memberof Season - */ - episodesCount?: number; - /** - * - * @type {Array} - * @memberof Season - */ - episodes?: Array; -} -/** - * - * @export - * @interface SeasonDocsResponseDto - */ -export interface SeasonDocsResponseDto { - /** - * - * @type {Array} - * @memberof SeasonDocsResponseDto - */ - docs: Array; - /** - * Общее количество результатов - * @type {number} - * @memberof SeasonDocsResponseDto - */ - total: number; - /** - * Количество результатов на странице - * @type {number} - * @memberof SeasonDocsResponseDto - */ - limit: number; - /** - * Текущая страница - * @type {number} - * @memberof SeasonDocsResponseDto - */ - page: number; - /** - * Сколько страниц всего - * @type {number} - * @memberof SeasonDocsResponseDto - */ - pages: number; -} -/** - * - * @export - * @interface SeasonInfo - */ -export interface SeasonInfo { - /** - * - * @type {number} - * @memberof SeasonInfo - */ - number?: number; - /** - * - * @type {number} - * @memberof SeasonInfo - */ - episodesCount?: number; -} -/** - * - * @export - * @interface ShortImage - */ -export interface ShortImage { - /** - * Чтобы найти фильмы с этим полем, используйте: `!null` - * @type {string} - * @memberof ShortImage - */ - url?: string; - /** - * Чтобы найти фильмы с этим полем, используйте: `!null` - * @type {string} - * @memberof ShortImage - */ - previewUrl?: string; -} -/** - * - * @export - * @interface Spouses - */ -export interface Spouses { - /** - * - * @type {number} - * @memberof Spouses - */ - id?: number; - /** - * - * @type {string} - * @memberof Spouses - */ - name?: string; - /** - * - * @type {boolean} - * @memberof Spouses - */ - divorced?: boolean; - /** - * - * @type {string} - * @memberof Spouses - */ - divorcedReason?: string; - /** - * - * @type {string} - * @memberof Spouses - */ - sex?: string; - /** - * - * @type {number} - * @memberof Spouses - */ - children?: number; - /** - * - * @type {string} - * @memberof Spouses - */ - relation?: string; -} -/** - * - * @export - * @interface Studio - */ -export interface Studio { - /** - * - * @type {string} - * @memberof Studio - */ - id: string; - /** - * - * @type {string} - * @memberof Studio - */ - subType: string; - /** - * - * @type {string} - * @memberof Studio - */ - title: string; - /** - * - * @type {string} - * @memberof Studio - */ - type?: Studio.TypeEnum; - /** - * - * @type {MovieFromStudio} - * @memberof Studio - */ - movies?: MovieFromStudio; -} - -/** - * @export - * @namespace Studio - */ -export namespace Studio { - /** - * @export - * @enum {string} - */ - export enum TypeEnum { - _0 = 'Производство', - _1 = 'Спецэффекты', - _2 = 'Прокат', - _3 = 'Студия дубляжа', - } -} -/** - * - * @export - * @interface StudioDocsResponseDto - */ -export interface StudioDocsResponseDto { - /** - * - * @type {Array} - * @memberof StudioDocsResponseDto - */ - docs: Array; - /** - * Общее количество результатов - * @type {number} - * @memberof StudioDocsResponseDto - */ - total: number; - /** - * Количество результатов на странице - * @type {number} - * @memberof StudioDocsResponseDto - */ - limit: number; - /** - * Текущая страница - * @type {number} - * @memberof StudioDocsResponseDto - */ - page: number; - /** - * Сколько страниц всего - * @type {number} - * @memberof StudioDocsResponseDto - */ - pages: number; -} -/** - * - * @export - * @interface UnauthorizedErrorResponseDto - */ -export interface UnauthorizedErrorResponseDto { - /** - * - * @type {number} - * @memberof UnauthorizedErrorResponseDto - */ - statusCode: number; - /** - * - * @type {string} - * @memberof UnauthorizedErrorResponseDto - */ - message: string; - /** - * - * @type {string} - * @memberof UnauthorizedErrorResponseDto - */ - error: string; -} -/** - * - * @export - * @interface VendorImage - */ -export interface VendorImage { - /** - * - * @type {string} - * @memberof VendorImage - */ - name?: string; - /** - * - * @type {string} - * @memberof VendorImage - */ - url?: string; - /** - * - * @type {string} - * @memberof VendorImage - */ - previewUrl?: string; -} -/** - * - * @export - * @interface Video - */ -export interface Video { - /** - * Url трейлера - * @type {string} - * @memberof Video - */ - url?: string; - /** - * - * @type {string} - * @memberof Video - */ - name?: string; - /** - * - * @type {string} - * @memberof Video - */ - site?: string; - /** - * - * @type {string} - * @memberof Video - */ - type?: string; - /** - * - * @type {number} - * @memberof Video - */ - size: number; -} -/** - * - * @export - * @interface VideoTypes - */ -export interface VideoTypes { - /** - * - * @type {Array