@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.
Files changed (83) hide show
  1. package/README.md +401 -0
  2. package/index.ts +4 -0
  3. package/json-schemas/API/AiringTodayTVEndpoint.json +6 -0
  4. package/json-schemas/API/AllEndpoints.json +107 -0
  5. package/json-schemas/API/BaseUrl.json +6 -0
  6. package/json-schemas/API/ConfigurationSchema.json +13 -0
  7. package/json-schemas/API/EndpointsSchema.json +141 -0
  8. package/json-schemas/API/ImageBaseUrl.json +6 -0
  9. package/json-schemas/API/MethodsSchema.json +3791 -0
  10. package/json-schemas/API/MovieDetailsEndpoint.json +6 -0
  11. package/json-schemas/API/MovieEndpoints.json +45 -0
  12. package/json-schemas/API/MovieImagesEndpoint.json +6 -0
  13. package/json-schemas/API/MovieSimilarEndpoint.json +6 -0
  14. package/json-schemas/API/MovieVideosEndpoint.json +6 -0
  15. package/json-schemas/API/NowPlayingMoviesEndpoint.json +6 -0
  16. package/json-schemas/API/OnTheAirTVEndpoint.json +6 -0
  17. package/json-schemas/API/PopularMoviesEndpoint.json +6 -0
  18. package/json-schemas/API/PopularTVEndpoint.json +6 -0
  19. package/json-schemas/API/SearchEndpoints.json +15 -0
  20. package/json-schemas/API/SearchMoviesEndpoint.json +6 -0
  21. package/json-schemas/API/SearchTVEndpoint.json +6 -0
  22. package/json-schemas/API/SpecSchema.json +3817 -0
  23. package/json-schemas/API/TVDetailsEndpoint.json +6 -0
  24. package/json-schemas/API/TVEndpoints.json +45 -0
  25. package/json-schemas/API/TVImagesEndpoint.json +6 -0
  26. package/json-schemas/API/TVSimilarEndpoint.json +6 -0
  27. package/json-schemas/API/TVVideosEndpoint.json +6 -0
  28. package/json-schemas/API/TopRatedMoviesEndpoint.json +6 -0
  29. package/json-schemas/API/TopRatedTVEndpoint.json +6 -0
  30. package/json-schemas/API/UpcomingMoviesEndpoint.json +6 -0
  31. package/json-schemas/API/Version.json +6 -0
  32. package/json-schemas/API/index.json +8107 -0
  33. package/json-schemas/BackdropSizeSchema.json +11 -0
  34. package/json-schemas/DataTypes/BackdropSizeSchema.json +11 -0
  35. package/json-schemas/DataTypes/GenreSchema.json +18 -0
  36. package/json-schemas/DataTypes/ImageSchema.json +50 -0
  37. package/json-schemas/DataTypes/ImagesResponseSchema.json +175 -0
  38. package/json-schemas/DataTypes/LanguageSchema.json +23 -0
  39. package/json-schemas/DataTypes/PaginationParamsSchema.json +19 -0
  40. package/json-schemas/DataTypes/PosterSizeSchema.json +14 -0
  41. package/json-schemas/DataTypes/ProductionCompanySchema.json +35 -0
  42. package/json-schemas/DataTypes/ProductionCountrySchema.json +18 -0
  43. package/json-schemas/DataTypes/VideoSchema.json +58 -0
  44. package/json-schemas/DataTypes/VideosResponseSchema.json +75 -0
  45. package/json-schemas/DataTypes/index.json +503 -0
  46. package/json-schemas/GenreSchema.json +18 -0
  47. package/json-schemas/ImageSchema.json +50 -0
  48. package/json-schemas/ImagesResponseSchema.json +175 -0
  49. package/json-schemas/LanguageSchema.json +23 -0
  50. package/json-schemas/MovieDetailsParamsSchema.json +18 -0
  51. package/json-schemas/MovieDetailsSchema.json +246 -0
  52. package/json-schemas/MovieSchema.json +81 -0
  53. package/json-schemas/Movies/MovieDetailsParamsSchema.json +18 -0
  54. package/json-schemas/Movies/MovieDetailsSchema.json +246 -0
  55. package/json-schemas/Movies/MovieSchema.json +81 -0
  56. package/json-schemas/Movies/MoviesResponseSchema.json +108 -0
  57. package/json-schemas/Movies/SearchMoviesParamsSchema.json +31 -0
  58. package/json-schemas/Movies/index.json +491 -0
  59. package/json-schemas/MoviesResponseSchema.json +108 -0
  60. package/json-schemas/PaginationParamsSchema.json +19 -0
  61. package/json-schemas/PosterSizeSchema.json +14 -0
  62. package/json-schemas/ProductionCompanySchema.json +35 -0
  63. package/json-schemas/ProductionCountrySchema.json +18 -0
  64. package/json-schemas/SearchMoviesParamsSchema.json +31 -0
  65. package/json-schemas/SearchSeriesParamsSchema.json +31 -0
  66. package/json-schemas/SerieDetailsParamsSchema.json +18 -0
  67. package/json-schemas/SerieDetailsSchema.json +523 -0
  68. package/json-schemas/SerieSchema.json +107 -0
  69. package/json-schemas/SeriesResponseSchema.json +134 -0
  70. package/json-schemas/TVSeries/CreatorSchema.json +40 -0
  71. package/json-schemas/TVSeries/EpisodeSchema.json +89 -0
  72. package/json-schemas/TVSeries/NetworkSchema.json +35 -0
  73. package/json-schemas/TVSeries/SearchSeriesParamsSchema.json +31 -0
  74. package/json-schemas/TVSeries/SeasonSchema.json +57 -0
  75. package/json-schemas/TVSeries/SerieDetailsParamsSchema.json +18 -0
  76. package/json-schemas/TVSeries/SerieDetailsSchema.json +523 -0
  77. package/json-schemas/TVSeries/SerieSchema.json +107 -0
  78. package/json-schemas/TVSeries/SeriesResponseSchema.json +134 -0
  79. package/json-schemas/TVSeries/index.json +1041 -0
  80. package/json-schemas/VideoSchema.json +58 -0
  81. package/json-schemas/VideosResponseSchema.json +75 -0
  82. package/json-schemas/index.json +1800 -0
  83. package/package.json +50 -0
package/README.md ADDED
@@ -0,0 +1,401 @@
1
+ # @segha/tmdb
2
+
3
+ [![npm version](https://img.shields.io/npm/v/%40segha%2Ftmdb.svg)](https://www.npmjs.com/package/@segha/tmdb) [![npm downloads](https://img.shields.io/npm/dm/%40segha%2Ftmdb.svg)](https://www.npmjs.com/package/@segha/tmdb) [![license](https://img.shields.io/npm/l/%40segha%2Ftmdb.svg)](https://github.com/aitorllj93/segha) [![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue.svg)](https://www.typescriptlang.org/) [![zod](https://img.shields.io/badge/zod-schema-3068b7.svg)](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,4 @@
1
+
2
+ export * from './DataTypes';
3
+ export * from './Movies';
4
+ export * from './TVSeries';
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "string",
4
+ "const": "/tv/airing_today",
5
+ "description": "Get a list of TV shows airing today."
6
+ }
@@ -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
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "string",
4
+ "const": "https://api.themoviedb.org/3",
5
+ "description": "Base URL for the API"
6
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "apiKey": {
6
+ "type": "string",
7
+ "description": "Your TMDB API key"
8
+ }
9
+ },
10
+ "required": [
11
+ "apiKey"
12
+ ]
13
+ }