diff --git a/api/src/models/entry/episode.ts b/api/src/models/entry/episode.ts index 7ce353c6..29d8f5d1 100644 --- a/api/src/models/entry/episode.ts +++ b/api/src/models/entry/episode.ts @@ -8,8 +8,8 @@ export const BaseEpisode = t.Intersect([ t.Object({ kind: t.Literal("episode"), order: t.Number({ minimum: 1, description: "Absolute playback order." }), - seasonNumber: t.Number(), - episodeNumber: t.Number(), + seasonNumber: t.Integer(), + episodeNumber: t.Integer(), externalId: EpisodeId, }), BaseEntry, diff --git a/api/src/models/entry/special.ts b/api/src/models/entry/special.ts index f9f459f1..bc0ec74f 100644 --- a/api/src/models/entry/special.ts +++ b/api/src/models/entry/special.ts @@ -12,7 +12,7 @@ export const BaseSpecial = t.Intersect( minimum: 1, description: "Absolute playback order. Can be mixed with episodes.", }), - number: t.Number({ minimum: 1 }), + number: t.Integer({ minimum: 1 }), externalId: EpisodeId, }), BaseEntry, diff --git a/api/src/models/movie.ts b/api/src/models/movie.ts index fccce3b8..a6630fb7 100644 --- a/api/src/models/movie.ts +++ b/api/src/models/movie.ts @@ -18,7 +18,7 @@ export type MovieStatus = typeof MovieStatus.static; const BaseMovie = t.Object({ genres: t.Array(Genre), - rating: t.Nullable(t.Number({ minimum: 0, maximum: 100 })), + rating: t.Nullable(t.Integer({ minimum: 0, maximum: 100 })), status: MovieStatus, runtime: t.Nullable( t.Number({ minimum: 0, description: "Runtime of the movie in minutes." }), diff --git a/api/src/models/season.ts b/api/src/models/season.ts index bcdaec04..cd90b215 100644 --- a/api/src/models/season.ts +++ b/api/src/models/season.ts @@ -7,7 +7,7 @@ import { TranslationRecord } from "./utils/language"; import { Resource } from "./utils/resource"; export const BaseSeason = t.Object({ - seasonNumber: t.Number({ minimum: 1 }), + seasonNumber: t.Integer({ minimum: 1 }), startAir: t.Nullable(t.String({ format: "date" })), endAir: t.Nullable(t.String({ format: "date" })), diff --git a/api/src/models/serie.ts b/api/src/models/serie.ts index 35b5f8cc..7344a9c3 100644 --- a/api/src/models/serie.ts +++ b/api/src/models/serie.ts @@ -18,7 +18,7 @@ export type SerieStatus = typeof SerieStatus.static; export const BaseSerie = t.Object({ genres: t.Array(Genre), - rating: t.Nullable(t.Number({ minimum: 0, maximum: 100 })), + rating: t.Nullable(t.Integer({ minimum: 0, maximum: 100 })), status: SerieStatus, runtime: t.Nullable( t.Number({ diff --git a/api/src/models/utils/external-id.ts b/api/src/models/utils/external-id.ts index 5f8f5b1d..d449f4d5 100644 --- a/api/src/models/utils/external-id.ts +++ b/api/src/models/utils/external-id.ts @@ -20,11 +20,11 @@ export const EpisodeId = t.Record( `, }), season: t.Nullable( - t.Number({ + t.Integer({ description: "Null if the external website uses absolute numbering.", }), ), - episode: t.Number(), + episode: t.Integer(), link: t.Nullable(t.String({ format: "uri" })), }), ); @@ -39,7 +39,7 @@ export const SeasonId = t.Record( We store the serie's id because episode id are rarely stable. `, }), - season: t.Number(), + season: t.Integer(), link: t.Nullable(t.String({ format: "uri" })), }), ); diff --git a/api/src/models/video.ts b/api/src/models/video.ts index a57bbb6e..3fa52afb 100644 --- a/api/src/models/video.ts +++ b/api/src/models/video.ts @@ -14,7 +14,7 @@ export const Video = t.Object({ `, }), part: t.Nullable( - t.Number({ + t.Integer({ minimum: 0, description: comment` If the episode/movie is split into multiples files, the \`part\` field can be used to order them. @@ -23,7 +23,7 @@ export const Video = t.Object({ `, }), ), - version: t.Number({ + version: t.Integer({ minimum: 0, default: 1, description: