@segha/tmdb 0.0.5 → 1.0.0

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 (33) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/DataTypes/Video.ts +10 -2
  3. package/Enums/MonetizationType.ts +15 -0
  4. package/Enums/ReleaseType.ts +17 -0
  5. package/Enums/WatchProvider.ts +27 -0
  6. package/Enums/index.ts +4 -0
  7. package/Movies/MovieDetails.ts +5 -1
  8. package/README.md +58 -12
  9. package/TVSeries/SerieDetails.ts +5 -1
  10. package/index.ts +1 -0
  11. package/json-schemas/API/MethodsSchema.json +780 -4
  12. package/json-schemas/API/SpecSchema.json +780 -4
  13. package/json-schemas/API/index.json +1710 -158
  14. package/json-schemas/DataTypes/VideoSchema.json +12 -2
  15. package/json-schemas/DataTypes/VideosResponseSchema.json +12 -2
  16. package/json-schemas/DataTypes/index.json +24 -4
  17. package/json-schemas/Enums/MonetizationType.json +11 -0
  18. package/json-schemas/Enums/ReleaseType.json +12 -0
  19. package/json-schemas/Enums/WatchProvider.json +17 -0
  20. package/json-schemas/Enums/index.json +47 -0
  21. package/json-schemas/MonetizationType.json +11 -0
  22. package/json-schemas/MovieDetailsSchema.json +365 -0
  23. package/json-schemas/Movies/MovieDetailsSchema.json +365 -0
  24. package/json-schemas/Movies/index.json +365 -0
  25. package/json-schemas/ReleaseType.json +12 -0
  26. package/json-schemas/SerieDetailsSchema.json +391 -0
  27. package/json-schemas/TVSeries/SerieDetailsSchema.json +391 -0
  28. package/json-schemas/TVSeries/index.json +391 -0
  29. package/json-schemas/VideoSchema.json +12 -2
  30. package/json-schemas/VideosResponseSchema.json +12 -2
  31. package/json-schemas/WatchProvider.json +17 -0
  32. package/json-schemas/index.json +820 -4
  33. package/package.json +1 -1
@@ -19,7 +19,12 @@
19
19
  "description": "Video key"
20
20
  },
21
21
  "site": {
22
- "type": "string",
22
+ "anyOf": [
23
+ {
24
+ "type": "string",
25
+ "const": "YouTube"
26
+ }
27
+ ],
23
28
  "description": "Video site"
24
29
  },
25
30
  "size": {
@@ -27,7 +32,12 @@
27
32
  "description": "Video size"
28
33
  },
29
34
  "type": {
30
- "type": "string",
35
+ "anyOf": [
36
+ {
37
+ "type": "string",
38
+ "const": "Teaser"
39
+ }
40
+ ],
31
41
  "description": "Video type"
32
42
  },
33
43
  "official": {
@@ -28,7 +28,12 @@
28
28
  "description": "Video key"
29
29
  },
30
30
  "site": {
31
- "type": "string",
31
+ "anyOf": [
32
+ {
33
+ "type": "string",
34
+ "const": "YouTube"
35
+ }
36
+ ],
32
37
  "description": "Video site"
33
38
  },
34
39
  "size": {
@@ -36,7 +41,12 @@
36
41
  "description": "Video size"
37
42
  },
38
43
  "type": {
39
- "type": "string",
44
+ "anyOf": [
45
+ {
46
+ "type": "string",
47
+ "const": "Teaser"
48
+ }
49
+ ],
40
50
  "description": "Video type"
41
51
  },
42
52
  "official": {
@@ -383,7 +383,12 @@
383
383
  "description": "Video key"
384
384
  },
385
385
  "site": {
386
- "type": "string",
386
+ "anyOf": [
387
+ {
388
+ "type": "string",
389
+ "const": "YouTube"
390
+ }
391
+ ],
387
392
  "description": "Video site"
388
393
  },
389
394
  "size": {
@@ -391,7 +396,12 @@
391
396
  "description": "Video size"
392
397
  },
