Refactored sonarr controller to be able to return anime or tv series based on the media found in the server. Also updated models

This commit is contained in:
2026-03-08 23:39:17 -06:00
parent a676a8e8ec
commit 87bf40dab9
14 changed files with 134 additions and 79 deletions

View File

@@ -0,0 +1,3 @@
namespace Jellyfin.Plugin.MediaCleaner.Models;
public record ConnectionTestRequest(string Address, string ApiKey);

View File

@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;
namespace Jellyfin.Plugin.MediaCleaner.Models;
public record EpisodeDeletionDetails(
[property: JsonPropertyName("id")] int? EpisodeId,
[property: JsonPropertyName("episodeFileId")] int? EpisodeFileId,
[property: JsonPropertyName("seasonNumber")] int? SeasonNumber
);

View File

@@ -0,0 +1,5 @@
using System.Collections.Generic;
namespace Jellyfin.Plugin.MediaCleaner.Models;
public record EpisodeIdLists(IReadOnlyList<int> EpisodeIds, IReadOnlyList<int> EpisodeFileIds);

View File

@@ -4,6 +4,6 @@ namespace Jellyfin.Plugin.MediaCleaner.Models;
public abstract class MediaInfo
{
public required string? TmdbId { get; set; }
public required string TmdbId { get; set; }
public required string Name { get; set; }
}

View File

@@ -0,0 +1,8 @@
using System.Text.Json.Serialization;
namespace Jellyfin.Plugin.MediaCleaner.Models;
public record RadarrMovie(
[property: JsonPropertyName("id")] int? Id,
[property: JsonPropertyName("title")] string? Title
);

View File

@@ -12,5 +12,5 @@ public class SeriesInfo : MediaInfo
{
public Guid SeriesId { get; set; }
public IEnumerable<string> Seasons { get; set; } = [];
public required string? TvdbId { get; set; }
public required string TvdbId { get; set; }
}

View File

@@ -0,0 +1,18 @@
using System.Collections.Generic;
using System.Text.Json.Serialization;
namespace Jellyfin.Plugin.MediaCleaner.Models;
public record SonarrSeries(
[property: JsonPropertyName("id")] int Id,
[property: JsonPropertyName("title")] string? Title,
[property: JsonPropertyName("seasons")] IReadOnlyList<Season> Seasons,
[property: JsonPropertyName("ended")] bool Ended,
[property: JsonPropertyName("tvdbId")] int TvdbId
// [property: JsonPropertyName("tmdbId")] int TmdbId,
// [property: JsonPropertyName("imdbId")] int ImdbId
);
public record Season(
[property: JsonPropertyName("seasonNumber")] int? SeasonNumber
);