@segha/tmdb 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +401 -0
- package/index.ts +4 -0
- package/json-schemas/API/AiringTodayTVEndpoint.json +6 -0
- package/json-schemas/API/AllEndpoints.json +107 -0
- package/json-schemas/API/BaseUrl.json +6 -0
- package/json-schemas/API/ConfigurationSchema.json +13 -0
- package/json-schemas/API/EndpointsSchema.json +141 -0
- package/json-schemas/API/ImageBaseUrl.json +6 -0
- package/json-schemas/API/MethodsSchema.json +3791 -0
- package/json-schemas/API/MovieDetailsEndpoint.json +6 -0
- package/json-schemas/API/MovieEndpoints.json +45 -0
- package/json-schemas/API/MovieImagesEndpoint.json +6 -0
- package/json-schemas/API/MovieSimilarEndpoint.json +6 -0
- package/json-schemas/API/MovieVideosEndpoint.json +6 -0
- package/json-schemas/API/NowPlayingMoviesEndpoint.json +6 -0
- package/json-schemas/API/OnTheAirTVEndpoint.json +6 -0
- package/json-schemas/API/PopularMoviesEndpoint.json +6 -0
- package/json-schemas/API/PopularTVEndpoint.json +6 -0
- package/json-schemas/API/SearchEndpoints.json +15 -0
- package/json-schemas/API/SearchMoviesEndpoint.json +6 -0
- package/json-schemas/API/SearchTVEndpoint.json +6 -0
- package/json-schemas/API/SpecSchema.json +3817 -0
- package/json-schemas/API/TVDetailsEndpoint.json +6 -0
- package/json-schemas/API/TVEndpoints.json +45 -0
- package/json-schemas/API/TVImagesEndpoint.json +6 -0
- package/json-schemas/API/TVSimilarEndpoint.json +6 -0
- package/json-schemas/API/TVVideosEndpoint.json +6 -0
- package/json-schemas/API/TopRatedMoviesEndpoint.json +6 -0
- package/json-schemas/API/TopRatedTVEndpoint.json +6 -0
- package/json-schemas/API/UpcomingMoviesEndpoint.json +6 -0
- package/json-schemas/API/Version.json +6 -0
- package/json-schemas/API/index.json +8107 -0
- package/json-schemas/BackdropSizeSchema.json +11 -0
- package/json-schemas/DataTypes/BackdropSizeSchema.json +11 -0
- package/json-schemas/DataTypes/GenreSchema.json +18 -0
- package/json-schemas/DataTypes/ImageSchema.json +50 -0
- package/json-schemas/DataTypes/ImagesResponseSchema.json +175 -0
- package/json-schemas/DataTypes/LanguageSchema.json +23 -0
- package/json-schemas/DataTypes/PaginationParamsSchema.json +19 -0
- package/json-schemas/DataTypes/PosterSizeSchema.json +14 -0
- package/json-schemas/DataTypes/ProductionCompanySchema.json +35 -0
- package/json-schemas/DataTypes/ProductionCountrySchema.json +18 -0
- package/json-schemas/DataTypes/VideoSchema.json +58 -0
- package/json-schemas/DataTypes/VideosResponseSchema.json +75 -0
- package/json-schemas/DataTypes/index.json +503 -0
- package/json-schemas/GenreSchema.json +18 -0
- package/json-schemas/ImageSchema.json +50 -0
- package/json-schemas/ImagesResponseSchema.json +175 -0
- package/json-schemas/LanguageSchema.json +23 -0
- package/json-schemas/MovieDetailsParamsSchema.json +18 -0
- package/json-schemas/MovieDetailsSchema.json +246 -0
- package/json-schemas/MovieSchema.json +81 -0
- package/json-schemas/Movies/MovieDetailsParamsSchema.json +18 -0
- package/json-schemas/Movies/MovieDetailsSchema.json +246 -0
- package/json-schemas/Movies/MovieSchema.json +81 -0
- package/json-schemas/Movies/MoviesResponseSchema.json +108 -0
- package/json-schemas/Movies/SearchMoviesParamsSchema.json +31 -0
- package/json-schemas/Movies/index.json +491 -0
- package/json-schemas/MoviesResponseSchema.json +108 -0
- package/json-schemas/PaginationParamsSchema.json +19 -0
- package/json-schemas/PosterSizeSchema.json +14 -0
- package/json-schemas/ProductionCompanySchema.json +35 -0
- package/json-schemas/ProductionCountrySchema.json +18 -0
- package/json-schemas/SearchMoviesParamsSchema.json +31 -0
- package/json-schemas/SearchSeriesParamsSchema.json +31 -0
- package/json-schemas/SerieDetailsParamsSchema.json +18 -0
- package/json-schemas/SerieDetailsSchema.json +523 -0
- package/json-schemas/SerieSchema.json +107 -0
- package/json-schemas/SeriesResponseSchema.json +134 -0
- package/json-schemas/TVSeries/CreatorSchema.json +40 -0
- package/json-schemas/TVSeries/EpisodeSchema.json +89 -0
- package/json-schemas/TVSeries/NetworkSchema.json +35 -0
- package/json-schemas/TVSeries/SearchSeriesParamsSchema.json +31 -0
- package/json-schemas/TVSeries/SeasonSchema.json +57 -0
- package/json-schemas/TVSeries/SerieDetailsParamsSchema.json +18 -0
- package/json-schemas/TVSeries/SerieDetailsSchema.json +523 -0
- package/json-schemas/TVSeries/SerieSchema.json +107 -0
- package/json-schemas/TVSeries/SeriesResponseSchema.json +134 -0
- package/json-schemas/TVSeries/index.json +1041 -0
- package/json-schemas/VideoSchema.json +58 -0
- package/json-schemas/VideosResponseSchema.json +75 -0
- package/json-schemas/index.json +1800 -0
- package/package.json +50 -0
package/README.md
ADDED
|
@@ -0,0 +1,401 @@
|
|
|
1
|
+
# @segha/tmdb
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@segha/tmdb) [](https://www.npmjs.com/package/@segha/tmdb) [](https://github.com/aitorllj93/segha) [](https://www.typescriptlang.org/) [](https://zod.dev/)
|
|
4
|
+
|
|
5
|
+
Schemas for TMDB
|
|
6
|
+
|
|
7
|
+
## Requirements
|
|
8
|
+
|
|
9
|
+
- `zod`
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
pnpm add @segha/tmdb
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Usage
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
import { BackdropSizeSchema, GenreSchema, ImageSchema, ... } from '@segha/tmdb';
|
|
22
|
+
|
|
23
|
+
// Validate data
|
|
24
|
+
const result = BackdropSizeSchema.parse(data);
|
|
25
|
+
|
|
26
|
+
// Infer TypeScript types
|
|
27
|
+
type BackdropSize = z.infer<typeof BackdropSizeSchema>;
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
You can also import specific submodules:
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
import { SpecSchema, ConfigurationSchema } from '@segha/tmdb/api';
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Schemas
|
|
37
|
+
|
|
38
|
+
- [BackdropSize](#backdropsize)
|
|
39
|
+
- [Genre](#genre)
|
|
40
|
+
- [Image](#image)
|
|
41
|
+
- [ImagesResponse](#imagesresponse)
|
|
42
|
+
- [Language](#language)
|
|
43
|
+
- [MovieDetailsParams](#moviedetailsparams)
|
|
44
|
+
- [MovieDetails](#moviedetails)
|
|
45
|
+
- [Movie](#movie)
|
|
46
|
+
- [MoviesResponse](#moviesresponse)
|
|
47
|
+
- [PaginationParams](#paginationparams)
|
|
48
|
+
- [PosterSize](#postersize)
|
|
49
|
+
- [ProductionCompany](#productioncompany)
|
|
50
|
+
- [ProductionCountry](#productioncountry)
|
|
51
|
+
- [SearchMoviesParams](#searchmoviesparams)
|
|
52
|
+
- [SearchSeriesParams](#searchseriesparams)
|
|
53
|
+
- [SerieDetailsParams](#seriedetailsparams)
|
|
54
|
+
- [SerieDetails](#seriedetails)
|
|
55
|
+
- [Serie](#serie)
|
|
56
|
+
- [SeriesResponse](#seriesresponse)
|
|
57
|
+
- [Video](#video)
|
|
58
|
+
- [VideosResponse](#videosresponse)
|
|
59
|
+
|
|
60
|
+
## API Reference
|
|
61
|
+
|
|
62
|
+
## BackdropSize
|
|
63
|
+
|
|
64
|
+
Backdrop size
|
|
65
|
+
|
|
66
|
+
_Enum, one of the following possible values:_
|
|
67
|
+
|
|
68
|
+
- `'w300'`
|
|
69
|
+
- `'w780'`
|
|
70
|
+
- `'w1280'`
|
|
71
|
+
- `'original'`
|
|
72
|
+
|
|
73
|
+
## Genre
|
|
74
|
+
|
|
75
|
+
_Object containing the following properties:_
|
|
76
|
+
|
|
77
|
+
| Property | Description | Type |
|
|
78
|
+
| :-------------- | :------------------------------ | :------- |
|
|
79
|
+
| **`id`** (\*) | Unique identifier for the genre | `number` |
|
|
80
|
+
| **`name`** (\*) | Genre name | `string` |
|
|
81
|
+
|
|
82
|
+
_(\*) Required._
|
|
83
|
+
|
|
84
|
+
## Image
|
|
85
|
+
|
|
86
|
+
_Object containing the following properties:_
|
|
87
|
+
|
|
88
|
+
| Property | Description | Type |
|
|
89
|
+
| :---------------------- | :----------------------------- | :-------------------- |
|
|
90
|
+
| **`aspect_ratio`** (\*) | Aspect ratio | `number` |
|
|
91
|
+
| **`height`** (\*) | Height | `number` |
|
|
92
|
+
| **`iso_639_1`** (\*) | Spoken language ISO 639-1 code | `string` (_nullable_) |
|
|
93
|
+
| **`file_path`** (\*) | File path | `string` |
|
|
94
|
+
| **`vote_average`** (\*) | Vote average | `number` |
|
|
95
|
+
| **`vote_count`** (\*) | Vote count | `number` |
|
|
96
|
+
| **`width`** (\*) | Width | `number` |
|
|
97
|
+
|
|
98
|
+
_(\*) Required._
|
|
99
|
+
|
|
100
|
+
## ImagesResponse
|
|
101
|
+
|
|
102
|
+
_Object containing the following properties:_
|
|
103
|
+
|
|
104
|
+
| Property | Description | Type |
|
|
105
|
+
| :------------------- | :---------- | :------------------------------- |
|
|
106
|
+
| **`id`** (\*) | Image ID | `number` |
|
|
107
|
+
| **`backdrops`** (\*) | Backdrops | _Array of [Image](#image) items_ |
|
|
108
|
+
| **`logos`** (\*) | Logos | _Array of [Image](#image) items_ |
|
|
109
|
+
| **`posters`** (\*) | Posters | _Array of [Image](#image) items_ |
|
|
110
|
+
|
|
111
|
+
_(\*) Required._
|
|
112
|
+
|
|
113
|
+
## Language
|
|
114
|
+
|
|
115
|
+
_Object containing the following properties:_
|
|
116
|
+
|
|
117
|
+
| Property | Description | Type |
|
|
118
|
+
| :---------------------- | :----------------------------- | :------- |
|
|
119
|
+
| **`iso_639_1`** (\*) | Spoken language ISO 639-1 code | `string` |
|
|
120
|
+
| **`name`** (\*) | Spoken language name | `string` |
|
|
121
|
+
| **`english_name`** (\*) | Spoken language English name | `string` |
|
|
122
|
+
|
|
123
|
+
_(\*) Required._
|
|
124
|
+
|
|
125
|
+
## MovieDetailsParams
|
|
126
|
+
|
|
127
|
+
_Object containing the following properties:_
|
|
128
|
+
|
|
129
|
+
| Property | Description | Type |
|
|
130
|
+
| :----------------------- | :--------------------- | :------- |
|
|
131
|
+
| `append_to_response` | Append to response | `string` |
|
|
132
|
+
| `include_image_language` | Include image language | `string` |
|
|
133
|
+
| `language` | Language | `string` |
|
|
134
|
+
|
|
135
|
+
_All properties are optional._
|
|
136
|
+
|
|
137
|
+
## MovieDetails
|
|
138
|
+
|
|
139
|
+
_Object containing the following properties:_
|
|
140
|
+
|
|
141
|
+
| Property | Description | Type |
|
|
142
|
+
| :------------------------------ | :----------------------------------------------- | :------------------------------------------------------- |
|
|
143
|
+
| **`id`** (\*) | Unique identifier for the movie | `number` |
|
|
144
|
+
| **`title`** (\*) | Movie title | `string` |
|
|
145
|
+
| **`original_title`** (\*) | Original movie title (in original language) | `string` |
|
|
146
|
+
| **`original_language`** (\*) | Original language code (e.g., 'en', 'es', 'fr') | `string` |
|
|
147
|
+
| **`overview`** (\*) | Movie overview/synopsis | `string` |
|
|
148
|
+
| **`poster_path`** (\*) | Poster path (relative URL) | `string` |
|
|
149
|
+
| **`backdrop_path`** (\*) | Backdrop path (relative URL) | `string` |
|
|
150
|
+
| **`release_date`** (\*) | Release date (YYYY-MM-DD format) | `string` |
|
|
151
|
+
| **`vote_average`** (\*) | Average vote rating (0-10) | `number` |
|
|
152
|
+
| **`vote_count`** (\*) | Total number of votes | `number` |
|
|
153
|
+
| **`popularity`** (\*) | Popularity score | `number` |
|
|
154
|
+
| **`adult`** (\*) | Adult content flag | `boolean` |
|
|
155
|
+
| **`video`** (\*) | Video flag | `boolean` |
|
|
156
|
+
| **`genres`** (\*) | Movie genres | _Array of [Genre](#genre) items_ |
|
|
157
|
+
| **`runtime`** (\*) | Movie runtime in minutes | `number` (_nullable_) |
|
|
158
|
+
| **`budget`** (\*) | Budget in USD | `number` |
|
|
159
|
+
| **`revenue`** (\*) | Revenue in USD | `number` |
|
|
160
|
+
| **`homepage`** (\*) | Homepage URL | `string` (_nullable_) |
|
|
161
|
+
| **`imdb_id`** (\*) | IMDB ID | `string` (_nullable_) |
|
|
162
|
+
| **`production_companies`** (\*) | Production companies | _Array of [ProductionCompany](#productioncompany) items_ |
|
|
163
|
+
| **`production_countries`** (\*) | Production countries | _Array of [ProductionCountry](#productioncountry) items_ |
|
|
164
|
+
| **`spoken_languages`** (\*) | Spoken languages | _Array of [Language](#language) items_ |
|
|
165
|
+
| **`status`** (\*) | Current status (Released, Post Production, etc.) | `string` |
|
|
166
|
+
| **`tagline`** (\*) | Tagline | `string` (_nullable_) |
|
|
167
|
+
|
|
168
|
+
_(\*) Required._
|
|
169
|
+
|
|
170
|
+
## Movie
|
|
171
|
+
|
|
172
|
+
_Object containing the following properties:_
|
|
173
|
+
|
|
174
|
+
| Property | Description | Type |
|
|
175
|
+
| :--------------------------- | :---------------------------------------------- | :-------------- |
|
|
176
|
+
| **`id`** (\*) | Unique identifier for the movie | `number` |
|
|
177
|
+
| **`title`** (\*) | Movie title | `string` |
|
|
178
|
+
| **`original_title`** (\*) | Original movie title (in original language) | `string` |
|
|
179
|
+
| **`original_language`** (\*) | Original language code (e.g., 'en', 'es', 'fr') | `string` |
|
|
180
|
+
| **`overview`** (\*) | Movie overview/synopsis | `string` |
|
|
181
|
+
| **`poster_path`** (\*) | Poster path (relative URL) | `string` |
|
|
182
|
+
| **`backdrop_path`** (\*) | Backdrop path (relative URL) | `string` |
|
|
183
|
+
| **`release_date`** (\*) | Release date (YYYY-MM-DD format) | `string` |
|
|
184
|
+
| **`vote_average`** (\*) | Average vote rating (0-10) | `number` |
|
|
185
|
+
| **`vote_count`** (\*) | Total number of votes | `number` |
|
|
186
|
+
| **`popularity`** (\*) | Popularity score | `number` |
|
|
187
|
+
| **`adult`** (\*) | Adult content flag | `boolean` |
|
|
188
|
+
| **`genre_ids`** (\*) | Array of genre IDs | `Array<number>` |
|
|
189
|
+
| **`video`** (\*) | Video flag | `boolean` |
|
|
190
|
+
|
|
191
|
+
_(\*) Required._
|
|
192
|
+
|
|
193
|
+
## MoviesResponse
|
|
194
|
+
|
|
195
|
+
_Object containing the following properties:_
|
|
196
|
+
|
|
197
|
+
| Property | Description | Type |
|
|
198
|
+
| :----------------------- | :------------ | :------------------------------- |
|
|
199
|
+
| **`page`** (\*) | Page number | `number` |
|
|
200
|
+
| **`results`** (\*) | Movies | _Array of [Movie](#movie) items_ |
|
|
201
|
+
| **`total_pages`** (\*) | Total pages | `number` |
|
|
202
|
+
| **`total_results`** (\*) | Total results | `number` |
|
|
203
|
+
|
|
204
|
+
_(\*) Required._
|
|
205
|
+
|
|
206
|
+
## PaginationParams
|
|
207
|
+
|
|
208
|
+
Pagination parameters
|
|
209
|
+
|
|
210
|
+
_Object containing the following properties:_
|
|
211
|
+
|
|
212
|
+
| Property | Description | Type |
|
|
213
|
+
| :------------------ | :------------ | :------- |
|
|
214
|
+
| **`page`** (\*) | Page number | `number` |
|
|
215
|
+
| **`language`** (\*) | Language code | `string` |
|
|
216
|
+
|
|
217
|
+
_(\*) Required._
|
|
218
|
+
|
|
219
|
+
## PosterSize
|
|
220
|
+
|
|
221
|
+
Poster size
|
|
222
|
+
|
|
223
|
+
_Enum, one of the following possible values:_
|
|
224
|
+
|
|
225
|
+
- `'w92'`
|
|
226
|
+
- `'w154'`
|
|
227
|
+
- `'w185'`
|
|
228
|
+
- `'w342'`
|
|
229
|
+
- `'w500'`
|
|
230
|
+
- `'w780'`
|
|
231
|
+
- `'original'`
|
|
232
|
+
|
|
233
|
+
## ProductionCompany
|
|
234
|
+
|
|
235
|
+
_Object containing the following properties:_
|
|
236
|
+
|
|
237
|
+
| Property | Description | Type |
|
|
238
|
+
| :------------------------ | :------------------------------------------- | :-------------------- |
|
|
239
|
+
| **`id`** (\*) | Unique identifier for the production company | `number` |
|
|
240
|
+
| **`name`** (\*) | Production company name | `string` |
|
|
241
|
+
| **`logo_path`** (\*) | Logo path (relative URL) | `string` (_nullable_) |
|
|
242
|
+
| **`origin_country`** (\*) | Production company origin country | `string` |
|
|
243
|
+
|
|
244
|
+
_(\*) Required._
|
|
245
|
+
|
|
246
|
+
## ProductionCountry
|
|
247
|
+
|
|
248
|
+
_Object containing the following properties:_
|
|
249
|
+
|
|
250
|
+
| Property | Description | Type |
|
|
251
|
+
| :-------------------- | :----------------------------------------- | :------- |
|
|
252
|
+
| **`iso_3166_1`** (\*) | Production country ISO 3166-1 Alpha-2 code | `string` |
|
|
253
|
+
| **`name`** (\*) | Production country name | `string` |
|
|
254
|
+
|
|
255
|
+
_(\*) Required._
|
|
256
|
+
|
|
257
|
+
## SearchMoviesParams
|
|
258
|
+
|
|
259
|
+
_Object containing the following properties:_
|
|
260
|
+
|
|
261
|
+
| Property | Description | Type |
|
|
262
|
+
| :------------------ | :------------------- | :-------- |
|
|
263
|
+
| **`page`** (\*) | Page number | `number` |
|
|
264
|
+
| **`language`** (\*) | Language code | `string` |
|
|
265
|
+
| **`query`** (\*) | Search query | `string` |
|
|
266
|
+
| `include_adult` | Include adult movies | `boolean` |
|
|
267
|
+
| `year` | Year | `number` |
|
|
268
|
+
|
|
269
|
+
_(\*) Required._
|
|
270
|
+
|
|
271
|
+
## SearchSeriesParams
|
|
272
|
+
|
|
273
|
+
_Object containing the following properties:_
|
|
274
|
+
|
|
275
|
+
| Property | Description | Type |
|
|
276
|
+
| :------------------ | :------------------- | :-------- |
|
|
277
|
+
| **`page`** (\*) | Page number | `number` |
|
|
278
|
+
| **`language`** (\*) | Language code | `string` |
|
|
279
|
+
| **`query`** (\*) | Search query | `string` |
|
|
280
|
+
| `include_adult` | Include adult movies | `boolean` |
|
|
281
|
+
| `year` | Year | `number` |
|
|
282
|
+
|
|
283
|
+
_(\*) Required._
|
|
284
|
+
|
|
285
|
+
## SerieDetailsParams
|
|
286
|
+
|
|
287
|
+
_Object containing the following properties:_
|
|
288
|
+
|
|
289
|
+
| Property | Description | Type |
|
|
290
|
+
| :----------------------- | :--------------------- | :------- |
|
|
291
|
+
| `append_to_response` | Append to response | `string` |
|
|
292
|
+
| `include_image_language` | Include image language | `string` |
|
|
293
|
+
| `language` | Language | `string` |
|
|
294
|
+
|
|
295
|
+
_All properties are optional._
|
|
296
|
+
|
|
297
|
+
## SerieDetails
|
|
298
|
+
|
|
299
|
+
_Object containing the following properties:_
|
|
300
|
+
|
|
301
|
+
| Property | Description | Type |
|
|
302
|
+
| :------------------------------ | :---------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
303
|
+
| **`backdrop_path`** (\*) | Backdrop path (relative URL) | `string` (_nullable_) |
|
|
304
|
+
| **`first_air_date`** (\*) | First air date (YYYY-MM-DD format) | `string` (_nullable_) |
|
|
305
|
+
| **`id`** (\*) | Unique identifier for the serie | `number` |
|
|
306
|
+
| **`name`** (\*) | Serie name | `string` |
|
|
307
|
+
| **`origin_country`** (\*) | Array of origin countries | `Array<string>` |
|
|
308
|
+
| **`original_language`** (\*) | Original language code (e.g., 'en', 'es', 'fr') | `string` |
|
|
309
|
+
| **`original_name`** (\*) | Original serie name (in original language) | `string` |
|
|
310
|
+
| **`overview`** (\*) | Serie overview/synopsis | `string` (_nullable_) |
|
|
311
|
+
| **`popularity`** (\*) | Popularity score | `number` |
|
|
312
|
+
| **`poster_path`** (\*) | Poster path (relative URL) | `string` (_nullable_) |
|
|
313
|
+
| **`vote_average`** (\*) | Average vote rating (0-10) | `number` |
|
|
314
|
+
| **`vote_count`** (\*) | Total number of votes | `number` |
|
|
315
|
+
| **`adult`** (\*) | Adult content flag | `boolean` |
|
|
316
|
+
| **`created_by`** (\*) | Creators of the serie | _Array of objects:_<br /><ul><li>**`id`** (\*): `number` - Unique identifier for the creator</li><li>**`credit_id`** (\*): `string` - Credit ID</li><li>**`name`** (\*): `string` - Creator name</li><li>**`gender`** (\*): `number` - Creator gender</li><li>**`profile_path`** (\*): `string` (_nullable_) - Creator profile path (relative URL)</li></ul> |
|
|
317
|
+
| **`episode_run_time`** (\*) | Episode runtime in minutes | `Array<number>` |
|
|
318
|
+
| **`genres`** (\*) | Genres of the serie | _Array of [Genre](#genre) items_ |
|
|
319
|
+
| **`homepage`** (\*) | Homepage URL | `string` (_nullable_) |
|
|
320
|
+
| **`in_production`** (\*) | In production flag | `boolean` |
|
|
321
|
+
| **`languages`** (\*) | Languages of the serie | `Array<string>` |
|
|
322
|
+
| **`last_air_date`** (\*) | Last air date (YYYY-MM-DD format) | `string` |
|
|
323
|
+
| **`last_episode_to_air`** (\*) | Last episode to air | _Object with properties:_<ul><li>**`id`** (\*): `number` - Unique identifier for the episode</li><li>**`name`** (\*): `string` - Episode name</li><li>**`overview`** (\*): `string` (_nullable_) - Episode overview/synopsis</li><li>**`vote_average`** (\*): `number` - Average vote rating (0-10)</li><li>**`vote_count`** (\*): `number` - Total number of votes</li><li>**`air_date`** (\*): `string` - Air date (YYYY-MM-DD format)</li><li>**`episode_number`** (\*): `number` - Episode number</li><li>**`production_code`** (\*): `string` - Production code</li><li>**`runtime`** (\*): `number` (_nullable_) - Runtime in minutes</li><li>**`season_number`** (\*): `number` - Season number</li><li>**`show_id`** (\*): `number` - Show ID</li><li>**`still_path`** (\*): `string` (_nullable_) - Still path (relative URL)</li></ul> |
|
|
324
|
+
| **`next_episode_to_air`** (\*) | Next episode to air | `string` |
|
|
325
|
+
| **`networks`** (\*) | Networks of the serie | _Array of objects:_<br /><ul><li>**`id`** (\*): `number` - Unique identifier for the network</li><li>**`name`** (\*): `string` - Network name</li><li>**`logo_path`** (\*): `string` (_nullable_) - Logo path (relative URL)</li><li>**`origin_country`** (\*): `string` - Network origin country</li></ul> |
|
|
326
|
+
| **`number_of_episodes`** (\*) | Number of episodes | `number` |
|
|
327
|
+
| **`number_of_seasons`** (\*) | Number of seasons | `number` |
|
|
328
|
+
| **`production_companies`** (\*) | Production companies of the serie | _Array of [ProductionCompany](#productioncompany) items_ |
|
|
329
|
+
| **`production_countries`** (\*) | Production countries of the serie | _Array of [ProductionCountry](#productioncountry) items_ |
|
|
330
|
+
| **`seasons`** (\*) | Seasons of the serie | _Array of objects:_<br /><ul><li>**`air_date`** (\*): `string` - Air date (YYYY-MM-DD format)</li><li>**`episode_count`** (\*): `number` - Episode count</li><li>**`id`** (\*): `number` - Unique identifier for the season</li><li>**`name`** (\*): `string` - Season name</li><li>**`overview`** (\*): `string` (_nullable_) - Season overview/synopsis</li><li>**`poster_path`** (\*): `string` (_nullable_) - Poster path (relative URL)</li><li>**`season_number`** (\*): `number` - Season number</li></ul> |
|
|
331
|
+
| **`spoken_languages`** (\*) | Spoken languages of the serie | _Array of [Language](#language) items_ |
|
|
332
|
+
| **`status`** (\*) | Status of the serie | `string` |
|
|
333
|
+
| **`tagline`** (\*) | Tagline of the serie | `string` (_nullable_) |
|
|
334
|
+
| **`type`** (\*) | Type of the serie | `string` |
|
|
335
|
+
|
|
336
|
+
_(\*) Required._
|
|
337
|
+
|
|
338
|
+
## Serie
|
|
339
|
+
|
|
340
|
+
_Object containing the following properties:_
|
|
341
|
+
|
|
342
|
+
| Property | Description | Type |
|
|
343
|
+
| :--------------------------- | :---------------------------------------------- | :-------------------- |
|
|
344
|
+
| **`backdrop_path`** (\*) | Backdrop path (relative URL) | `string` (_nullable_) |
|
|
345
|
+
| **`first_air_date`** (\*) | First air date (YYYY-MM-DD format) | `string` (_nullable_) |
|
|
346
|
+
| **`genre_ids`** (\*) | Array of genre IDs | `Array<number>` |
|
|
347
|
+
| **`id`** (\*) | Unique identifier for the serie | `number` |
|
|
348
|
+
| **`name`** (\*) | Serie name | `string` |
|
|
349
|
+
| **`origin_country`** (\*) | Array of origin countries | `Array<string>` |
|
|
350
|
+
| **`original_language`** (\*) | Original language code (e.g., 'en', 'es', 'fr') | `string` |
|
|
351
|
+
| **`original_name`** (\*) | Original serie name (in original language) | `string` |
|
|
352
|
+
| **`overview`** (\*) | Serie overview/synopsis | `string` (_nullable_) |
|
|
353
|
+
| **`popularity`** (\*) | Popularity score | `number` |
|
|
354
|
+
| **`poster_path`** (\*) | Poster path (relative URL) | `string` (_nullable_) |
|
|
355
|
+
| **`vote_average`** (\*) | Average vote rating (0-10) | `number` |
|
|
356
|
+
| **`vote_count`** (\*) | Total number of votes | `number` |
|
|
357
|
+
|
|
358
|
+
_(\*) Required._
|
|
359
|
+
|
|
360
|
+
## SeriesResponse
|
|
361
|
+
|
|
362
|
+
_Object containing the following properties:_
|
|
363
|
+
|
|
364
|
+
| Property | Description | Type |
|
|
365
|
+
| :----------------------- | :------------ | :------------------------------- |
|
|
366
|
+
| **`page`** (\*) | Page number | `number` |
|
|
367
|
+
| **`results`** (\*) | Series | _Array of [Serie](#serie) items_ |
|
|
368
|
+
| **`total_pages`** (\*) | Total pages | `number` |
|
|
369
|
+
| **`total_results`** (\*) | Total results | `number` |
|
|
370
|
+
|
|
371
|
+
_(\*) Required._
|
|
372
|
+
|
|
373
|
+
## Video
|
|
374
|
+
|
|
375
|
+
_Object containing the following properties:_
|
|
376
|
+
|
|
377
|
+
| Property | Description | Type |
|
|
378
|
+
| :---------------------- | :----------------------------------------- | :-------- |
|
|
379
|
+
| **`iso_639_1`** (\*) | Spoken language ISO 639-1 code | `string` |
|
|
380
|
+
| **`iso_3166_1`** (\*) | Production country ISO 3166-1 Alpha-2 code | `string` |
|
|
381
|
+
| **`name`** (\*) | Video name | `string` |
|
|
382
|
+
| **`key`** (\*) | Video key | `string` |
|
|
383
|
+
| **`site`** (\*) | Video site | `string` |
|
|
384
|
+
| **`size`** (\*) | Video size | `number` |
|
|
385
|
+
| **`type`** (\*) | Video type | `string` |
|
|
386
|
+
| **`official`** (\*) | Video official | `boolean` |
|
|
387
|
+
| **`published_at`** (\*) | Video published at | `string` |
|
|
388
|
+
| **`id`** (\*) | Video ID | `string` |
|
|
389
|
+
|
|
390
|
+
_(\*) Required._
|
|
391
|
+
|
|
392
|
+
## VideosResponse
|
|
393
|
+
|
|
394
|
+
_Object containing the following properties:_
|
|
395
|
+
|
|
396
|
+
| Property | Description | Type |
|
|
397
|
+
| :----------------- | :---------- | :------------------------------- |
|
|
398
|
+
| **`id`** (\*) | Video ID | `number` |
|
|
399
|
+
| **`results`** (\*) | Videos | _Array of [Video](#video) items_ |
|
|
400
|
+
|
|
401
|
+
_(\*) Required._
|
package/index.ts
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"anyOf": [
|
|
4
|
+
{
|
|
5
|
+
"anyOf": [
|
|
6
|
+
{
|
|
7
|
+
"type": "string",
|
|
8
|
+
"const": "/search/movie",
|
|
9
|
+
"description": "Search for movies by their original, translated and alternative titles."
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"type": "string",
|
|
13
|
+
"const": "/search/tv",
|
|
14
|
+
"description": "Search for TV shows by their original, translated and also known as names."
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"anyOf": [
|
|
20
|
+
{
|
|
21
|
+
"type": "string",
|
|
22
|
+
"const": "/movie/now_playing",
|
|
23
|
+
"description": "Get a list of movies that are currently in theatres."
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"type": "string",
|
|
27
|
+
"const": "/movie/popular",
|
|
28
|
+
"description": "Get a list of movies ordered by popularity."
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"type": "string",
|
|
32
|
+
"const": "/movie/top_rated",
|
|
33
|
+
"description": "Get a list of movies ordered by rating."
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"type": "string",
|
|
37
|
+
"const": "/movie/upcoming",
|
|
38
|
+
"description": "Get a list of movies that are being released soon."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"type": "string",
|
|
42
|
+
"const": "/movie/{movie_id}",
|
|
43
|
+
"description": "Get the top level details of a movie by ID."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"type": "string",
|
|
47
|
+
"const": "/movie/{movie_id}/images",
|
|
48
|
+
"description": "Get the images that belong to a movie."
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"type": "string",
|
|
52
|
+
"const": "/movie/{movie_id}/videos",
|
|
53
|
+
"description": "Get the videos that belong to a movie."
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"type": "string",
|
|
57
|
+
"const": "/movie/{movie_id}/similar",
|
|
58
|
+
"description": "Get the similar movies based on genres and keywords."
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"anyOf": [
|
|
64
|
+
{
|
|
65
|
+
"type": "string",
|
|
66
|
+
"const": "/tv/airing_today",
|
|
67
|
+
"description": "Get a list of TV shows airing today."
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"type": "string",
|
|
71
|
+
"const": "/tv/on_the_air",
|
|
72
|
+
"description": "Get a list of TV shows that air in the next 7 days."
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"type": "string",
|
|
76
|
+
"const": "/tv/popular",
|
|
77
|
+
"description": "Get a list of TV shows ordered by popularity."
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"type": "string",
|
|
81
|
+
"const": "/tv/top_rated",
|
|
82
|
+
"description": "Get a list of TV shows ordered by rating."
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"type": "string",
|
|
86
|
+
"const": "/tv/{tv_id}",
|
|
87
|
+
"description": "Get the top level details of a TV show by ID."
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"type": "string",
|
|
91
|
+
"const": "/tv/{tv_id}/images",
|
|
92
|
+
"description": "Get the images that belong to a TV show."
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"type": "string",
|
|
96
|
+
"const": "/tv/{tv_id}/videos",
|
|
97
|
+
"description": "Get the videos that belong to a TV show."
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"type": "string",
|
|
101
|
+
"const": "/tv/{tv_id}/similar",
|
|
102
|
+
"description": "Get the similar TV shows."
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
}
|