393
398
  "type": {
394
- "type": "string",
399
+ "anyOf": [
400
+ {
401
+ "type": "string",
402
+ "const": "Teaser"
403
+ }
404
+ ],
395
405
  "description": "Video type"
396
406
  },
397
407
  "official": {
@@ -450,7 +460,12 @@
450
460
  "description": "Video key"
451
461
  },
452
462
  "site": {
453
- "type": "string",
463
+ "anyOf": [
464
+ {
465
+ "type": "string",
466
+ "const": "YouTube"
467
+ }
468
+ ],
454
469
  "description": "Video site"
455
470
  },
456
471
  "size": {
@@ -458,7 +473,12 @@
458
473
  "description": "Video size"
459
474
  },
460
475
  "type": {
461
- "type": "string",
476
+ "anyOf": [
477
+ {
478
+ "type": "string",
479
+ "const": "Teaser"
480
+ }
481
+ ],
462
482
  "description": "Video type"
463
483
  },
464
484
  "official": {
@@ -0,0 +1,11 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "string",
4
+ "enum": [
5
+ "flatrate",
6
+ "free",
7
+ "ads",
8
+ "rent",
9
+ "buy"
10
+ ]
11
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "string",
4
+ "enum": [
5
+ "1",
6
+ "2",
7
+ "3",
8
+ "4",
9
+ "5",
10
+ "6"
11
+ ]
12
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "number",
4
+ "enum": [
5
+ 8,
6
+ 337,
7
+ 350,
8
+ 119,
9
+ 63,
10
+ 62,
11
+ 1899,
12
+ 188,
13
+ 541,
14
+ 538,
15
+ 283
16
+ ]
17
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "@segha/tmdb/Enums",
4
+ "description": "Schemas for TMDB",
5
+ "$defs": {
6
+ "MonetizationType": {
7
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
8
+ "type": "string",
9
+ "enum": [
10
+ "flatrate",
11
+ "free",
12
+ "ads",
13
+ "rent",
14
+ "buy"
15
+ ]
16
+ },
17
+ "ReleaseType": {
18
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
19
+ "type": "string",
20
+ "enum": [
21
+ "1",
22
+ "2",
23
+ "3",
24
+ "4",
25
+ "5",
26
+ "6"
27
+ ]
28
+ },
29
+ "WatchProvider": {
30
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
31
+ "type": "number",
32
+ "enum": [
33
+ 8,
34
+ 337,
35
+ 350,
36
+ 119,
37
+ 63,
38
+ 62,
39
+ 1899,
40
+ 188,
41
+ 541,
42
+ 538,
43
+ 283
44
+ ]
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "string",
4
+ "enum": [
5
+ "flatrate",
6
+ "free",
7
+ "ads",
8
+ "rent",
9
+ "buy"
10
+ ]
11
+ }
@@ -215,6 +215,371 @@
215
215
  }
216
216
  ],
217
217
  "description": "Tagline"
218
+ },
219
+ "images": {
220
+ "type": "object",
221
+ "properties": {
222
+ "id": {
223
+ "type": "number",
224
+ "description": "Image ID"
225
+ },
226
+ "backdrops": {
227
+ "type": "array",
228
+ "items": {
229
+ "type": "object",
230
+ "properties": {
231
+ "aspect_ratio": {
232
+ "type": "number",
233
+ "description": "Aspect ratio"
234
+ },
235
+ "height": {
236
+ "type": "number",
237
+ "description": "Height"
238
+ },
239
+ "iso_639_1": {
240
+ "anyOf": [
241
+ {
242
+ "type": "string"
243
+ },
244
+ {
245
+ "type": "null"
246
+ }
247
+ ],
248
+ "description": "Spoken language ISO 639-1 code"
249
+ },
250
+ "file_path": {
251
+ "type": "string",
252
+ "description": "File path"
253
+ },
254
+ "vote_average": {
255
+ "type": "number",
256
+ "description": "Vote average"
257
+ },
258
+ "vote_count": {
259
+ "type": "number",
260
+ "description": "Vote count"
261
+ },
262
+ "width": {
263
+ "type": "number",
264
+ "description": "Width"
265
+ }
266
+ },
267
+ "required": [
268
+ "aspect_ratio",
269
+ "height",
270
+ "iso_639_1",
271
+ "file_path",
272
+ "vote_average",
273
+ "vote_count",
274
+ "width"
275
+ ]
276
+ },
277
+ "description": "Backdrops"
278
+ },
279
+ "logos": {
280
+ "type": "array",
281
+ "items": {
282
+ "type": "object",
283
+ "properties": {
284
+ "aspect_ratio": {
285
+ "type": "number",
286
+ "description": "Aspect ratio"
287
+ },
288
+ "height": {
289
+ "type": "number",
290
+ "description": "Height"
291
+ },
292
+ "iso_639_1": {
293
+ "anyOf": [
294
+ {
295
+ "type": "string"
296
+ },
297
+ {
298
+ "type": "null"
299
+ }
300
+ ],
301
+ "description": "Spoken language ISO 639-1 code"
302
+ },
303
+ "file_path": {
304
+ "type": "string",
305
+ "description": "File path"
306
+ },
307
+ "vote_average": {
308
+ "type": "number",
309
+ "description": "Vote average"
310
+ },
311
+ "vote_count": {
312
+ "type": "number",
313
+ "description": "Vote count"
314
+ },
315
+ "width": {
316
+ "type": "number",
317
+ "description": "Width"
318
+ }
319
+ },
320
+ "required": [
321
+ "aspect_ratio",
322
+ "height",
323
+ "iso_639_1",
324
+ "file_path",
325
+ "vote_average",
326
+ "vote_count",
327
+ "width"
328
+ ]
329
+ },
330
+ "description": "Logos"
331
+ },
332
+ "posters": {
333
+ "type": "array",
334
+ "items": {
335
+ "type": "object",
336
+ "properties": {
337
+ "aspect_ratio": {
338
+ "type": "number",
339
+ "description": "Aspect ratio"
340
+ },
341
+ "height": {
342
+ "type": "number",
343
+ "description": "Height"
344
+ },
345
+ "iso_639_1": {
346
+ "anyOf": [
347
+ {
348
+ "type": "string"
349
+ },
350
+ {
351
+ "type": "null"
352
+ }
353
+ ],
354
+ "description": "Spoken language ISO 639-1 code"
355
+ },
356
+ "file_path": {
357
+ "type": "string",
358
+ "description": "File path"
359
+ },
360
+ "vote_average": {
361
+ "type": "number",
362
+ "description": "Vote average"
363
+ },
364
+ "vote_count": {
365
+ "type": "number",
366
+ "description": "Vote count"
367
+ },
368
+ "width": {
369
+ "type": "number",
370
+ "description": "Width"
371
+ }
372
+ },
373
+ "required": [
374
+ "aspect_ratio",
375
+ "height",
376
+ "iso_639_1",
377
+ "file_path",
378
+ "vote_average",
379
+ "vote_count",
380
+ "width"
381
+ ]
382
+ },
383
+ "description": "Posters"
384
+ }
385
+ },
386
+ "required": [
387
+ "id",
388
+ "backdrops",
389
+ "logos",
390
+ "posters"
391
+ ]
392
+ },
393
+ "videos": {
394
+ "type": "object",
395
+ "properties": {
396
+ "id": {
397
+ "type": "number",
398
+ "description": "Video ID"
399
+ },
400
+ "results": {
401
+ "type": "array",
402
+ "items": {
403
+ "type": "object",
404
+ "properties": {
405
+ "iso_639_1": {
406
+ "type": "string",
407
+ "description": "Spoken language ISO 639-1 code"
408
+ },
409
+ "iso_3166_1": {
410
+ "type": "string",
411
+ "description": "Production country ISO 3166-1 Alpha-2 code"
412
+ },
413
+ "name": {
414
+ "type": "string",
415
+ "description": "Video name"
416
+ },
417
+ "key": {
418
+ "type": "string",
419
+ "description": "Video key"
420
+ },
421
+ "site": {
422
+ "anyOf": [
423
+ {
424
+ "type": "string",
425
+ "const": "YouTube"
426
+ }
427
+ ],
428
+ "description": "Video site"
429
+ },
430
+ "size": {
431
+ "type": "number",
432
+ "description": "Video size"
433
+ },
434
+ "type": {
435
+ "anyOf": [
436
+ {
437
+ "type": "string",
438
+ "const": "Teaser"
439
+ }
440
+ ],
441
+ "description": "Video type"
442
+ },
443
+ "official": {
444
+ "type": "boolean",
445
+ "description": "Video official"
446
+ },
447
+ "published_at": {
448
+ "type": "string",
449
+ "description": "Video published at"
450
+ },
451
+ "id": {
452
+ "type": "string",
453
+ "description": "Video ID"
454
+ }
455
+ },
456
+ "required": [
457
+ "iso_639_1",
458
+ "iso_3166_1",
459
+ "name",
460
+ "key",
461
+ "site",
462
+ "size",
463
+ "type",
464
+ "official",
465
+ "published_at",
466
+ "id"
467
+ ]
468
+ },
469
+ "description": "Videos"
470
+ }
471
+ },
472
+ "required": [
473
+ "id",
474
+ "results"
475
+ ]
476
+ },
477
+ "similar": {
478
+ "type": "object",
479
+ "properties": {
480
+ "page": {
481
+ "type": "number",
482
+ "description": "Page number"
483
+ },
484
+ "results": {
485
+ "type": "array",
486
+ "items": {
487
+ "type": "object",
488
+ "properties": {
489
+ "id": {
490
+ "type": "number",
491
+ "description": "Unique identifier for the movie"
492
+ },
493
+ "title": {
494
+ "type": "string",
495
+ "description": "Movie title"
496
+ },
497
+ "original_title": {
498
+ "type": "string",
499
+ "description": "Original movie title (in original language)"
500
+ },
501
+ "original_language": {
502
+ "type": "string",
503
+ "description": "Original language code (e.g., 'en', 'es', 'fr')"
504
+ },
505
+ "overview": {
506
+ "type": "string",
507
+ "description": "Movie overview/synopsis"
508
+ },
509
+ "poster_path": {
510
+ "type": "string",
511
+ "description": "Poster path (relative URL)"
512
+ },
513
+ "backdrop_path": {
514
+ "type": "string",
515
+ "description": "Backdrop path (relative URL)"
516
+ },
517
+ "release_date": {
518
+ "type": "string",
519
+ "description": "Release date (YYYY-MM-DD format)"
520
+ },
521
+ "vote_average": {
522
+ "type": "number",
523
+ "description": "Average vote rating (0-10)"
524
+ },
525
+ "vote_count": {
526
+ "type": "number",
527
+ "description": "Total number of votes"
528
+ },
529
+ "popularity": {
530
+ "type": "number",
531
+ "description": "Popularity score"
532
+ },
533
+ "adult": {
534
+ "type": "boolean",
535
+ "description": "Adult content flag"
536
+ },
537
+ "genre_ids": {
538
+ "type": "array",
539
+ "items": {
540
+ "type": "number"
541
+ },
542
+ "description": "Array of genre IDs"
543
+ },
544
+ "video": {
545
+ "type": "boolean",
546
+ "description": "Video flag"
547
+ }
548
+ },
549
+ "required": [
550
+ "id",
551
+ "title",
552
+ "original_title",
553
+ "original_language",
554
+ "overview",
555
+ "poster_path",
556
+ "backdrop_path",
557
+ "release_date",
558
+ "vote_average",
559
+ "vote_count",
560
+ "popularity",
561
+ "adult",
562
+ "genre_ids",
563
+ "video"
564
+ ]
565
+ },
566
+ "description": "Movies"
567
+ },
568
+ "total_pages": {
569
+ "type": "number",
570
+ "description": "Total pages"
571
+ },
572
+ "total_results": {
573
+ "type": "number",
574
+ "description": "Total results"
575
+ }
576
+ },
577
+ "required": [
578
+ "page",
579
+ "results",
580
+ "total_pages",
581
+ "total_results"
582
+ ]
218
583
  }
219
584
  },
220
585
  "required": [