From 46e403f880501a9101d313068e600be9ae2fbc8c Mon Sep 17 00:00:00 2001 From: Xander Sigler Date: Tue, 18 Jan 2022 12:09:42 -0800 Subject: [PATCH] Initial Commit --- .drone.yml | 29 +++ .gitignore | 3 + Helpers/RadarrExtensions.cs | 34 +++ Models/Blocklist.cs | 116 +++++++++ Models/BlocklistBulkBody.cs | 45 ++++ Models/Collection.cs | 60 +++++ Models/ConfigHostBody.cs | 292 +++++++++++++++++++++ Models/ConfigNamingBody.cs | 100 +++++++ Models/ConfigUiBody.cs | 116 +++++++++ Models/CustomFormat.cs | 68 +++++ Models/CustomFormatSpecifications.cs | 92 +++++++ Models/CustomfilterFilters.cs | 60 +++++ Models/DownloadClient.cs | 124 +++++++++ Models/History.cs | 124 +++++++++ Models/HistoryLanguages.cs | 52 ++++ Models/Image.cs | 60 +++++ Models/ImportList.cs | 172 ++++++++++++ Models/Indexer.cs | 156 +++++++++++ Models/InlineResponse200.cs | 244 +++++++++++++++++ Models/InlineResponse2001.cs | 116 +++++++++ Models/InlineResponse20010.cs | 92 +++++++ Models/InlineResponse2001Changes.cs | 52 ++++ Models/InlineResponse2002.cs | 76 ++++++ Models/InlineResponse2003.cs | 68 +++++ Models/InlineResponse2004.cs | 116 +++++++++ Models/InlineResponse2005.cs | 68 +++++ Models/InlineResponse2006.cs | 88 +++++++ Models/InlineResponse2007.cs | 292 +++++++++++++++++++++ Models/InlineResponse2008.cs | 100 +++++++ Models/InlineResponse2009.cs | 188 ++++++++++++++ Models/InlineResponse201.cs | 44 ++++ Models/InlineResponse401.cs | 44 ++++ Models/Metadata.cs | 108 ++++++++ Models/Movie.cs | 302 ++++++++++++++++++++++ Models/MovieEditorBody.cs | 100 +++++++ Models/MovieEditorBody1.cs | 60 +++++ Models/MovieFile.cs | 132 ++++++++++ Models/MovieFileMediaInfo.cs | 148 +++++++++++ Models/Notification.cs | 212 +++++++++++++++ Models/NotificationMessage.cs | 52 ++++ Models/ProviderField.cs | 92 +++++++ Models/Quality.cs | 52 ++++ Models/QualityProfile.cs | 108 ++++++++ Models/QualityProfileFormatItems.cs | 60 +++++ Models/QualityQuality.cs | 76 ++++++ Models/QualityRevision.cs | 60 +++++ Models/QueueBulkBody.cs | 44 ++++ Models/QueuedetailsLanguages.cs | 52 ++++ Models/QueuedetailsStatusMessages.cs | 52 ++++ Models/Rating.cs | 52 ++++ Models/Tag.cs | 52 ++++ Models/TagDetail.cs | 92 +++++++ Proxies/IRadarrProxy.cs | 13 + Proxies/RadarrProxy.cs | 53 ++++ README.md | 1 + RadarrClient.cs | 26 ++ RadarrSharp-Siglerdev.1.0.3.nupkg | Bin 0 -> 45448 bytes RadarrSharp.csproj | 21 ++ Services/BaseRadarrService.cs | 60 +++++ Services/Implementation/MovieService.cs | 60 +++++ Services/Implementation/QualityService.cs | 23 ++ Services/Interface/IMovieService.cs | 17 ++ Services/Interface/IQualityService.cs | 11 + 63 files changed, 5482 insertions(+) create mode 100644 .drone.yml create mode 100644 .gitignore create mode 100644 Helpers/RadarrExtensions.cs create mode 100644 Models/Blocklist.cs create mode 100644 Models/BlocklistBulkBody.cs create mode 100644 Models/Collection.cs create mode 100644 Models/ConfigHostBody.cs create mode 100644 Models/ConfigNamingBody.cs create mode 100644 Models/ConfigUiBody.cs create mode 100644 Models/CustomFormat.cs create mode 100644 Models/CustomFormatSpecifications.cs create mode 100644 Models/CustomfilterFilters.cs create mode 100644 Models/DownloadClient.cs create mode 100644 Models/History.cs create mode 100644 Models/HistoryLanguages.cs create mode 100644 Models/Image.cs create mode 100644 Models/ImportList.cs create mode 100644 Models/Indexer.cs create mode 100644 Models/InlineResponse200.cs create mode 100644 Models/InlineResponse2001.cs create mode 100644 Models/InlineResponse20010.cs create mode 100644 Models/InlineResponse2001Changes.cs create mode 100644 Models/InlineResponse2002.cs create mode 100644 Models/InlineResponse2003.cs create mode 100644 Models/InlineResponse2004.cs create mode 100644 Models/InlineResponse2005.cs create mode 100644 Models/InlineResponse2006.cs create mode 100644 Models/InlineResponse2007.cs create mode 100644 Models/InlineResponse2008.cs create mode 100644 Models/InlineResponse2009.cs create mode 100644 Models/InlineResponse201.cs create mode 100644 Models/InlineResponse401.cs create mode 100644 Models/Metadata.cs create mode 100644 Models/Movie.cs create mode 100644 Models/MovieEditorBody.cs create mode 100644 Models/MovieEditorBody1.cs create mode 100644 Models/MovieFile.cs create mode 100644 Models/MovieFileMediaInfo.cs create mode 100644 Models/Notification.cs create mode 100644 Models/NotificationMessage.cs create mode 100644 Models/ProviderField.cs create mode 100644 Models/Quality.cs create mode 100644 Models/QualityProfile.cs create mode 100644 Models/QualityProfileFormatItems.cs create mode 100644 Models/QualityQuality.cs create mode 100644 Models/QualityRevision.cs create mode 100644 Models/QueueBulkBody.cs create mode 100644 Models/QueuedetailsLanguages.cs create mode 100644 Models/QueuedetailsStatusMessages.cs create mode 100644 Models/Rating.cs create mode 100644 Models/Tag.cs create mode 100644 Models/TagDetail.cs create mode 100644 Proxies/IRadarrProxy.cs create mode 100644 Proxies/RadarrProxy.cs create mode 100644 README.md create mode 100644 RadarrClient.cs create mode 100644 RadarrSharp-Siglerdev.1.0.3.nupkg create mode 100644 RadarrSharp.csproj create mode 100644 Services/BaseRadarrService.cs create mode 100644 Services/Implementation/MovieService.cs create mode 100644 Services/Implementation/QualityService.cs create mode 100644 Services/Interface/IMovieService.cs create mode 100644 Services/Interface/IQualityService.cs diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..194d190 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,29 @@ +kind: pipeline +type: docker +name: RadarrSharp + +environment: + BUILD_NUM_SINCE_LAST_MINOR_VERSION: 15 + +steps: +- name: init + image: busybox + commands: + - echo 'Starting build pipeline for RadarrSharp' + - echo Drone build number is ${DRONE_BUILD_NUMBER} + - echo Revision is $((${DRONE_BUILD_NUMBER}-$BUILD_NUM_SINCE_LAST_MINOR_VERSION)) + +- name: nuget-publish + image: mcr.microsoft.com/dotnet/sdk:5.0 + environment: + NUGET_API_KEY: + from_secret: Nuget_Api_key + commands: + - dotnet build + - dotnet pack -p:Version=1.0.$((${DRONE_BUILD_NUMBER}-$BUILD_NUM_SINCE_LAST_MINOR_VERSION)) -o . + - dotnet nuget push *.nupkg --api-key $NUGET_API_KEY --source https://api.nuget.org/v3/index.json + +- name: finish + image: busybox + commands: + - echo 'Finished deployment for RadarrSharp' diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..394706c --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.vs/ +bin/ +obj/ \ No newline at end of file diff --git a/Helpers/RadarrExtensions.cs b/Helpers/RadarrExtensions.cs new file mode 100644 index 0000000..ab22d54 --- /dev/null +++ b/Helpers/RadarrExtensions.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; + +namespace RadarrSharp.Helpers +{ + public static class RadarrExtensions + { + public static Tuple ToTuple(this object value, string key) + { + if (value == null) + return null; + return new Tuple(key, value.ToString()); + } + + public static List> ToList(this Tuple tuple) + { + if (tuple == null) + return null; + return new List>() { tuple }; + } + + public static List> ParamList(params Tuple[] tuples) + { + if (tuples == null) + return null; + var combinedTuples = new List>(); + foreach (var p in tuples) + { + combinedTuples.Add(p); + } + return combinedTuples; + } + } +} diff --git a/Models/Blocklist.cs b/Models/Blocklist.cs new file mode 100644 index 0000000..483dd55 --- /dev/null +++ b/Models/Blocklist.cs @@ -0,0 +1,116 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class Blocklist { + /// + /// Gets or Sets MovieId + /// + [DataMember(Name="movieId", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "movieId")] + public decimal? MovieId { get; set; } + + /// + /// Gets or Sets SourceTitle + /// + [DataMember(Name="sourceTitle", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "sourceTitle")] + public string SourceTitle { get; set; } + + /// + /// Gets or Sets Languages + /// + [DataMember(Name="languages", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "languages")] + public List Languages { get; set; } + + /// + /// Gets or Sets Quality + /// + [DataMember(Name="quality", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "quality")] + public Quality Quality { get; set; } + + /// + /// Gets or Sets CustomFormats + /// + [DataMember(Name="customFormats", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "customFormats")] + public List CustomFormats { get; set; } + + /// + /// Gets or Sets Date + /// + [DataMember(Name="date", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "date")] + public string Date { get; set; } + + /// + /// Gets or Sets Protocol + /// + [DataMember(Name="protocol", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "protocol")] + public string Protocol { get; set; } + + /// + /// Gets or Sets Indexer + /// + [DataMember(Name="indexer", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "indexer")] + public string Indexer { get; set; } + + /// + /// Gets or Sets Message + /// + [DataMember(Name="message", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "message")] + public string Message { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public decimal? Id { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class Blocklist {\n"); + sb.Append(" MovieId: ").Append(MovieId).Append("\n"); + sb.Append(" SourceTitle: ").Append(SourceTitle).Append("\n"); + sb.Append(" Languages: ").Append(Languages).Append("\n"); + sb.Append(" Quality: ").Append(Quality).Append("\n"); + sb.Append(" CustomFormats: ").Append(CustomFormats).Append("\n"); + sb.Append(" Date: ").Append(Date).Append("\n"); + sb.Append(" Protocol: ").Append(Protocol).Append("\n"); + sb.Append(" Indexer: ").Append(Indexer).Append("\n"); + sb.Append(" Message: ").Append(Message).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/BlocklistBulkBody.cs b/Models/BlocklistBulkBody.cs new file mode 100644 index 0000000..66f6fa5 --- /dev/null +++ b/Models/BlocklistBulkBody.cs @@ -0,0 +1,45 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class BlocklistBulkBody { + /// + /// Database ids of the blocklist items to delete + /// + /// Database ids of the blocklist items to delete + [DataMember(Name="ids", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "ids")] + public List Ids { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class BlocklistBulkBody {\n"); + sb.Append(" Ids: ").Append(Ids).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/Collection.cs b/Models/Collection.cs new file mode 100644 index 0000000..df04009 --- /dev/null +++ b/Models/Collection.cs @@ -0,0 +1,60 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class Collection { + /// + /// Gets or Sets Name + /// + [DataMember(Name="name", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or Sets TmdbId + /// + [DataMember(Name="tmdbId", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "tmdbId")] + public int? TmdbId { get; set; } + + /// + /// Gets or Sets Images + /// + [DataMember(Name="images", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "images")] + public List Images { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class Collection {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" TmdbId: ").Append(TmdbId).Append("\n"); + sb.Append(" Images: ").Append(Images).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/ConfigHostBody.cs b/Models/ConfigHostBody.cs new file mode 100644 index 0000000..aa47192 --- /dev/null +++ b/Models/ConfigHostBody.cs @@ -0,0 +1,292 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class ConfigHostBody { + /// + /// Gets or Sets BindAddress + /// + [DataMember(Name="bindAddress", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "bindAddress")] + public string BindAddress { get; set; } + + /// + /// Gets or Sets Port + /// + [DataMember(Name="port", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "port")] + public decimal? Port { get; set; } + + /// + /// Gets or Sets SslPort + /// + [DataMember(Name="sslPort", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "sslPort")] + public decimal? SslPort { get; set; } + + /// + /// Gets or Sets EnableSsl + /// + [DataMember(Name="enableSsl", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "enableSsl")] + public bool? EnableSsl { get; set; } + + /// + /// Gets or Sets LaunchBrowser + /// + [DataMember(Name="launchBrowser", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "launchBrowser")] + public bool? LaunchBrowser { get; set; } + + /// + /// Gets or Sets AuthenticationMethod + /// + [DataMember(Name="authenticationMethod", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "authenticationMethod")] + public string AuthenticationMethod { get; set; } + + /// + /// Gets or Sets AnalyticsEnabled + /// + [DataMember(Name="analyticsEnabled", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "analyticsEnabled")] + public bool? AnalyticsEnabled { get; set; } + + /// + /// Gets or Sets Username + /// + [DataMember(Name="username", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "username")] + public string Username { get; set; } + + /// + /// Gets or Sets Password + /// + [DataMember(Name="password", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "password")] + public string Password { get; set; } + + /// + /// Gets or Sets LogLevel + /// + [DataMember(Name="logLevel", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "logLevel")] + public string LogLevel { get; set; } + + /// + /// Gets or Sets ConsoleLogLevel + /// + [DataMember(Name="consoleLogLevel", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "consoleLogLevel")] + public string ConsoleLogLevel { get; set; } + + /// + /// Gets or Sets Branch + /// + [DataMember(Name="branch", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "branch")] + public string Branch { get; set; } + + /// + /// Gets or Sets ApiKey + /// + [DataMember(Name="apiKey", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "apiKey")] + public string ApiKey { get; set; } + + /// + /// Gets or Sets SslCertPath + /// + [DataMember(Name="sslCertPath", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "sslCertPath")] + public string SslCertPath { get; set; } + + /// + /// Gets or Sets SslCertPassword + /// + [DataMember(Name="sslCertPassword", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "sslCertPassword")] + public string SslCertPassword { get; set; } + + /// + /// Gets or Sets UrlBase + /// + [DataMember(Name="urlBase", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "urlBase")] + public string UrlBase { get; set; } + + /// + /// Gets or Sets UpdateAutomatically + /// + [DataMember(Name="updateAutomatically", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "updateAutomatically")] + public bool? UpdateAutomatically { get; set; } + + /// + /// Gets or Sets UpdateMechanism + /// + [DataMember(Name="updateMechanism", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "updateMechanism")] + public string UpdateMechanism { get; set; } + + /// + /// Gets or Sets UpdateScriptPath + /// + [DataMember(Name="updateScriptPath", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "updateScriptPath")] + public string UpdateScriptPath { get; set; } + + /// + /// Gets or Sets ProxyEnabled + /// + [DataMember(Name="proxyEnabled", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "proxyEnabled")] + public bool? ProxyEnabled { get; set; } + + /// + /// Gets or Sets ProxyType + /// + [DataMember(Name="proxyType", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "proxyType")] + public string ProxyType { get; set; } + + /// + /// Gets or Sets ProxyHostname + /// + [DataMember(Name="proxyHostname", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "proxyHostname")] + public string ProxyHostname { get; set; } + + /// + /// Gets or Sets ProxyPort + /// + [DataMember(Name="proxyPort", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "proxyPort")] + public decimal? ProxyPort { get; set; } + + /// + /// Gets or Sets ProxyUsername + /// + [DataMember(Name="proxyUsername", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "proxyUsername")] + public string ProxyUsername { get; set; } + + /// + /// Gets or Sets ProxyPassword + /// + [DataMember(Name="proxyPassword", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "proxyPassword")] + public string ProxyPassword { get; set; } + + /// + /// Gets or Sets ProxyBypassFilter + /// + [DataMember(Name="proxyBypassFilter", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "proxyBypassFilter")] + public string ProxyBypassFilter { get; set; } + + /// + /// Gets or Sets ProxyBypassLocalAddresses + /// + [DataMember(Name="proxyBypassLocalAddresses", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "proxyBypassLocalAddresses")] + public bool? ProxyBypassLocalAddresses { get; set; } + + /// + /// Gets or Sets CertificateValidation + /// + [DataMember(Name="certificateValidation", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "certificateValidation")] + public string CertificateValidation { get; set; } + + /// + /// Gets or Sets BackupFolder + /// + [DataMember(Name="backupFolder", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "backupFolder")] + public string BackupFolder { get; set; } + + /// + /// Gets or Sets BackupInterval + /// + [DataMember(Name="backupInterval", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "backupInterval")] + public decimal? BackupInterval { get; set; } + + /// + /// Gets or Sets BackupRetention + /// + [DataMember(Name="backupRetention", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "backupRetention")] + public decimal? BackupRetention { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public decimal? Id { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class ConfigHostBody {\n"); + sb.Append(" BindAddress: ").Append(BindAddress).Append("\n"); + sb.Append(" Port: ").Append(Port).Append("\n"); + sb.Append(" SslPort: ").Append(SslPort).Append("\n"); + sb.Append(" EnableSsl: ").Append(EnableSsl).Append("\n"); + sb.Append(" LaunchBrowser: ").Append(LaunchBrowser).Append("\n"); + sb.Append(" AuthenticationMethod: ").Append(AuthenticationMethod).Append("\n"); + sb.Append(" AnalyticsEnabled: ").Append(AnalyticsEnabled).Append("\n"); + sb.Append(" Username: ").Append(Username).Append("\n"); + sb.Append(" Password: ").Append(Password).Append("\n"); + sb.Append(" LogLevel: ").Append(LogLevel).Append("\n"); + sb.Append(" ConsoleLogLevel: ").Append(ConsoleLogLevel).Append("\n"); + sb.Append(" Branch: ").Append(Branch).Append("\n"); + sb.Append(" ApiKey: ").Append(ApiKey).Append("\n"); + sb.Append(" SslCertPath: ").Append(SslCertPath).Append("\n"); + sb.Append(" SslCertPassword: ").Append(SslCertPassword).Append("\n"); + sb.Append(" UrlBase: ").Append(UrlBase).Append("\n"); + sb.Append(" UpdateAutomatically: ").Append(UpdateAutomatically).Append("\n"); + sb.Append(" UpdateMechanism: ").Append(UpdateMechanism).Append("\n"); + sb.Append(" UpdateScriptPath: ").Append(UpdateScriptPath).Append("\n"); + sb.Append(" ProxyEnabled: ").Append(ProxyEnabled).Append("\n"); + sb.Append(" ProxyType: ").Append(ProxyType).Append("\n"); + sb.Append(" ProxyHostname: ").Append(ProxyHostname).Append("\n"); + sb.Append(" ProxyPort: ").Append(ProxyPort).Append("\n"); + sb.Append(" ProxyUsername: ").Append(ProxyUsername).Append("\n"); + sb.Append(" ProxyPassword: ").Append(ProxyPassword).Append("\n"); + sb.Append(" ProxyBypassFilter: ").Append(ProxyBypassFilter).Append("\n"); + sb.Append(" ProxyBypassLocalAddresses: ").Append(ProxyBypassLocalAddresses).Append("\n"); + sb.Append(" CertificateValidation: ").Append(CertificateValidation).Append("\n"); + sb.Append(" BackupFolder: ").Append(BackupFolder).Append("\n"); + sb.Append(" BackupInterval: ").Append(BackupInterval).Append("\n"); + sb.Append(" BackupRetention: ").Append(BackupRetention).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/ConfigNamingBody.cs b/Models/ConfigNamingBody.cs new file mode 100644 index 0000000..024fd40 --- /dev/null +++ b/Models/ConfigNamingBody.cs @@ -0,0 +1,100 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class ConfigNamingBody { + /// + /// Gets or Sets RenameMovies + /// + [DataMember(Name="renameMovies", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "renameMovies")] + public bool? RenameMovies { get; set; } + + /// + /// Gets or Sets ReplaceIllegalCharacters + /// + [DataMember(Name="replaceIllegalCharacters", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "replaceIllegalCharacters")] + public bool? ReplaceIllegalCharacters { get; set; } + + /// + /// Gets or Sets ColonReplacementFormat + /// + [DataMember(Name="colonReplacementFormat", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "colonReplacementFormat")] + public string ColonReplacementFormat { get; set; } + + /// + /// Gets or Sets StandardMovieFormat + /// + [DataMember(Name="standardMovieFormat", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "standardMovieFormat")] + public string StandardMovieFormat { get; set; } + + /// + /// Gets or Sets MovieFolderFormat + /// + [DataMember(Name="movieFolderFormat", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "movieFolderFormat")] + public string MovieFolderFormat { get; set; } + + /// + /// Gets or Sets IncludeQuality + /// + [DataMember(Name="includeQuality", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "includeQuality")] + public bool? IncludeQuality { get; set; } + + /// + /// Gets or Sets ReplaceSpaces + /// + [DataMember(Name="replaceSpaces", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "replaceSpaces")] + public bool? ReplaceSpaces { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public decimal? Id { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class ConfigNamingBody {\n"); + sb.Append(" RenameMovies: ").Append(RenameMovies).Append("\n"); + sb.Append(" ReplaceIllegalCharacters: ").Append(ReplaceIllegalCharacters).Append("\n"); + sb.Append(" ColonReplacementFormat: ").Append(ColonReplacementFormat).Append("\n"); + sb.Append(" StandardMovieFormat: ").Append(StandardMovieFormat).Append("\n"); + sb.Append(" MovieFolderFormat: ").Append(MovieFolderFormat).Append("\n"); + sb.Append(" IncludeQuality: ").Append(IncludeQuality).Append("\n"); + sb.Append(" ReplaceSpaces: ").Append(ReplaceSpaces).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/ConfigUiBody.cs b/Models/ConfigUiBody.cs new file mode 100644 index 0000000..372659e --- /dev/null +++ b/Models/ConfigUiBody.cs @@ -0,0 +1,116 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class ConfigUiBody { + /// + /// Gets or Sets FirstDayOfWeek + /// + [DataMember(Name="firstDayOfWeek", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "firstDayOfWeek")] + public int? FirstDayOfWeek { get; set; } + + /// + /// Gets or Sets CalendarWeekColumnHeader + /// + [DataMember(Name="calendarWeekColumnHeader", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "calendarWeekColumnHeader")] + public string CalendarWeekColumnHeader { get; set; } + + /// + /// Gets or Sets MovieRuntimeFormat + /// + [DataMember(Name="movieRuntimeFormat", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "movieRuntimeFormat")] + public string MovieRuntimeFormat { get; set; } + + /// + /// Gets or Sets ShortDateFormat + /// + [DataMember(Name="shortDateFormat", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "shortDateFormat")] + public string ShortDateFormat { get; set; } + + /// + /// Gets or Sets LongDateFormat + /// + [DataMember(Name="longDateFormat", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "longDateFormat")] + public string LongDateFormat { get; set; } + + /// + /// Gets or Sets TimeFormat + /// + [DataMember(Name="timeFormat", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "timeFormat")] + public string TimeFormat { get; set; } + + /// + /// Gets or Sets ShowRelativeDates + /// + [DataMember(Name="showRelativeDates", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "showRelativeDates")] + public bool? ShowRelativeDates { get; set; } + + /// + /// Gets or Sets EnableColorImpairedMode + /// + [DataMember(Name="enableColorImpairedMode", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "enableColorImpairedMode")] + public bool? EnableColorImpairedMode { get; set; } + + /// + /// Gets or Sets MovieInfoLanguage + /// + [DataMember(Name="movieInfoLanguage", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "movieInfoLanguage")] + public decimal? MovieInfoLanguage { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public int? Id { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class ConfigUiBody {\n"); + sb.Append(" FirstDayOfWeek: ").Append(FirstDayOfWeek).Append("\n"); + sb.Append(" CalendarWeekColumnHeader: ").Append(CalendarWeekColumnHeader).Append("\n"); + sb.Append(" MovieRuntimeFormat: ").Append(MovieRuntimeFormat).Append("\n"); + sb.Append(" ShortDateFormat: ").Append(ShortDateFormat).Append("\n"); + sb.Append(" LongDateFormat: ").Append(LongDateFormat).Append("\n"); + sb.Append(" TimeFormat: ").Append(TimeFormat).Append("\n"); + sb.Append(" ShowRelativeDates: ").Append(ShowRelativeDates).Append("\n"); + sb.Append(" EnableColorImpairedMode: ").Append(EnableColorImpairedMode).Append("\n"); + sb.Append(" MovieInfoLanguage: ").Append(MovieInfoLanguage).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/CustomFormat.cs b/Models/CustomFormat.cs new file mode 100644 index 0000000..8d30352 --- /dev/null +++ b/Models/CustomFormat.cs @@ -0,0 +1,68 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class CustomFormat { + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public int? Id { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name="name", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or Sets IncludeCustomFormatWhenRenaming + /// + [DataMember(Name="includeCustomFormatWhenRenaming", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "includeCustomFormatWhenRenaming")] + public bool? IncludeCustomFormatWhenRenaming { get; set; } + + /// + /// Gets or Sets Specifications + /// + [DataMember(Name="specifications", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "specifications")] + public List Specifications { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class CustomFormat {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" IncludeCustomFormatWhenRenaming: ").Append(IncludeCustomFormatWhenRenaming).Append("\n"); + sb.Append(" Specifications: ").Append(Specifications).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/CustomFormatSpecifications.cs b/Models/CustomFormatSpecifications.cs new file mode 100644 index 0000000..9b1cf67 --- /dev/null +++ b/Models/CustomFormatSpecifications.cs @@ -0,0 +1,92 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class CustomFormatSpecifications { + /// + /// Gets or Sets Name + /// + [DataMember(Name="name", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or Sets Implementation + /// + [DataMember(Name="implementation", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "implementation")] + public string Implementation { get; set; } + + /// + /// Gets or Sets ImplementationName + /// + [DataMember(Name="implementationName", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "implementationName")] + public string ImplementationName { get; set; } + + /// + /// Gets or Sets InfoLink + /// + [DataMember(Name="infoLink", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "infoLink")] + public string InfoLink { get; set; } + + /// + /// Gets or Sets Negate + /// + [DataMember(Name="negate", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "negate")] + public bool? Negate { get; set; } + + /// + /// Gets or Sets Required + /// + [DataMember(Name="required", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "required")] + public bool? Required { get; set; } + + /// + /// Gets or Sets Fields + /// + [DataMember(Name="fields", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "fields")] + public List Fields { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class CustomFormatSpecifications {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Implementation: ").Append(Implementation).Append("\n"); + sb.Append(" ImplementationName: ").Append(ImplementationName).Append("\n"); + sb.Append(" InfoLink: ").Append(InfoLink).Append("\n"); + sb.Append(" Negate: ").Append(Negate).Append("\n"); + sb.Append(" Required: ").Append(Required).Append("\n"); + sb.Append(" Fields: ").Append(Fields).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/CustomfilterFilters.cs b/Models/CustomfilterFilters.cs new file mode 100644 index 0000000..b79994e --- /dev/null +++ b/Models/CustomfilterFilters.cs @@ -0,0 +1,60 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class CustomfilterFilters { + /// + /// Gets or Sets Key + /// + [DataMember(Name="key", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "key")] + public string Key { get; set; } + + /// + /// Gets or Sets Value + /// + [DataMember(Name="value", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "value")] + public List Value { get; set; } + + /// + /// Gets or Sets Type + /// + [DataMember(Name="type", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "type")] + public string Type { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class CustomfilterFilters {\n"); + sb.Append(" Key: ").Append(Key).Append("\n"); + sb.Append(" Value: ").Append(Value).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/DownloadClient.cs b/Models/DownloadClient.cs new file mode 100644 index 0000000..281045d --- /dev/null +++ b/Models/DownloadClient.cs @@ -0,0 +1,124 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class DownloadClient { + /// + /// Gets or Sets Enable + /// + [DataMember(Name="enable", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "enable")] + public bool? Enable { get; set; } + + /// + /// Gets or Sets Protocol + /// + [DataMember(Name="protocol", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "protocol")] + public string Protocol { get; set; } + + /// + /// Gets or Sets Priority + /// + [DataMember(Name="priority", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "priority")] + public int? Priority { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name="name", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or Sets Fields + /// + [DataMember(Name="fields", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "fields")] + public List Fields { get; set; } + + /// + /// Gets or Sets ImplementationName + /// + [DataMember(Name="implementationName", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "implementationName")] + public string ImplementationName { get; set; } + + /// + /// Gets or Sets Implementation + /// + [DataMember(Name="implementation", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "implementation")] + public string Implementation { get; set; } + + /// + /// Gets or Sets ConfigContract + /// + [DataMember(Name="configContract", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "configContract")] + public string ConfigContract { get; set; } + + /// + /// Gets or Sets InfoLink + /// + [DataMember(Name="infoLink", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "infoLink")] + public string InfoLink { get; set; } + + /// + /// Gets or Sets Tags + /// + [DataMember(Name="tags", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "tags")] + public List Tags { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public int? Id { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class DownloadClient {\n"); + sb.Append(" Enable: ").Append(Enable).Append("\n"); + sb.Append(" Protocol: ").Append(Protocol).Append("\n"); + sb.Append(" Priority: ").Append(Priority).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Fields: ").Append(Fields).Append("\n"); + sb.Append(" ImplementationName: ").Append(ImplementationName).Append("\n"); + sb.Append(" Implementation: ").Append(Implementation).Append("\n"); + sb.Append(" ConfigContract: ").Append(ConfigContract).Append("\n"); + sb.Append(" InfoLink: ").Append(InfoLink).Append("\n"); + sb.Append(" Tags: ").Append(Tags).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/History.cs b/Models/History.cs new file mode 100644 index 0000000..eb13d58 --- /dev/null +++ b/Models/History.cs @@ -0,0 +1,124 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class History { + /// + /// Gets or Sets MovieId + /// + [DataMember(Name="movieId", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "movieId")] + public decimal? MovieId { get; set; } + + /// + /// Gets or Sets SourceTitle + /// + [DataMember(Name="sourceTitle", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "sourceTitle")] + public string SourceTitle { get; set; } + + /// + /// Gets or Sets Languages + /// + [DataMember(Name="languages", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "languages")] + public List Languages { get; set; } + + /// + /// Gets or Sets Quality + /// + [DataMember(Name="quality", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "quality")] + public Quality Quality { get; set; } + + /// + /// Gets or Sets CustomFormats + /// + [DataMember(Name="customFormats", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "customFormats")] + public List CustomFormats { get; set; } + + /// + /// Gets or Sets QualityCutoffNotMet + /// + [DataMember(Name="qualityCutoffNotMet", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "qualityCutoffNotMet")] + public bool? QualityCutoffNotMet { get; set; } + + /// + /// Gets or Sets Date + /// + [DataMember(Name="date", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "date")] + public string Date { get; set; } + + /// + /// Gets or Sets DownloadId + /// + [DataMember(Name="downloadId", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "downloadId")] + public string DownloadId { get; set; } + + /// + /// Gets or Sets EventType + /// + [DataMember(Name="eventType", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "eventType")] + public string EventType { get; set; } + + /// + /// Gets or Sets Data + /// + [DataMember(Name="data", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "data")] + public Object Data { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public decimal? Id { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class History {\n"); + sb.Append(" MovieId: ").Append(MovieId).Append("\n"); + sb.Append(" SourceTitle: ").Append(SourceTitle).Append("\n"); + sb.Append(" Languages: ").Append(Languages).Append("\n"); + sb.Append(" Quality: ").Append(Quality).Append("\n"); + sb.Append(" CustomFormats: ").Append(CustomFormats).Append("\n"); + sb.Append(" QualityCutoffNotMet: ").Append(QualityCutoffNotMet).Append("\n"); + sb.Append(" Date: ").Append(Date).Append("\n"); + sb.Append(" DownloadId: ").Append(DownloadId).Append("\n"); + sb.Append(" EventType: ").Append(EventType).Append("\n"); + sb.Append(" Data: ").Append(Data).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/HistoryLanguages.cs b/Models/HistoryLanguages.cs new file mode 100644 index 0000000..976ffee --- /dev/null +++ b/Models/HistoryLanguages.cs @@ -0,0 +1,52 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class HistoryLanguages { + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public decimal? Id { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name="name", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class HistoryLanguages {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/Image.cs b/Models/Image.cs new file mode 100644 index 0000000..aa46362 --- /dev/null +++ b/Models/Image.cs @@ -0,0 +1,60 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class Image { + /// + /// Gets or Sets CoverType + /// + [DataMember(Name="coverType", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "coverType")] + public string CoverType { get; set; } + + /// + /// Gets or Sets Url + /// + [DataMember(Name="url", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "url")] + public string Url { get; set; } + + /// + /// Gets or Sets RemoteUrl + /// + [DataMember(Name="remoteUrl", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "remoteUrl")] + public string RemoteUrl { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class Image {\n"); + sb.Append(" CoverType: ").Append(CoverType).Append("\n"); + sb.Append(" Url: ").Append(Url).Append("\n"); + sb.Append(" RemoteUrl: ").Append(RemoteUrl).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/ImportList.cs b/Models/ImportList.cs new file mode 100644 index 0000000..bdbff5b --- /dev/null +++ b/Models/ImportList.cs @@ -0,0 +1,172 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class ImportList { + /// + /// Gets or Sets Enabled + /// + [DataMember(Name="enabled", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "enabled")] + public bool? Enabled { get; set; } + + /// + /// Gets or Sets EnableAuto + /// + [DataMember(Name="enableAuto", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "enableAuto")] + public bool? EnableAuto { get; set; } + + /// + /// Gets or Sets ShouldMonitor + /// + [DataMember(Name="shouldMonitor", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "shouldMonitor")] + public bool? ShouldMonitor { get; set; } + + /// + /// Gets or Sets RootFolderPath + /// + [DataMember(Name="rootFolderPath", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "rootFolderPath")] + public string RootFolderPath { get; set; } + + /// + /// Gets or Sets QualityProfileId + /// + [DataMember(Name="qualityProfileId", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "qualityProfileId")] + public decimal? QualityProfileId { get; set; } + + /// + /// Gets or Sets SearchOnAdd + /// + [DataMember(Name="searchOnAdd", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "searchOnAdd")] + public bool? SearchOnAdd { get; set; } + + /// + /// Gets or Sets MinimumAvailability + /// + [DataMember(Name="minimumAvailability", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "minimumAvailability")] + public string MinimumAvailability { get; set; } + + /// + /// Gets or Sets ListType + /// + [DataMember(Name="listType", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "listType")] + public string ListType { get; set; } + + /// + /// Gets or Sets ListOrder + /// + [DataMember(Name="listOrder", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "listOrder")] + public decimal? ListOrder { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name="name", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or Sets Fields + /// + [DataMember(Name="fields", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "fields")] + public List Fields { get; set; } + + /// + /// Gets or Sets ImplementationName + /// + [DataMember(Name="implementationName", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "implementationName")] + public string ImplementationName { get; set; } + + /// + /// Gets or Sets Implementation + /// + [DataMember(Name="implementation", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "implementation")] + public string Implementation { get; set; } + + /// + /// Gets or Sets ConfigContract + /// + [DataMember(Name="configContract", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "configContract")] + public string ConfigContract { get; set; } + + /// + /// Gets or Sets InfoLink + /// + [DataMember(Name="infoLink", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "infoLink")] + public string InfoLink { get; set; } + + /// + /// Gets or Sets Tags + /// + [DataMember(Name="tags", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "tags")] + public List Tags { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public int? Id { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class ImportList {\n"); + sb.Append(" Enabled: ").Append(Enabled).Append("\n"); + sb.Append(" EnableAuto: ").Append(EnableAuto).Append("\n"); + sb.Append(" ShouldMonitor: ").Append(ShouldMonitor).Append("\n"); + sb.Append(" RootFolderPath: ").Append(RootFolderPath).Append("\n"); + sb.Append(" QualityProfileId: ").Append(QualityProfileId).Append("\n"); + sb.Append(" SearchOnAdd: ").Append(SearchOnAdd).Append("\n"); + sb.Append(" MinimumAvailability: ").Append(MinimumAvailability).Append("\n"); + sb.Append(" ListType: ").Append(ListType).Append("\n"); + sb.Append(" ListOrder: ").Append(ListOrder).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Fields: ").Append(Fields).Append("\n"); + sb.Append(" ImplementationName: ").Append(ImplementationName).Append("\n"); + sb.Append(" Implementation: ").Append(Implementation).Append("\n"); + sb.Append(" ConfigContract: ").Append(ConfigContract).Append("\n"); + sb.Append(" InfoLink: ").Append(InfoLink).Append("\n"); + sb.Append(" Tags: ").Append(Tags).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/Indexer.cs b/Models/Indexer.cs new file mode 100644 index 0000000..72d45e4 --- /dev/null +++ b/Models/Indexer.cs @@ -0,0 +1,156 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class Indexer { + /// + /// Gets or Sets EnableRss + /// + [DataMember(Name="enableRss", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "enableRss")] + public bool? EnableRss { get; set; } + + /// + /// Gets or Sets EnableAutomaticSearch + /// + [DataMember(Name="enableAutomaticSearch", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "enableAutomaticSearch")] + public bool? EnableAutomaticSearch { get; set; } + + /// + /// Gets or Sets EnableInteractiveSearch + /// + [DataMember(Name="enableInteractiveSearch", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "enableInteractiveSearch")] + public bool? EnableInteractiveSearch { get; set; } + + /// + /// Gets or Sets SupportsRss + /// + [DataMember(Name="supportsRss", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "supportsRss")] + public bool? SupportsRss { get; set; } + + /// + /// Gets or Sets SupportsSearch + /// + [DataMember(Name="supportsSearch", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "supportsSearch")] + public bool? SupportsSearch { get; set; } + + /// + /// Gets or Sets Protocol + /// + [DataMember(Name="protocol", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "protocol")] + public string Protocol { get; set; } + + /// + /// Gets or Sets Priority + /// + [DataMember(Name="priority", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "priority")] + public int? Priority { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name="name", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or Sets Fields + /// + [DataMember(Name="fields", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "fields")] + public List Fields { get; set; } + + /// + /// Gets or Sets ImplementationName + /// + [DataMember(Name="implementationName", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "implementationName")] + public string ImplementationName { get; set; } + + /// + /// Gets or Sets Implementation + /// + [DataMember(Name="implementation", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "implementation")] + public string Implementation { get; set; } + + /// + /// Gets or Sets ConfigContract + /// + [DataMember(Name="configContract", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "configContract")] + public string ConfigContract { get; set; } + + /// + /// Gets or Sets InfoLink + /// + [DataMember(Name="infoLink", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "infoLink")] + public string InfoLink { get; set; } + + /// + /// Gets or Sets Tags + /// + [DataMember(Name="tags", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "tags")] + public List Tags { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public decimal? Id { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class Indexer {\n"); + sb.Append(" EnableRss: ").Append(EnableRss).Append("\n"); + sb.Append(" EnableAutomaticSearch: ").Append(EnableAutomaticSearch).Append("\n"); + sb.Append(" EnableInteractiveSearch: ").Append(EnableInteractiveSearch).Append("\n"); + sb.Append(" SupportsRss: ").Append(SupportsRss).Append("\n"); + sb.Append(" SupportsSearch: ").Append(SupportsSearch).Append("\n"); + sb.Append(" Protocol: ").Append(Protocol).Append("\n"); + sb.Append(" Priority: ").Append(Priority).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Fields: ").Append(Fields).Append("\n"); + sb.Append(" ImplementationName: ").Append(ImplementationName).Append("\n"); + sb.Append(" Implementation: ").Append(Implementation).Append("\n"); + sb.Append(" ConfigContract: ").Append(ConfigContract).Append("\n"); + sb.Append(" InfoLink: ").Append(InfoLink).Append("\n"); + sb.Append(" Tags: ").Append(Tags).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/InlineResponse200.cs b/Models/InlineResponse200.cs new file mode 100644 index 0000000..dc4ca56 --- /dev/null +++ b/Models/InlineResponse200.cs @@ -0,0 +1,244 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class InlineResponse200 { + /// + /// Gets or Sets Version + /// + [DataMember(Name="version", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "version")] + public string Version { get; set; } + + /// + /// Gets or Sets BuildTime + /// + [DataMember(Name="buildTime", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "buildTime")] + public string BuildTime { get; set; } + + /// + /// Gets or Sets IsDebug + /// + [DataMember(Name="isDebug", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "isDebug")] + public bool? IsDebug { get; set; } + + /// + /// Gets or Sets IsProduction + /// + [DataMember(Name="isProduction", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "isProduction")] + public bool? IsProduction { get; set; } + + /// + /// Gets or Sets IsAdmin + /// + [DataMember(Name="isAdmin", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "isAdmin")] + public bool? IsAdmin { get; set; } + + /// + /// Gets or Sets IsUserInteractive + /// + [DataMember(Name="isUserInteractive", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "isUserInteractive")] + public bool? IsUserInteractive { get; set; } + + /// + /// Gets or Sets StartupPath + /// + [DataMember(Name="startupPath", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "startupPath")] + public string StartupPath { get; set; } + + /// + /// Gets or Sets AppData + /// + [DataMember(Name="appData", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "appData")] + public string AppData { get; set; } + + /// + /// Gets or Sets OsName + /// + [DataMember(Name="osName", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "osName")] + public string OsName { get; set; } + + /// + /// Gets or Sets OsVersion + /// + [DataMember(Name="osVersion", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "osVersion")] + public string OsVersion { get; set; } + + /// + /// Gets or Sets IsNetCore + /// + [DataMember(Name="isNetCore", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "isNetCore")] + public bool? IsNetCore { get; set; } + + /// + /// Gets or Sets IsMono + /// + [DataMember(Name="isMono", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "isMono")] + public bool? IsMono { get; set; } + + /// + /// Gets or Sets IsLinux + /// + [DataMember(Name="isLinux", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "isLinux")] + public bool? IsLinux { get; set; } + + /// + /// Gets or Sets IsOsx + /// + [DataMember(Name="isOsx", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "isOsx")] + public bool? IsOsx { get; set; } + + /// + /// Gets or Sets IsWindows + /// + [DataMember(Name="isWindows", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "isWindows")] + public bool? IsWindows { get; set; } + + /// + /// Gets or Sets IsDocker + /// + [DataMember(Name="isDocker", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "isDocker")] + public bool? IsDocker { get; set; } + + /// + /// Gets or Sets Mode + /// + [DataMember(Name="mode", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "mode")] + public string Mode { get; set; } + + /// + /// Gets or Sets Branch + /// + [DataMember(Name="branch", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "branch")] + public string Branch { get; set; } + + /// + /// Gets or Sets Authentication + /// + [DataMember(Name="authentication", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "authentication")] + public string Authentication { get; set; } + + /// + /// Gets or Sets SqliteVersion + /// + [DataMember(Name="sqliteVersion", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "sqliteVersion")] + public string SqliteVersion { get; set; } + + /// + /// Gets or Sets MigrationVersion + /// + [DataMember(Name="migrationVersion", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "migrationVersion")] + public int? MigrationVersion { get; set; } + + /// + /// Gets or Sets UrlBase + /// + [DataMember(Name="urlBase", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "urlBase")] + public string UrlBase { get; set; } + + /// + /// Gets or Sets RuntimeVersion + /// + [DataMember(Name="runtimeVersion", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "runtimeVersion")] + public string RuntimeVersion { get; set; } + + /// + /// Gets or Sets RuntimeName + /// + [DataMember(Name="runtimeName", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "runtimeName")] + public string RuntimeName { get; set; } + + /// + /// Gets or Sets StartTime + /// + [DataMember(Name="startTime", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "startTime")] + public string StartTime { get; set; } + + /// + /// Gets or Sets PackageUpdateMechanism + /// + [DataMember(Name="packageUpdateMechanism", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "packageUpdateMechanism")] + public string PackageUpdateMechanism { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class InlineResponse200 {\n"); + sb.Append(" Version: ").Append(Version).Append("\n"); + sb.Append(" BuildTime: ").Append(BuildTime).Append("\n"); + sb.Append(" IsDebug: ").Append(IsDebug).Append("\n"); + sb.Append(" IsProduction: ").Append(IsProduction).Append("\n"); + sb.Append(" IsAdmin: ").Append(IsAdmin).Append("\n"); + sb.Append(" IsUserInteractive: ").Append(IsUserInteractive).Append("\n"); + sb.Append(" StartupPath: ").Append(StartupPath).Append("\n"); + sb.Append(" AppData: ").Append(AppData).Append("\n"); + sb.Append(" OsName: ").Append(OsName).Append("\n"); + sb.Append(" OsVersion: ").Append(OsVersion).Append("\n"); + sb.Append(" IsNetCore: ").Append(IsNetCore).Append("\n"); + sb.Append(" IsMono: ").Append(IsMono).Append("\n"); + sb.Append(" IsLinux: ").Append(IsLinux).Append("\n"); + sb.Append(" IsOsx: ").Append(IsOsx).Append("\n"); + sb.Append(" IsWindows: ").Append(IsWindows).Append("\n"); + sb.Append(" IsDocker: ").Append(IsDocker).Append("\n"); + sb.Append(" Mode: ").Append(Mode).Append("\n"); + sb.Append(" Branch: ").Append(Branch).Append("\n"); + sb.Append(" Authentication: ").Append(Authentication).Append("\n"); + sb.Append(" SqliteVersion: ").Append(SqliteVersion).Append("\n"); + sb.Append(" MigrationVersion: ").Append(MigrationVersion).Append("\n"); + sb.Append(" UrlBase: ").Append(UrlBase).Append("\n"); + sb.Append(" RuntimeVersion: ").Append(RuntimeVersion).Append("\n"); + sb.Append(" RuntimeName: ").Append(RuntimeName).Append("\n"); + sb.Append(" StartTime: ").Append(StartTime).Append("\n"); + sb.Append(" PackageUpdateMechanism: ").Append(PackageUpdateMechanism).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/InlineResponse2001.cs b/Models/InlineResponse2001.cs new file mode 100644 index 0000000..bb07573 --- /dev/null +++ b/Models/InlineResponse2001.cs @@ -0,0 +1,116 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class InlineResponse2001 { + /// + /// Gets or Sets Version + /// + [DataMember(Name="version", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "version")] + public string Version { get; set; } + + /// + /// Gets or Sets Branch + /// + [DataMember(Name="branch", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "branch")] + public string Branch { get; set; } + + /// + /// Gets or Sets ReleaseDate + /// + [DataMember(Name="releaseDate", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "releaseDate")] + public string ReleaseDate { get; set; } + + /// + /// Gets or Sets FileName + /// + [DataMember(Name="fileName", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "fileName")] + public string FileName { get; set; } + + /// + /// Gets or Sets Url + /// + [DataMember(Name="url", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "url")] + public string Url { get; set; } + + /// + /// Gets or Sets Installed + /// + [DataMember(Name="installed", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "installed")] + public bool? Installed { get; set; } + + /// + /// Gets or Sets Installable + /// + [DataMember(Name="installable", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "installable")] + public bool? Installable { get; set; } + + /// + /// Gets or Sets Latest + /// + [DataMember(Name="latest", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "latest")] + public bool? Latest { get; set; } + + /// + /// Gets or Sets Changes + /// + [DataMember(Name="changes", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "changes")] + public InlineResponse2001Changes Changes { get; set; } + + /// + /// Gets or Sets Hash + /// + [DataMember(Name="hash", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "hash")] + public string Hash { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class InlineResponse2001 {\n"); + sb.Append(" Version: ").Append(Version).Append("\n"); + sb.Append(" Branch: ").Append(Branch).Append("\n"); + sb.Append(" ReleaseDate: ").Append(ReleaseDate).Append("\n"); + sb.Append(" FileName: ").Append(FileName).Append("\n"); + sb.Append(" Url: ").Append(Url).Append("\n"); + sb.Append(" Installed: ").Append(Installed).Append("\n"); + sb.Append(" Installable: ").Append(Installable).Append("\n"); + sb.Append(" Latest: ").Append(Latest).Append("\n"); + sb.Append(" Changes: ").Append(Changes).Append("\n"); + sb.Append(" Hash: ").Append(Hash).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/InlineResponse20010.cs b/Models/InlineResponse20010.cs new file mode 100644 index 0000000..4f2f500 --- /dev/null +++ b/Models/InlineResponse20010.cs @@ -0,0 +1,92 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class InlineResponse20010 { + /// + /// Gets or Sets TotalCount + /// + [DataMember(Name="totalCount", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "totalCount")] + public int? TotalCount { get; set; } + + /// + /// Gets or Sets Count + /// + [DataMember(Name="count", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "count")] + public int? Count { get; set; } + + /// + /// Gets or Sets UnknownCount + /// + [DataMember(Name="unknownCount", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "unknownCount")] + public int? UnknownCount { get; set; } + + /// + /// Gets or Sets Errors + /// + [DataMember(Name="errors", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "errors")] + public bool? Errors { get; set; } + + /// + /// Gets or Sets Warnings + /// + [DataMember(Name="warnings", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "warnings")] + public bool? Warnings { get; set; } + + /// + /// Gets or Sets UnknownErrors + /// + [DataMember(Name="unknownErrors", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "unknownErrors")] + public bool? UnknownErrors { get; set; } + + /// + /// Gets or Sets UnknownWarnings + /// + [DataMember(Name="unknownWarnings", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "unknownWarnings")] + public bool? UnknownWarnings { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class InlineResponse20010 {\n"); + sb.Append(" TotalCount: ").Append(TotalCount).Append("\n"); + sb.Append(" Count: ").Append(Count).Append("\n"); + sb.Append(" UnknownCount: ").Append(UnknownCount).Append("\n"); + sb.Append(" Errors: ").Append(Errors).Append("\n"); + sb.Append(" Warnings: ").Append(Warnings).Append("\n"); + sb.Append(" UnknownErrors: ").Append(UnknownErrors).Append("\n"); + sb.Append(" UnknownWarnings: ").Append(UnknownWarnings).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/InlineResponse2001Changes.cs b/Models/InlineResponse2001Changes.cs new file mode 100644 index 0000000..9d8c3ac --- /dev/null +++ b/Models/InlineResponse2001Changes.cs @@ -0,0 +1,52 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class InlineResponse2001Changes { + /// + /// Gets or Sets _New + /// + [DataMember(Name="new", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "new")] + public List _New { get; set; } + + /// + /// Gets or Sets _Fixed + /// + [DataMember(Name="fixed", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "fixed")] + public List _Fixed { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class InlineResponse2001Changes {\n"); + sb.Append(" _New: ").Append(_New).Append("\n"); + sb.Append(" _Fixed: ").Append(_Fixed).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/InlineResponse2002.cs b/Models/InlineResponse2002.cs new file mode 100644 index 0000000..5933c2d --- /dev/null +++ b/Models/InlineResponse2002.cs @@ -0,0 +1,76 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class InlineResponse2002 { + /// + /// Gets or Sets Page + /// + [DataMember(Name="page", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "page")] + public int? Page { get; set; } + + /// + /// Gets or Sets PageSize + /// + [DataMember(Name="pageSize", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "pageSize")] + public int? PageSize { get; set; } + + /// + /// Gets or Sets SortDirection + /// + [DataMember(Name="sortDirection", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "sortDirection")] + public string SortDirection { get; set; } + + /// + /// Gets or Sets TotalRecords + /// + [DataMember(Name="totalRecords", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "totalRecords")] + public int? TotalRecords { get; set; } + + /// + /// Gets or Sets Records + /// + [DataMember(Name="records", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "records")] + public List Records { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class InlineResponse2002 {\n"); + sb.Append(" Page: ").Append(Page).Append("\n"); + sb.Append(" PageSize: ").Append(PageSize).Append("\n"); + sb.Append(" SortDirection: ").Append(SortDirection).Append("\n"); + sb.Append(" TotalRecords: ").Append(TotalRecords).Append("\n"); + sb.Append(" Records: ").Append(Records).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/InlineResponse2003.cs b/Models/InlineResponse2003.cs new file mode 100644 index 0000000..0f95350 --- /dev/null +++ b/Models/InlineResponse2003.cs @@ -0,0 +1,68 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class InlineResponse2003 { + /// + /// Gets or Sets Type + /// + [DataMember(Name="type", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "type")] + public string Type { get; set; } + + /// + /// Gets or Sets Label + /// + [DataMember(Name="label", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "label")] + public string Label { get; set; } + + /// + /// Gets or Sets Filters + /// + [DataMember(Name="filters", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "filters")] + public List Filters { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public int? Id { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class InlineResponse2003 {\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" Label: ").Append(Label).Append("\n"); + sb.Append(" Filters: ").Append(Filters).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/InlineResponse2004.cs b/Models/InlineResponse2004.cs new file mode 100644 index 0000000..84dca47 --- /dev/null +++ b/Models/InlineResponse2004.cs @@ -0,0 +1,116 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class InlineResponse2004 { + /// + /// Gets or Sets FirstDayOfWeek + /// + [DataMember(Name="firstDayOfWeek", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "firstDayOfWeek")] + public int? FirstDayOfWeek { get; set; } + + /// + /// Gets or Sets CalendarWeekColumnHeader + /// + [DataMember(Name="calendarWeekColumnHeader", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "calendarWeekColumnHeader")] + public string CalendarWeekColumnHeader { get; set; } + + /// + /// Gets or Sets MovieRuntimeFormat + /// + [DataMember(Name="movieRuntimeFormat", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "movieRuntimeFormat")] + public string MovieRuntimeFormat { get; set; } + + /// + /// Gets or Sets ShortDateFormat + /// + [DataMember(Name="shortDateFormat", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "shortDateFormat")] + public string ShortDateFormat { get; set; } + + /// + /// Gets or Sets LongDateFormat + /// + [DataMember(Name="longDateFormat", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "longDateFormat")] + public string LongDateFormat { get; set; } + + /// + /// Gets or Sets TimeFormat + /// + [DataMember(Name="timeFormat", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "timeFormat")] + public string TimeFormat { get; set; } + + /// + /// Gets or Sets ShowRelativeDates + /// + [DataMember(Name="showRelativeDates", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "showRelativeDates")] + public bool? ShowRelativeDates { get; set; } + + /// + /// Gets or Sets EnableColorImpairedMode + /// + [DataMember(Name="enableColorImpairedMode", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "enableColorImpairedMode")] + public bool? EnableColorImpairedMode { get; set; } + + /// + /// Gets or Sets MovieInfoLanguage + /// + [DataMember(Name="movieInfoLanguage", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "movieInfoLanguage")] + public int? MovieInfoLanguage { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public int? Id { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class InlineResponse2004 {\n"); + sb.Append(" FirstDayOfWeek: ").Append(FirstDayOfWeek).Append("\n"); + sb.Append(" CalendarWeekColumnHeader: ").Append(CalendarWeekColumnHeader).Append("\n"); + sb.Append(" MovieRuntimeFormat: ").Append(MovieRuntimeFormat).Append("\n"); + sb.Append(" ShortDateFormat: ").Append(ShortDateFormat).Append("\n"); + sb.Append(" LongDateFormat: ").Append(LongDateFormat).Append("\n"); + sb.Append(" TimeFormat: ").Append(TimeFormat).Append("\n"); + sb.Append(" ShowRelativeDates: ").Append(ShowRelativeDates).Append("\n"); + sb.Append(" EnableColorImpairedMode: ").Append(EnableColorImpairedMode).Append("\n"); + sb.Append(" MovieInfoLanguage: ").Append(MovieInfoLanguage).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/InlineResponse2005.cs b/Models/InlineResponse2005.cs new file mode 100644 index 0000000..7d17de0 --- /dev/null +++ b/Models/InlineResponse2005.cs @@ -0,0 +1,68 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class InlineResponse2005 { + /// + /// Gets or Sets Host + /// + [DataMember(Name="host", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "host")] + public string Host { get; set; } + + /// + /// Gets or Sets RemotePath + /// + [DataMember(Name="remotePath", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "remotePath")] + public string RemotePath { get; set; } + + /// + /// Gets or Sets LocalPath + /// + [DataMember(Name="localPath", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "localPath")] + public string LocalPath { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public int? Id { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class InlineResponse2005 {\n"); + sb.Append(" Host: ").Append(Host).Append("\n"); + sb.Append(" RemotePath: ").Append(RemotePath).Append("\n"); + sb.Append(" LocalPath: ").Append(LocalPath).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/InlineResponse2006.cs b/Models/InlineResponse2006.cs new file mode 100644 index 0000000..efcd5fd --- /dev/null +++ b/Models/InlineResponse2006.cs @@ -0,0 +1,88 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class InlineResponse2006 { + /// + /// 1 + /// + /// 1 + [DataMember(Name="page", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "page")] + public int? Page { get; set; } + + /// + /// 20 + /// + /// 20 + [DataMember(Name="pageSize", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "pageSize")] + public int? PageSize { get; set; } + + /// + /// descending + /// + /// descending + [DataMember(Name="sortDirection", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "sortDirection")] + public string SortDirection { get; set; } + + /// + /// date + /// + /// date + [DataMember(Name="sortKey", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "sortKey")] + public string SortKey { get; set; } + + /// + /// Gets or Sets TotalRecords + /// + [DataMember(Name="totalRecords", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "totalRecords")] + public int? TotalRecords { get; set; } + + /// + /// Gets or Sets Records + /// + [DataMember(Name="records", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "records")] + public List Records { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class InlineResponse2006 {\n"); + sb.Append(" Page: ").Append(Page).Append("\n"); + sb.Append(" PageSize: ").Append(PageSize).Append("\n"); + sb.Append(" SortDirection: ").Append(SortDirection).Append("\n"); + sb.Append(" SortKey: ").Append(SortKey).Append("\n"); + sb.Append(" TotalRecords: ").Append(TotalRecords).Append("\n"); + sb.Append(" Records: ").Append(Records).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/InlineResponse2007.cs b/Models/InlineResponse2007.cs new file mode 100644 index 0000000..caea2be --- /dev/null +++ b/Models/InlineResponse2007.cs @@ -0,0 +1,292 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class InlineResponse2007 { + /// + /// Gets or Sets BindAddress + /// + [DataMember(Name="bindAddress", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "bindAddress")] + public string BindAddress { get; set; } + + /// + /// Gets or Sets Port + /// + [DataMember(Name="port", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "port")] + public int? Port { get; set; } + + /// + /// Gets or Sets SslPort + /// + [DataMember(Name="sslPort", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "sslPort")] + public int? SslPort { get; set; } + + /// + /// Gets or Sets EnableSsl + /// + [DataMember(Name="enableSsl", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "enableSsl")] + public bool? EnableSsl { get; set; } + + /// + /// Gets or Sets LaunchBrowser + /// + [DataMember(Name="launchBrowser", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "launchBrowser")] + public bool? LaunchBrowser { get; set; } + + /// + /// Gets or Sets AuthenticationMethod + /// + [DataMember(Name="authenticationMethod", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "authenticationMethod")] + public string AuthenticationMethod { get; set; } + + /// + /// Gets or Sets AnalyticsEnabled + /// + [DataMember(Name="analyticsEnabled", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "analyticsEnabled")] + public bool? AnalyticsEnabled { get; set; } + + /// + /// Gets or Sets Username + /// + [DataMember(Name="username", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "username")] + public string Username { get; set; } + + /// + /// Gets or Sets Password + /// + [DataMember(Name="password", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "password")] + public string Password { get; set; } + + /// + /// Gets or Sets LogLevel + /// + [DataMember(Name="logLevel", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "logLevel")] + public string LogLevel { get; set; } + + /// + /// Gets or Sets ConsoleLogLevel + /// + [DataMember(Name="consoleLogLevel", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "consoleLogLevel")] + public string ConsoleLogLevel { get; set; } + + /// + /// Gets or Sets Branch + /// + [DataMember(Name="branch", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "branch")] + public string Branch { get; set; } + + /// + /// Gets or Sets ApiKey + /// + [DataMember(Name="apiKey", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "apiKey")] + public string ApiKey { get; set; } + + /// + /// Gets or Sets SslCertPath + /// + [DataMember(Name="sslCertPath", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "sslCertPath")] + public string SslCertPath { get; set; } + + /// + /// Gets or Sets SslCertPassword + /// + [DataMember(Name="sslCertPassword", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "sslCertPassword")] + public string SslCertPassword { get; set; } + + /// + /// Gets or Sets UrlBase + /// + [DataMember(Name="urlBase", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "urlBase")] + public string UrlBase { get; set; } + + /// + /// Gets or Sets UpdateAutomatically + /// + [DataMember(Name="updateAutomatically", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "updateAutomatically")] + public bool? UpdateAutomatically { get; set; } + + /// + /// Gets or Sets UpdateMechanism + /// + [DataMember(Name="updateMechanism", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "updateMechanism")] + public string UpdateMechanism { get; set; } + + /// + /// Gets or Sets UpdateScriptPath + /// + [DataMember(Name="updateScriptPath", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "updateScriptPath")] + public string UpdateScriptPath { get; set; } + + /// + /// Gets or Sets ProxyEnabled + /// + [DataMember(Name="proxyEnabled", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "proxyEnabled")] + public bool? ProxyEnabled { get; set; } + + /// + /// Gets or Sets ProxyType + /// + [DataMember(Name="proxyType", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "proxyType")] + public string ProxyType { get; set; } + + /// + /// Gets or Sets ProxyHostname + /// + [DataMember(Name="proxyHostname", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "proxyHostname")] + public string ProxyHostname { get; set; } + + /// + /// Gets or Sets ProxyPort + /// + [DataMember(Name="proxyPort", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "proxyPort")] + public int? ProxyPort { get; set; } + + /// + /// Gets or Sets ProxyUsername + /// + [DataMember(Name="proxyUsername", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "proxyUsername")] + public string ProxyUsername { get; set; } + + /// + /// Gets or Sets ProxyPassword + /// + [DataMember(Name="proxyPassword", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "proxyPassword")] + public string ProxyPassword { get; set; } + + /// + /// Gets or Sets ProxyBypassFilter + /// + [DataMember(Name="proxyBypassFilter", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "proxyBypassFilter")] + public string ProxyBypassFilter { get; set; } + + /// + /// Gets or Sets ProxyBypassLocalAddresses + /// + [DataMember(Name="proxyBypassLocalAddresses", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "proxyBypassLocalAddresses")] + public bool? ProxyBypassLocalAddresses { get; set; } + + /// + /// Gets or Sets CertificateValidation + /// + [DataMember(Name="certificateValidation", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "certificateValidation")] + public string CertificateValidation { get; set; } + + /// + /// Gets or Sets BackupFolder + /// + [DataMember(Name="backupFolder", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "backupFolder")] + public string BackupFolder { get; set; } + + /// + /// Gets or Sets BackupInterval + /// + [DataMember(Name="backupInterval", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "backupInterval")] + public int? BackupInterval { get; set; } + + /// + /// Gets or Sets BackupRetention + /// + [DataMember(Name="backupRetention", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "backupRetention")] + public int? BackupRetention { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public int? Id { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class InlineResponse2007 {\n"); + sb.Append(" BindAddress: ").Append(BindAddress).Append("\n"); + sb.Append(" Port: ").Append(Port).Append("\n"); + sb.Append(" SslPort: ").Append(SslPort).Append("\n"); + sb.Append(" EnableSsl: ").Append(EnableSsl).Append("\n"); + sb.Append(" LaunchBrowser: ").Append(LaunchBrowser).Append("\n"); + sb.Append(" AuthenticationMethod: ").Append(AuthenticationMethod).Append("\n"); + sb.Append(" AnalyticsEnabled: ").Append(AnalyticsEnabled).Append("\n"); + sb.Append(" Username: ").Append(Username).Append("\n"); + sb.Append(" Password: ").Append(Password).Append("\n"); + sb.Append(" LogLevel: ").Append(LogLevel).Append("\n"); + sb.Append(" ConsoleLogLevel: ").Append(ConsoleLogLevel).Append("\n"); + sb.Append(" Branch: ").Append(Branch).Append("\n"); + sb.Append(" ApiKey: ").Append(ApiKey).Append("\n"); + sb.Append(" SslCertPath: ").Append(SslCertPath).Append("\n"); + sb.Append(" SslCertPassword: ").Append(SslCertPassword).Append("\n"); + sb.Append(" UrlBase: ").Append(UrlBase).Append("\n"); + sb.Append(" UpdateAutomatically: ").Append(UpdateAutomatically).Append("\n"); + sb.Append(" UpdateMechanism: ").Append(UpdateMechanism).Append("\n"); + sb.Append(" UpdateScriptPath: ").Append(UpdateScriptPath).Append("\n"); + sb.Append(" ProxyEnabled: ").Append(ProxyEnabled).Append("\n"); + sb.Append(" ProxyType: ").Append(ProxyType).Append("\n"); + sb.Append(" ProxyHostname: ").Append(ProxyHostname).Append("\n"); + sb.Append(" ProxyPort: ").Append(ProxyPort).Append("\n"); + sb.Append(" ProxyUsername: ").Append(ProxyUsername).Append("\n"); + sb.Append(" ProxyPassword: ").Append(ProxyPassword).Append("\n"); + sb.Append(" ProxyBypassFilter: ").Append(ProxyBypassFilter).Append("\n"); + sb.Append(" ProxyBypassLocalAddresses: ").Append(ProxyBypassLocalAddresses).Append("\n"); + sb.Append(" CertificateValidation: ").Append(CertificateValidation).Append("\n"); + sb.Append(" BackupFolder: ").Append(BackupFolder).Append("\n"); + sb.Append(" BackupInterval: ").Append(BackupInterval).Append("\n"); + sb.Append(" BackupRetention: ").Append(BackupRetention).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/InlineResponse2008.cs b/Models/InlineResponse2008.cs new file mode 100644 index 0000000..39b0a1b --- /dev/null +++ b/Models/InlineResponse2008.cs @@ -0,0 +1,100 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class InlineResponse2008 { + /// + /// Gets or Sets RenameMovies + /// + [DataMember(Name="renameMovies", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "renameMovies")] + public bool? RenameMovies { get; set; } + + /// + /// Gets or Sets ReplaceIllegalCharacters + /// + [DataMember(Name="replaceIllegalCharacters", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "replaceIllegalCharacters")] + public bool? ReplaceIllegalCharacters { get; set; } + + /// + /// Gets or Sets ColonReplacementFormat + /// + [DataMember(Name="colonReplacementFormat", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "colonReplacementFormat")] + public string ColonReplacementFormat { get; set; } + + /// + /// Gets or Sets StandardMovieFormat + /// + [DataMember(Name="standardMovieFormat", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "standardMovieFormat")] + public string StandardMovieFormat { get; set; } + + /// + /// Gets or Sets MovieFolderFormat + /// + [DataMember(Name="movieFolderFormat", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "movieFolderFormat")] + public string MovieFolderFormat { get; set; } + + /// + /// Gets or Sets IncludeQuality + /// + [DataMember(Name="includeQuality", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "includeQuality")] + public bool? IncludeQuality { get; set; } + + /// + /// Gets or Sets ReplaceSpaces + /// + [DataMember(Name="replaceSpaces", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "replaceSpaces")] + public bool? ReplaceSpaces { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public decimal? Id { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class InlineResponse2008 {\n"); + sb.Append(" RenameMovies: ").Append(RenameMovies).Append("\n"); + sb.Append(" ReplaceIllegalCharacters: ").Append(ReplaceIllegalCharacters).Append("\n"); + sb.Append(" ColonReplacementFormat: ").Append(ColonReplacementFormat).Append("\n"); + sb.Append(" StandardMovieFormat: ").Append(StandardMovieFormat).Append("\n"); + sb.Append(" MovieFolderFormat: ").Append(MovieFolderFormat).Append("\n"); + sb.Append(" IncludeQuality: ").Append(IncludeQuality).Append("\n"); + sb.Append(" ReplaceSpaces: ").Append(ReplaceSpaces).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/InlineResponse2009.cs b/Models/InlineResponse2009.cs new file mode 100644 index 0000000..fd75e07 --- /dev/null +++ b/Models/InlineResponse2009.cs @@ -0,0 +1,188 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class InlineResponse2009 { + /// + /// Gets or Sets Languages + /// + [DataMember(Name="languages", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "languages")] + public List Languages { get; set; } + + /// + /// Gets or Sets Quality + /// + [DataMember(Name="quality", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "quality")] + public Quality Quality { get; set; } + + /// + /// Gets or Sets CustomFormats + /// + [DataMember(Name="customFormats", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "customFormats")] + public List CustomFormats { get; set; } + + /// + /// Gets or Sets Size + /// + [DataMember(Name="size", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "size")] + public decimal? Size { get; set; } + + /// + /// Gets or Sets Title + /// + [DataMember(Name="title", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "title")] + public string Title { get; set; } + + /// + /// Gets or Sets Sizeleft + /// + [DataMember(Name="sizeleft", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "sizeleft")] + public decimal? Sizeleft { get; set; } + + /// + /// Gets or Sets Timeleft + /// + [DataMember(Name="timeleft", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "timeleft")] + public string Timeleft { get; set; } + + /// + /// Gets or Sets EstimatedCompletionTime + /// + [DataMember(Name="estimatedCompletionTime", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "estimatedCompletionTime")] + public string EstimatedCompletionTime { get; set; } + + /// + /// Gets or Sets Status + /// + [DataMember(Name="status", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "status")] + public string Status { get; set; } + + /// + /// Gets or Sets TrackedDownloadStatus + /// + [DataMember(Name="trackedDownloadStatus", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "trackedDownloadStatus")] + public string TrackedDownloadStatus { get; set; } + + /// + /// Gets or Sets TrackedDownloadState + /// + [DataMember(Name="trackedDownloadState", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "trackedDownloadState")] + public string TrackedDownloadState { get; set; } + + /// + /// Gets or Sets StatusMessages + /// + [DataMember(Name="statusMessages", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "statusMessages")] + public List StatusMessages { get; set; } + + /// + /// Gets or Sets ErrorMessage + /// + [DataMember(Name="errorMessage", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "errorMessage")] + public string ErrorMessage { get; set; } + + /// + /// Gets or Sets DownloadId + /// + [DataMember(Name="downloadId", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "downloadId")] + public string DownloadId { get; set; } + + /// + /// Gets or Sets Protocol + /// + [DataMember(Name="protocol", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "protocol")] + public string Protocol { get; set; } + + /// + /// Gets or Sets DownloadClient + /// + [DataMember(Name="downloadClient", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "downloadClient")] + public string DownloadClient { get; set; } + + /// + /// Gets or Sets Indexer + /// + [DataMember(Name="indexer", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "indexer")] + public string Indexer { get; set; } + + /// + /// Gets or Sets OutputPath + /// + [DataMember(Name="outputPath", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "outputPath")] + public string OutputPath { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public int? Id { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class InlineResponse2009 {\n"); + sb.Append(" Languages: ").Append(Languages).Append("\n"); + sb.Append(" Quality: ").Append(Quality).Append("\n"); + sb.Append(" CustomFormats: ").Append(CustomFormats).Append("\n"); + sb.Append(" Size: ").Append(Size).Append("\n"); + sb.Append(" Title: ").Append(Title).Append("\n"); + sb.Append(" Sizeleft: ").Append(Sizeleft).Append("\n"); + sb.Append(" Timeleft: ").Append(Timeleft).Append("\n"); + sb.Append(" EstimatedCompletionTime: ").Append(EstimatedCompletionTime).Append("\n"); + sb.Append(" Status: ").Append(Status).Append("\n"); + sb.Append(" TrackedDownloadStatus: ").Append(TrackedDownloadStatus).Append("\n"); + sb.Append(" TrackedDownloadState: ").Append(TrackedDownloadState).Append("\n"); + sb.Append(" StatusMessages: ").Append(StatusMessages).Append("\n"); + sb.Append(" ErrorMessage: ").Append(ErrorMessage).Append("\n"); + sb.Append(" DownloadId: ").Append(DownloadId).Append("\n"); + sb.Append(" Protocol: ").Append(Protocol).Append("\n"); + sb.Append(" DownloadClient: ").Append(DownloadClient).Append("\n"); + sb.Append(" Indexer: ").Append(Indexer).Append("\n"); + sb.Append(" OutputPath: ").Append(OutputPath).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/InlineResponse201.cs b/Models/InlineResponse201.cs new file mode 100644 index 0000000..40947cc --- /dev/null +++ b/Models/InlineResponse201.cs @@ -0,0 +1,44 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class InlineResponse201 { + /// + /// Gets or Sets Name + /// + [DataMember(Name="name", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class InlineResponse201 {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/InlineResponse401.cs b/Models/InlineResponse401.cs new file mode 100644 index 0000000..50561d0 --- /dev/null +++ b/Models/InlineResponse401.cs @@ -0,0 +1,44 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class InlineResponse401 { + /// + /// Gets or Sets Error + /// + [DataMember(Name="error", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "error")] + public string Error { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class InlineResponse401 {\n"); + sb.Append(" Error: ").Append(Error).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/Metadata.cs b/Models/Metadata.cs new file mode 100644 index 0000000..02d0506 --- /dev/null +++ b/Models/Metadata.cs @@ -0,0 +1,108 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class Metadata { + /// + /// Gets or Sets Enable + /// + [DataMember(Name="enable", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "enable")] + public bool? Enable { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name="name", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or Sets Fields + /// + [DataMember(Name="fields", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "fields")] + public List Fields { get; set; } + + /// + /// Gets or Sets ImplementationName + /// + [DataMember(Name="implementationName", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "implementationName")] + public string ImplementationName { get; set; } + + /// + /// Gets or Sets Implementation + /// + [DataMember(Name="implementation", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "implementation")] + public string Implementation { get; set; } + + /// + /// Gets or Sets ConfigContract + /// + [DataMember(Name="configContract", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "configContract")] + public string ConfigContract { get; set; } + + /// + /// Gets or Sets InfoLink + /// + [DataMember(Name="infoLink", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "infoLink")] + public string InfoLink { get; set; } + + /// + /// Gets or Sets Tags + /// + [DataMember(Name="tags", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "tags")] + public List Tags { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public int? Id { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class Metadata {\n"); + sb.Append(" Enable: ").Append(Enable).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Fields: ").Append(Fields).Append("\n"); + sb.Append(" ImplementationName: ").Append(ImplementationName).Append("\n"); + sb.Append(" Implementation: ").Append(Implementation).Append("\n"); + sb.Append(" ConfigContract: ").Append(ConfigContract).Append("\n"); + sb.Append(" InfoLink: ").Append(InfoLink).Append("\n"); + sb.Append(" Tags: ").Append(Tags).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/Movie.cs b/Models/Movie.cs new file mode 100644 index 0000000..6daa2f7 --- /dev/null +++ b/Models/Movie.cs @@ -0,0 +1,302 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models +{ + + /// + /// + /// + [DataContract] + public class Movie + { + /// + /// Gets or Sets Id + /// + [DataMember(Name = "id", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "id")] + public int Id { get; set; } + + /// + /// Gets or Sets Title + /// + [DataMember(Name = "title", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "title")] + public string Title { get; set; } + + /// + /// Gets or Sets SortTitle + /// + [DataMember(Name = "sortTitle", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "sortTitle")] + public string SortTitle { get; set; } + + /// + /// Gets or Sets SizeOnDisk + /// + [DataMember(Name = "sizeOnDisk", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "sizeOnDisk")] + public long SizeOnDisk { get; set; } + + /// + /// Gets or Sets Overview + /// + [DataMember(Name = "overview", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "overview")] + public string Overview { get; set; } + + /// + /// Gets or Sets InCinemas + /// + [DataMember(Name = "inCinemas", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "inCinemas")] + public string InCinemas { get; set; } + + /// + /// Gets or Sets PhysicalRelease + /// + [DataMember(Name = "physicalRelease", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "physicalRelease")] + public string PhysicalRelease { get; set; } + + /// + /// Gets or Sets Images + /// + [DataMember(Name = "images", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "images")] + public List Images { get; set; } + + /// + /// Gets or Sets Website + /// + [DataMember(Name = "website", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "website")] + public string Website { get; set; } + + /// + /// Gets or Sets Year + /// + [DataMember(Name = "year", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "year")] + public int? Year { get; set; } + + /// + /// Gets or Sets HasFile + /// + [DataMember(Name = "hasFile", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "hasFile")] + public bool? HasFile { get; set; } + + /// + /// Gets or Sets YouTubeTrailerId + /// + [DataMember(Name = "youTubeTrailerId", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "youTubeTrailerId")] + public string YouTubeTrailerId { get; set; } + + /// + /// Gets or Sets Studio + /// + [DataMember(Name = "studio", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "studio")] + public string Studio { get; set; } + + /// + /// Gets or Sets Path + /// + [DataMember(Name = "path", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "path")] + public string Path { get; set; } + + /// + /// Gets or Sets RootFolderPath + /// + [DataMember(Name = "rootFolderPath", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "rootFolderPath")] + public string RootFolderPath { get; set; } + + /// + /// Gets or Sets QualityProfileId + /// + [DataMember(Name = "qualityProfileId", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "qualityProfileId")] + public int? QualityProfileId { get; set; } + + /// + /// Gets or Sets Monitored + /// + [DataMember(Name = "monitored", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "monitored")] + public bool? Monitored { get; set; } + + /// + /// Gets or Sets MinimumAvailability + /// + [DataMember(Name = "minimumAvailability", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "minimumAvailability")] + public string MinimumAvailability { get; set; } + + /// + /// Gets or Sets IsAvailable + /// + [DataMember(Name = "isAvailable", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "isAvailable")] + public bool? IsAvailable { get; set; } + + /// + /// Gets or Sets FolderName + /// + [DataMember(Name = "folderName", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "folderName")] + public string FolderName { get; set; } + + /// + /// Gets or Sets Runtime + /// + [DataMember(Name = "runtime", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "runtime")] + public int? Runtime { get; set; } + + /// + /// Gets or Sets CleanTitle + /// + [DataMember(Name = "cleanTitle", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "cleanTitle")] + public string CleanTitle { get; set; } + + /// + /// Gets or Sets ImdbId + /// + [DataMember(Name = "imdbId", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "imdbId")] + public string ImdbId { get; set; } + + /// + /// Gets or Sets TmdbId + /// + [DataMember(Name = "tmdbId", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "tmdbId")] + public int? TmdbId { get; set; } + + /// + /// Gets or Sets TitleSlug + /// + [DataMember(Name = "titleSlug", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "titleSlug")] + public string TitleSlug { get; set; } + + /// + /// Gets or Sets Certification + /// + [DataMember(Name = "certification", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "certification")] + public string Certification { get; set; } + + /// + /// Gets or Sets Genres + /// + [DataMember(Name = "genres", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "genres")] + public List Genres { get; set; } + + /// + /// Gets or Sets Tags + /// + [DataMember(Name = "tags", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "tags")] + public List Tags { get; set; } + + /// + /// Gets or Sets Added + /// + [DataMember(Name = "added", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "added")] + public string Added { get; set; } + + /// + /// Gets or Sets Ratings + /// + [DataMember(Name = "ratings", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "ratings")] + public Rating Ratings { get; set; } + + /// + /// Gets or Sets Collection + /// + [DataMember(Name = "collection", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "collection")] + public Collection Collection { get; set; } + + /// + /// movie status + /// + /// movie status + [DataMember(Name = "status", EmitDefaultValue = false)] + [JsonProperty(PropertyName = "status")] + public string Status { get; set; } + + public void FixPathObject(string moviePath) + { + if (string.IsNullOrWhiteSpace(this.Path)) + this.Path = $"/{moviePath}/{Title} ({Year})"; + } + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class Movie {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" Title: ").Append(Title).Append("\n"); + sb.Append(" SortTitle: ").Append(SortTitle).Append("\n"); + sb.Append(" SizeOnDisk: ").Append(SizeOnDisk).Append("\n"); + sb.Append(" Overview: ").Append(Overview).Append("\n"); + sb.Append(" InCinemas: ").Append(InCinemas).Append("\n"); + sb.Append(" PhysicalRelease: ").Append(PhysicalRelease).Append("\n"); + sb.Append(" Images: ").Append(Images).Append("\n"); + sb.Append(" Website: ").Append(Website).Append("\n"); + sb.Append(" Year: ").Append(Year).Append("\n"); + sb.Append(" HasFile: ").Append(HasFile).Append("\n"); + sb.Append(" YouTubeTrailerId: ").Append(YouTubeTrailerId).Append("\n"); + sb.Append(" Studio: ").Append(Studio).Append("\n"); + sb.Append(" Path: ").Append(Path).Append("\n"); + sb.Append(" RootFolderPath: ").Append(RootFolderPath).Append("\n"); + sb.Append(" QualityProfileId: ").Append(QualityProfileId).Append("\n"); + sb.Append(" Monitored: ").Append(Monitored).Append("\n"); + sb.Append(" MinimumAvailability: ").Append(MinimumAvailability).Append("\n"); + sb.Append(" IsAvailable: ").Append(IsAvailable).Append("\n"); + sb.Append(" FolderName: ").Append(FolderName).Append("\n"); + sb.Append(" Runtime: ").Append(Runtime).Append("\n"); + sb.Append(" CleanTitle: ").Append(CleanTitle).Append("\n"); + sb.Append(" ImdbId: ").Append(ImdbId).Append("\n"); + sb.Append(" TmdbId: ").Append(TmdbId).Append("\n"); + sb.Append(" TitleSlug: ").Append(TitleSlug).Append("\n"); + sb.Append(" Certification: ").Append(Certification).Append("\n"); + sb.Append(" Genres: ").Append(Genres).Append("\n"); + sb.Append(" Tags: ").Append(Tags).Append("\n"); + sb.Append(" Added: ").Append(Added).Append("\n"); + sb.Append(" Ratings: ").Append(Ratings).Append("\n"); + sb.Append(" Collection: ").Append(Collection).Append("\n"); + sb.Append(" Status: ").Append(Status).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + } +} diff --git a/Models/MovieEditorBody.cs b/Models/MovieEditorBody.cs new file mode 100644 index 0000000..bced4d2 --- /dev/null +++ b/Models/MovieEditorBody.cs @@ -0,0 +1,100 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class MovieEditorBody { + /// + /// Gets or Sets MovieIds + /// + [DataMember(Name="movieIds", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "movieIds")] + public List MovieIds { get; set; } + + /// + /// Gets or Sets Monitored + /// + [DataMember(Name="monitored", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "monitored")] + public bool? Monitored { get; set; } + + /// + /// Gets or Sets QualityProfileId + /// + [DataMember(Name="qualityProfileId", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "qualityProfileId")] + public int? QualityProfileId { get; set; } + + /// + /// Gets or Sets MinimumAvailability + /// + [DataMember(Name="minimumAvailability", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "minimumAvailability")] + public string MinimumAvailability { get; set; } + + /// + /// Gets or Sets RootFolderPath + /// + [DataMember(Name="rootFolderPath", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "rootFolderPath")] + public string RootFolderPath { get; set; } + + /// + /// Gets or Sets Tags + /// + [DataMember(Name="tags", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "tags")] + public List Tags { get; set; } + + /// + /// Gets or Sets ApplyTags + /// + [DataMember(Name="applyTags", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "applyTags")] + public string ApplyTags { get; set; } + + /// + /// Gets or Sets MoveFiles + /// + [DataMember(Name="moveFiles", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "moveFiles")] + public bool? MoveFiles { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class MovieEditorBody {\n"); + sb.Append(" MovieIds: ").Append(MovieIds).Append("\n"); + sb.Append(" Monitored: ").Append(Monitored).Append("\n"); + sb.Append(" QualityProfileId: ").Append(QualityProfileId).Append("\n"); + sb.Append(" MinimumAvailability: ").Append(MinimumAvailability).Append("\n"); + sb.Append(" RootFolderPath: ").Append(RootFolderPath).Append("\n"); + sb.Append(" Tags: ").Append(Tags).Append("\n"); + sb.Append(" ApplyTags: ").Append(ApplyTags).Append("\n"); + sb.Append(" MoveFiles: ").Append(MoveFiles).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/MovieEditorBody1.cs b/Models/MovieEditorBody1.cs new file mode 100644 index 0000000..9254455 --- /dev/null +++ b/Models/MovieEditorBody1.cs @@ -0,0 +1,60 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class MovieEditorBody1 { + /// + /// Gets or Sets MovieIds + /// + [DataMember(Name="movieIds", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "movieIds")] + public List MovieIds { get; set; } + + /// + /// Gets or Sets DeleteFIles + /// + [DataMember(Name="deleteFIles", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "deleteFIles")] + public bool? DeleteFIles { get; set; } + + /// + /// Gets or Sets AddImportExclusion + /// + [DataMember(Name="addImportExclusion", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "addImportExclusion")] + public bool? AddImportExclusion { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class MovieEditorBody1 {\n"); + sb.Append(" MovieIds: ").Append(MovieIds).Append("\n"); + sb.Append(" DeleteFIles: ").Append(DeleteFIles).Append("\n"); + sb.Append(" AddImportExclusion: ").Append(AddImportExclusion).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/MovieFile.cs b/Models/MovieFile.cs new file mode 100644 index 0000000..1b2914c --- /dev/null +++ b/Models/MovieFile.cs @@ -0,0 +1,132 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class MovieFile { + /// + /// Gets or Sets MovieId + /// + [DataMember(Name="movieId", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "movieId")] + public int? MovieId { get; set; } + + /// + /// Gets or Sets RelativePath + /// + [DataMember(Name="relativePath", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "relativePath")] + public string RelativePath { get; set; } + + /// + /// Gets or Sets Path + /// + [DataMember(Name="path", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "path")] + public string Path { get; set; } + + /// + /// Gets or Sets Size + /// + [DataMember(Name="size", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "size")] + public decimal? Size { get; set; } + + /// + /// Gets or Sets DateAdded + /// + [DataMember(Name="dateAdded", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "dateAdded")] + public string DateAdded { get; set; } + + /// + /// Gets or Sets IndexerFlags + /// + [DataMember(Name="indexerFlags", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "indexerFlags")] + public int? IndexerFlags { get; set; } + + /// + /// Gets or Sets Quality + /// + [DataMember(Name="quality", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "quality")] + public Quality Quality { get; set; } + + /// + /// Gets or Sets MediaInfo + /// + [DataMember(Name="mediaInfo", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "mediaInfo")] + public MovieFileMediaInfo MediaInfo { get; set; } + + /// + /// Gets or Sets QualityCutoffNotMet + /// + [DataMember(Name="qualityCutoffNotMet", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "qualityCutoffNotMet")] + public bool? QualityCutoffNotMet { get; set; } + + /// + /// Gets or Sets Languages + /// + [DataMember(Name="languages", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "languages")] + public List Languages { get; set; } + + /// + /// Gets or Sets ReleaseGroup + /// + [DataMember(Name="releaseGroup", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "releaseGroup")] + public string ReleaseGroup { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public int? Id { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class MovieFile {\n"); + sb.Append(" MovieId: ").Append(MovieId).Append("\n"); + sb.Append(" RelativePath: ").Append(RelativePath).Append("\n"); + sb.Append(" Path: ").Append(Path).Append("\n"); + sb.Append(" Size: ").Append(Size).Append("\n"); + sb.Append(" DateAdded: ").Append(DateAdded).Append("\n"); + sb.Append(" IndexerFlags: ").Append(IndexerFlags).Append("\n"); + sb.Append(" Quality: ").Append(Quality).Append("\n"); + sb.Append(" MediaInfo: ").Append(MediaInfo).Append("\n"); + sb.Append(" QualityCutoffNotMet: ").Append(QualityCutoffNotMet).Append("\n"); + sb.Append(" Languages: ").Append(Languages).Append("\n"); + sb.Append(" ReleaseGroup: ").Append(ReleaseGroup).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/MovieFileMediaInfo.cs b/Models/MovieFileMediaInfo.cs new file mode 100644 index 0000000..33b74c0 --- /dev/null +++ b/Models/MovieFileMediaInfo.cs @@ -0,0 +1,148 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class MovieFileMediaInfo { + /// + /// Gets or Sets AudioAdditionalFeatures + /// + [DataMember(Name="audioAdditionalFeatures", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "audioAdditionalFeatures")] + public string AudioAdditionalFeatures { get; set; } + + /// + /// Gets or Sets AudioBitrate + /// + [DataMember(Name="audioBitrate", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "audioBitrate")] + public decimal? AudioBitrate { get; set; } + + /// + /// Gets or Sets AudioChannels + /// + [DataMember(Name="audioChannels", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "audioChannels")] + public decimal? AudioChannels { get; set; } + + /// + /// Gets or Sets AudioCodec + /// + [DataMember(Name="audioCodec", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "audioCodec")] + public string AudioCodec { get; set; } + + /// + /// Gets or Sets AudioLanguages + /// + [DataMember(Name="audioLanguages", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "audioLanguages")] + public string AudioLanguages { get; set; } + + /// + /// Gets or Sets AudioStreamCount + /// + [DataMember(Name="audioStreamCount", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "audioStreamCount")] + public decimal? AudioStreamCount { get; set; } + + /// + /// Gets or Sets VideoBitDepth + /// + [DataMember(Name="videoBitDepth", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "videoBitDepth")] + public decimal? VideoBitDepth { get; set; } + + /// + /// Gets or Sets VideoBitrate + /// + [DataMember(Name="videoBitrate", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "videoBitrate")] + public decimal? VideoBitrate { get; set; } + + /// + /// Gets or Sets VideoCodec + /// + [DataMember(Name="videoCodec", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "videoCodec")] + public string VideoCodec { get; set; } + + /// + /// Gets or Sets VideoFps + /// + [DataMember(Name="videoFps", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "videoFps")] + public decimal? VideoFps { get; set; } + + /// + /// Gets or Sets Resolution + /// + [DataMember(Name="resolution", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "resolution")] + public string Resolution { get; set; } + + /// + /// Gets or Sets RunTime + /// + [DataMember(Name="runTime", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "runTime")] + public string RunTime { get; set; } + + /// + /// Gets or Sets ScanType + /// + [DataMember(Name="scanType", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "scanType")] + public string ScanType { get; set; } + + /// + /// Gets or Sets Subtitles + /// + [DataMember(Name="subtitles", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "subtitles")] + public string Subtitles { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class MovieFileMediaInfo {\n"); + sb.Append(" AudioAdditionalFeatures: ").Append(AudioAdditionalFeatures).Append("\n"); + sb.Append(" AudioBitrate: ").Append(AudioBitrate).Append("\n"); + sb.Append(" AudioChannels: ").Append(AudioChannels).Append("\n"); + sb.Append(" AudioCodec: ").Append(AudioCodec).Append("\n"); + sb.Append(" AudioLanguages: ").Append(AudioLanguages).Append("\n"); + sb.Append(" AudioStreamCount: ").Append(AudioStreamCount).Append("\n"); + sb.Append(" VideoBitDepth: ").Append(VideoBitDepth).Append("\n"); + sb.Append(" VideoBitrate: ").Append(VideoBitrate).Append("\n"); + sb.Append(" VideoCodec: ").Append(VideoCodec).Append("\n"); + sb.Append(" VideoFps: ").Append(VideoFps).Append("\n"); + sb.Append(" Resolution: ").Append(Resolution).Append("\n"); + sb.Append(" RunTime: ").Append(RunTime).Append("\n"); + sb.Append(" ScanType: ").Append(ScanType).Append("\n"); + sb.Append(" Subtitles: ").Append(Subtitles).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/Notification.cs b/Models/Notification.cs new file mode 100644 index 0000000..26f36e4 --- /dev/null +++ b/Models/Notification.cs @@ -0,0 +1,212 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class Notification { + /// + /// Gets or Sets OnGrab + /// + [DataMember(Name="onGrab", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "onGrab")] + public bool? OnGrab { get; set; } + + /// + /// Gets or Sets OnDownload + /// + [DataMember(Name="onDownload", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "onDownload")] + public bool? OnDownload { get; set; } + + /// + /// Gets or Sets OnUpgrade + /// + [DataMember(Name="onUpgrade", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "onUpgrade")] + public bool? OnUpgrade { get; set; } + + /// + /// Gets or Sets OnRename + /// + [DataMember(Name="onRename", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "onRename")] + public bool? OnRename { get; set; } + + /// + /// Gets or Sets OnDelete + /// + [DataMember(Name="onDelete", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "onDelete")] + public bool? OnDelete { get; set; } + + /// + /// Gets or Sets OnHealthIssue + /// + [DataMember(Name="onHealthIssue", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "onHealthIssue")] + public bool? OnHealthIssue { get; set; } + + /// + /// Gets or Sets SupportsOnGrab + /// + [DataMember(Name="supportsOnGrab", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "supportsOnGrab")] + public bool? SupportsOnGrab { get; set; } + + /// + /// Gets or Sets SupportsOnDownload + /// + [DataMember(Name="supportsOnDownload", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "supportsOnDownload")] + public bool? SupportsOnDownload { get; set; } + + /// + /// Gets or Sets SupportsOnUpgrade + /// + [DataMember(Name="supportsOnUpgrade", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "supportsOnUpgrade")] + public bool? SupportsOnUpgrade { get; set; } + + /// + /// Gets or Sets SupportsOnRename + /// + [DataMember(Name="supportsOnRename", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "supportsOnRename")] + public bool? SupportsOnRename { get; set; } + + /// + /// Gets or Sets SupportsOnDelete + /// + [DataMember(Name="supportsOnDelete", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "supportsOnDelete")] + public bool? SupportsOnDelete { get; set; } + + /// + /// Gets or Sets SupportsOnHealthIssue + /// + [DataMember(Name="supportsOnHealthIssue", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "supportsOnHealthIssue")] + public bool? SupportsOnHealthIssue { get; set; } + + /// + /// Gets or Sets IncludeHealthWarnings + /// + [DataMember(Name="includeHealthWarnings", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "includeHealthWarnings")] + public bool? IncludeHealthWarnings { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name="name", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or Sets Fields + /// + [DataMember(Name="fields", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "fields")] + public List Fields { get; set; } + + /// + /// Gets or Sets ImplementationName + /// + [DataMember(Name="implementationName", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "implementationName")] + public string ImplementationName { get; set; } + + /// + /// Gets or Sets Implementation + /// + [DataMember(Name="implementation", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "implementation")] + public string Implementation { get; set; } + + /// + /// Gets or Sets ConfigContract + /// + [DataMember(Name="configContract", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "configContract")] + public string ConfigContract { get; set; } + + /// + /// Gets or Sets InfoLink + /// + [DataMember(Name="infoLink", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "infoLink")] + public string InfoLink { get; set; } + + /// + /// Gets or Sets Message + /// + [DataMember(Name="message", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "message")] + public NotificationMessage Message { get; set; } + + /// + /// Gets or Sets Tags + /// + [DataMember(Name="tags", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "tags")] + public List Tags { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public int? Id { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class Notification {\n"); + sb.Append(" OnGrab: ").Append(OnGrab).Append("\n"); + sb.Append(" OnDownload: ").Append(OnDownload).Append("\n"); + sb.Append(" OnUpgrade: ").Append(OnUpgrade).Append("\n"); + sb.Append(" OnRename: ").Append(OnRename).Append("\n"); + sb.Append(" OnDelete: ").Append(OnDelete).Append("\n"); + sb.Append(" OnHealthIssue: ").Append(OnHealthIssue).Append("\n"); + sb.Append(" SupportsOnGrab: ").Append(SupportsOnGrab).Append("\n"); + sb.Append(" SupportsOnDownload: ").Append(SupportsOnDownload).Append("\n"); + sb.Append(" SupportsOnUpgrade: ").Append(SupportsOnUpgrade).Append("\n"); + sb.Append(" SupportsOnRename: ").Append(SupportsOnRename).Append("\n"); + sb.Append(" SupportsOnDelete: ").Append(SupportsOnDelete).Append("\n"); + sb.Append(" SupportsOnHealthIssue: ").Append(SupportsOnHealthIssue).Append("\n"); + sb.Append(" IncludeHealthWarnings: ").Append(IncludeHealthWarnings).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Fields: ").Append(Fields).Append("\n"); + sb.Append(" ImplementationName: ").Append(ImplementationName).Append("\n"); + sb.Append(" Implementation: ").Append(Implementation).Append("\n"); + sb.Append(" ConfigContract: ").Append(ConfigContract).Append("\n"); + sb.Append(" InfoLink: ").Append(InfoLink).Append("\n"); + sb.Append(" Message: ").Append(Message).Append("\n"); + sb.Append(" Tags: ").Append(Tags).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/NotificationMessage.cs b/Models/NotificationMessage.cs new file mode 100644 index 0000000..26507a6 --- /dev/null +++ b/Models/NotificationMessage.cs @@ -0,0 +1,52 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class NotificationMessage { + /// + /// Gets or Sets Message + /// + [DataMember(Name="message", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "message")] + public string Message { get; set; } + + /// + /// Gets or Sets Type + /// + [DataMember(Name="type", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "type")] + public string Type { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class NotificationMessage {\n"); + sb.Append(" Message: ").Append(Message).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/ProviderField.cs b/Models/ProviderField.cs new file mode 100644 index 0000000..2a1e5e7 --- /dev/null +++ b/Models/ProviderField.cs @@ -0,0 +1,92 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class ProviderField { + /// + /// Gets or Sets Order + /// + [DataMember(Name="order", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "order")] + public int? Order { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name="name", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or Sets Label + /// + [DataMember(Name="label", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "label")] + public string Label { get; set; } + + /// + /// Gets or Sets HelpText + /// + [DataMember(Name="helpText", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "helpText")] + public string HelpText { get; set; } + + /// + /// Gets or Sets Value + /// + [DataMember(Name="value", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "value")] + public string Value { get; set; } + + /// + /// Gets or Sets Type + /// + [DataMember(Name="type", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "type")] + public string Type { get; set; } + + /// + /// Gets or Sets Advanced + /// + [DataMember(Name="advanced", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "advanced")] + public bool? Advanced { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class ProviderField {\n"); + sb.Append(" Order: ").Append(Order).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Label: ").Append(Label).Append("\n"); + sb.Append(" HelpText: ").Append(HelpText).Append("\n"); + sb.Append(" Value: ").Append(Value).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" Advanced: ").Append(Advanced).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/Quality.cs b/Models/Quality.cs new file mode 100644 index 0000000..3f935fc --- /dev/null +++ b/Models/Quality.cs @@ -0,0 +1,52 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class Quality { + /// + /// Gets or Sets _Quality + /// + [DataMember(Name="quality", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "quality")] + public QualityQuality _Quality { get; set; } + + /// + /// Gets or Sets Revision + /// + [DataMember(Name="revision", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "revision")] + public QualityRevision Revision { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class Quality {\n"); + sb.Append(" _Quality: ").Append(_Quality).Append("\n"); + sb.Append(" Revision: ").Append(Revision).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/QualityProfile.cs b/Models/QualityProfile.cs new file mode 100644 index 0000000..d3ff869 --- /dev/null +++ b/Models/QualityProfile.cs @@ -0,0 +1,108 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class QualityProfile { + /// + /// Gets or Sets Name + /// + [DataMember(Name="name", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or Sets UpgradeAllowed + /// + [DataMember(Name="upgradeAllowed", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "upgradeAllowed")] + public bool? UpgradeAllowed { get; set; } + + /// + /// Gets or Sets Cutoff + /// + [DataMember(Name="cutoff", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "cutoff")] + public int? Cutoff { get; set; } + + /// + /// Gets or Sets Items + /// + [DataMember(Name="items", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "items")] + public List Items { get; set; } + + /// + /// Gets or Sets MinFormatScore + /// + [DataMember(Name="minFormatScore", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "minFormatScore")] + public int? MinFormatScore { get; set; } + + /// + /// Gets or Sets CutoffFormatScore + /// + [DataMember(Name="cutoffFormatScore", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "cutoffFormatScore")] + public int? CutoffFormatScore { get; set; } + + /// + /// Gets or Sets FormatItems + /// + [DataMember(Name="formatItems", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "formatItems")] + public List FormatItems { get; set; } + + /// + /// Gets or Sets Language + /// + [DataMember(Name="language", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "language")] + public QueuedetailsLanguages Language { get; set; } + + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public int? Id { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class QualityProfile {\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" UpgradeAllowed: ").Append(UpgradeAllowed).Append("\n"); + sb.Append(" Cutoff: ").Append(Cutoff).Append("\n"); + sb.Append(" Items: ").Append(Items).Append("\n"); + sb.Append(" MinFormatScore: ").Append(MinFormatScore).Append("\n"); + sb.Append(" CutoffFormatScore: ").Append(CutoffFormatScore).Append("\n"); + sb.Append(" FormatItems: ").Append(FormatItems).Append("\n"); + sb.Append(" Language: ").Append(Language).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/QualityProfileFormatItems.cs b/Models/QualityProfileFormatItems.cs new file mode 100644 index 0000000..7dc1db9 --- /dev/null +++ b/Models/QualityProfileFormatItems.cs @@ -0,0 +1,60 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class QualityProfileFormatItems { + /// + /// Gets or Sets Format + /// + [DataMember(Name="format", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "format")] + public int? Format { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name="name", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or Sets Score + /// + [DataMember(Name="score", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "score")] + public int? Score { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class QualityProfileFormatItems {\n"); + sb.Append(" Format: ").Append(Format).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Score: ").Append(Score).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/QualityQuality.cs b/Models/QualityQuality.cs new file mode 100644 index 0000000..84550ac --- /dev/null +++ b/Models/QualityQuality.cs @@ -0,0 +1,76 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class QualityQuality { + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public int? Id { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name="name", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or Sets Source + /// + [DataMember(Name="source", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "source")] + public string Source { get; set; } + + /// + /// Gets or Sets Resolution + /// + [DataMember(Name="resolution", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "resolution")] + public int? Resolution { get; set; } + + /// + /// Gets or Sets Modifier + /// + [DataMember(Name="modifier", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "modifier")] + public string Modifier { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class QualityQuality {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" Source: ").Append(Source).Append("\n"); + sb.Append(" Resolution: ").Append(Resolution).Append("\n"); + sb.Append(" Modifier: ").Append(Modifier).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/QualityRevision.cs b/Models/QualityRevision.cs new file mode 100644 index 0000000..91cebf4 --- /dev/null +++ b/Models/QualityRevision.cs @@ -0,0 +1,60 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class QualityRevision { + /// + /// Gets or Sets Version + /// + [DataMember(Name="version", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "version")] + public int? Version { get; set; } + + /// + /// Gets or Sets Real + /// + [DataMember(Name="real", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "real")] + public int? Real { get; set; } + + /// + /// Gets or Sets IsRepack + /// + [DataMember(Name="isRepack", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "isRepack")] + public bool? IsRepack { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class QualityRevision {\n"); + sb.Append(" Version: ").Append(Version).Append("\n"); + sb.Append(" Real: ").Append(Real).Append("\n"); + sb.Append(" IsRepack: ").Append(IsRepack).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/QueueBulkBody.cs b/Models/QueueBulkBody.cs new file mode 100644 index 0000000..35f91cb --- /dev/null +++ b/Models/QueueBulkBody.cs @@ -0,0 +1,44 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class QueueBulkBody { + /// + /// Gets or Sets Ids + /// + [DataMember(Name="ids", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "ids")] + public List Ids { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class QueueBulkBody {\n"); + sb.Append(" Ids: ").Append(Ids).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/QueuedetailsLanguages.cs b/Models/QueuedetailsLanguages.cs new file mode 100644 index 0000000..3d8c6b2 --- /dev/null +++ b/Models/QueuedetailsLanguages.cs @@ -0,0 +1,52 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class QueuedetailsLanguages { + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public int? Id { get; set; } + + /// + /// Gets or Sets Name + /// + [DataMember(Name="name", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class QueuedetailsLanguages {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/QueuedetailsStatusMessages.cs b/Models/QueuedetailsStatusMessages.cs new file mode 100644 index 0000000..d5c700f --- /dev/null +++ b/Models/QueuedetailsStatusMessages.cs @@ -0,0 +1,52 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class QueuedetailsStatusMessages { + /// + /// Gets or Sets Title + /// + [DataMember(Name="title", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "title")] + public string Title { get; set; } + + /// + /// Gets or Sets Messages + /// + [DataMember(Name="messages", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "messages")] + public List Messages { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class QueuedetailsStatusMessages {\n"); + sb.Append(" Title: ").Append(Title).Append("\n"); + sb.Append(" Messages: ").Append(Messages).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/Rating.cs b/Models/Rating.cs new file mode 100644 index 0000000..0b2d546 --- /dev/null +++ b/Models/Rating.cs @@ -0,0 +1,52 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class Rating { + /// + /// Gets or Sets Votes + /// + [DataMember(Name="votes", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "votes")] + public int? Votes { get; set; } + + /// + /// Gets or Sets Value + /// + [DataMember(Name="value", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "value")] + public decimal? Value { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class Rating {\n"); + sb.Append(" Votes: ").Append(Votes).Append("\n"); + sb.Append(" Value: ").Append(Value).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/Tag.cs b/Models/Tag.cs new file mode 100644 index 0000000..b6eb19c --- /dev/null +++ b/Models/Tag.cs @@ -0,0 +1,52 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class Tag { + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public int? Id { get; set; } + + /// + /// Gets or Sets Label + /// + [DataMember(Name="label", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "label")] + public string Label { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class Tag {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" Label: ").Append(Label).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Models/TagDetail.cs b/Models/TagDetail.cs new file mode 100644 index 0000000..09bfacb --- /dev/null +++ b/Models/TagDetail.cs @@ -0,0 +1,92 @@ +using System; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace RadarrSharp.Models { + + /// + /// + /// + [DataContract] + public class TagDetail { + /// + /// Gets or Sets Id + /// + [DataMember(Name="id", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "id")] + public int? Id { get; set; } + + /// + /// Gets or Sets Label + /// + [DataMember(Name="label", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "label")] + public string Label { get; set; } + + /// + /// Gets or Sets DelayProfileIds + /// + [DataMember(Name="delayProfileIds", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "delayProfileIds")] + public List DelayProfileIds { get; set; } + + /// + /// Gets or Sets NotificationIds + /// + [DataMember(Name="notificationIds", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "notificationIds")] + public List NotificationIds { get; set; } + + /// + /// Gets or Sets RestrictionIds + /// + [DataMember(Name="restrictionIds", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "restrictionIds")] + public List RestrictionIds { get; set; } + + /// + /// Gets or Sets NetImportIds + /// + [DataMember(Name="netImportIds", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "netImportIds")] + public List NetImportIds { get; set; } + + /// + /// Gets or Sets MovieIds + /// + [DataMember(Name="movieIds", EmitDefaultValue=false)] + [JsonProperty(PropertyName = "movieIds")] + public List MovieIds { get; set; } + + + /// + /// Get the string presentation of the object + /// + /// String presentation of the object + public override string ToString() { + var sb = new StringBuilder(); + sb.Append("class TagDetail {\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" Label: ").Append(Label).Append("\n"); + sb.Append(" DelayProfileIds: ").Append(DelayProfileIds).Append("\n"); + sb.Append(" NotificationIds: ").Append(NotificationIds).Append("\n"); + sb.Append(" RestrictionIds: ").Append(RestrictionIds).Append("\n"); + sb.Append(" NetImportIds: ").Append(NetImportIds).Append("\n"); + sb.Append(" MovieIds: ").Append(MovieIds).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Get the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + +} +} diff --git a/Proxies/IRadarrProxy.cs b/Proxies/IRadarrProxy.cs new file mode 100644 index 0000000..a33afab --- /dev/null +++ b/Proxies/IRadarrProxy.cs @@ -0,0 +1,13 @@ +using System.Net.Http; +using System.Threading.Tasks; + +namespace RadarrSharp.Proxies +{ + internal interface IRadarrProxy + { + Task GetAsync(string url); + Task PostAsync(string rootUrl, U data); + Task PutAsync(string rootUrl, U data); + Task DeleteAsync(string rootUrl); + } +} diff --git a/Proxies/RadarrProxy.cs b/Proxies/RadarrProxy.cs new file mode 100644 index 0000000..8321cd0 --- /dev/null +++ b/Proxies/RadarrProxy.cs @@ -0,0 +1,53 @@ +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Net.Http; +using System.Text; +using System.Threading.Tasks; + +namespace RadarrSharp.Proxies +{ + public class RadarrProxy : IRadarrProxy + { + private HttpClient _client; + public RadarrProxy() + { + _client = new HttpClient(); + } + public async Task GetAsync(string rootUrl) + { + var resp = await _client.GetAsync(rootUrl); + var content = await resp.Content.ReadAsStringAsync(); + return JsonConvert.DeserializeObject(content); + } + + public async Task PostAsync(string rootUrl, U data) + { + var jsonPayload = JsonConvert.SerializeObject(data); + var response = await _client.PostAsync(rootUrl, PrepJsonForPost(jsonPayload)); + var resp = await response.Content.ReadAsStringAsync(); + return JsonConvert.DeserializeObject(resp); + } + + public async Task PutAsync(string rootUrl, U data) + { + var jsonPayload = JsonConvert.SerializeObject(data); + var response = await _client.PutAsync(rootUrl, PrepJsonForPost(jsonPayload)); + + return JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync()); + } + + public async Task DeleteAsync(string rootUrl) + { + var resp = await _client.DeleteAsync(rootUrl); + return resp; + } + + private StringContent PrepJsonForPost(string jsonObj) + { + return new StringContent(jsonObj, Encoding.UTF8, "application/json"); + } + } +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..76c020e --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +Radarr API implementation in c# \ No newline at end of file diff --git a/RadarrClient.cs b/RadarrClient.cs new file mode 100644 index 0000000..389b7f3 --- /dev/null +++ b/RadarrClient.cs @@ -0,0 +1,26 @@ +using RadarrSharp.Services; +using RadarrSharp.Services.Implementation; +using RadarrSharp.Services.Interface; + +namespace RadarrSharp +{ + public class RadarrClient + { + public IMovieService Movie; + public IQualityService Quality; + private string _ip, _port, _apiKey; + public RadarrClient(string ip, string port, string apiKey) + { + this._ip = ip; + this._port = port; + this._apiKey = apiKey; + RegisterRadarrServices(); + } + + private void RegisterRadarrServices() + { + Movie = new MovieService(_ip, _port, _apiKey); + Quality = new QualityService(_ip, _port, _apiKey); + } + } +} diff --git a/RadarrSharp-Siglerdev.1.0.3.nupkg b/RadarrSharp-Siglerdev.1.0.3.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..fbb2b1397aad5b02f6a4696f5502eaeaa8b936be GIT binary patch literal 45448 zcmcF}^;=Y5^sY!Z!$?Ro$bgg}jpQ(dz|h@-beA+J3^GHCbPFgQ(j^GeJxI5Jbc1x= z;dAeOp8Nd+?hof(=iPgqwf0$i&)#dDXVjH3v7S77^a$^fx!z0dIkQIv%ovXzVLpEJ zh!EXs=5FQa@q*_86XFK!J9x?D&cp6PQIbi!{T1YFsArMR@i*_eq8&#!KYWFs9h5*Y z@xP&X!c+Yl!VSuohVV_8pnJRT2SO~cbVZ8x1patvMv_$M#gYz4Wcc(8yG=^w(p9;& zc_`hbeqy)g6{j2y9im+eS$-b-29y;kEQwLX?xfgY^+!c+GbS>Iks(MunzCK4K$AJ+ z5@-G0Qv*$ikwwDf6 zvbn8udDl!8)oVt0s~k_Q*a%yJHasF^bQgO@e3ZX0NY89s^L~l{t7fgE4{V^0&Oo@T z@@a|c^Fj)WHYZ!yTGksxo1YYM_wL%-S+ZdiydR zpSr)5vst^DY@j*aJC&EqWEG3ZV#GFzgE~8?C+Sv3%?8#+Ei&X&llGENWS6;?p!|fZ zPyLM_NmW-SVS0#>ibup@XY>Z?;AY6r6&_LlsBKoU0fm{7&GP46KlNY*m49M0?fy-K zCJrr!G7bN^k)$IgV(2@UihnGRA9<(n{RSP){~7B?1TVE|u?jDUiqSzPfBc9BEgbDE zUN~EM3i9y2_ zV8p=xpf=oNU$ohynOL8L4o((xc)pPh*$q=WeSws`-#3%InXqm6`O&A(kIS_}i6ym0}k$EPF`lDNS0MjPNcuXI>)& zwwQ31qV$VyP03_1Cf-JoIa4xc5bwWZ>BTLKXfGgRNU5hj)xG~$(2GmX`gm5*w)}JP z{fSK%?%fKY^pLL6n}9x4oyd z=f3JU*FgP5;<^8CvR=yt?KvIUg@Y#$Ggdh@8X;?OyoI9S&4JYyO(foWCqE)ec(<(q zsw;ER5aTq?up2g~+RJk|>pT?=<}lsym;M;a9`VA;ysqaXuLI$hu|jvI`dp2+!*UMg zFRiDrj2NEm+FF;EMHSyh*XursGck+fh0x^)P~{2eZlytJ2Ud%>XMKAdYxgzargu( z=kfA)&nCgvSgLQ@UWMsHS9#mUCYP-}){;vOgBt>tlHUB*uHG5#{aA7hmVonPqRBur z*~{%Wt0e`?CCSS>l9o=JP7S-EJpMF1C3yo`-ep$(Y^5z(Gh0HE2f_hof&pjz0cXMi zB+}XEw2}^AMy?Nzi)M+m2Kk#Shs1#P?LNPrE1Uu|G<5W3$9ssZ9@_|xrarD|^XU@7 z)4zJ-_Tl~&+@{cuGzotOQ^$lQ%wrWN$#|2fr(4FAq>YGdKh2dbw+UPf)Q|-VA_|L; zX;2^AU!izvFduRaWneAh@Hd;f8$_T{ioL_G4 zcMvgPjvWo(g%T!3RK4?vo=y2U^y8&Yv9gm1)!?J$5_~hzwry_A&}{Y1{uM)2(Lu8D z(pf(9T_|=RM`u<(^I4U4q1auhwO-kRmsbfdCR748&hkqQ7zDj=_?3;gN-I=@V!{NN za&y2mGLO#tF3T*)YLLyL5EI_p2 zXbM6R1|=Vb0$~WmZ|D=iXc_{XTLexc2jn5CK^B4lWhg&PfF-vPoCX9GAVokcf&eur zA*_Ze_Z!%dd{haT!q<%w?`iJ#frs^&1~X)szIZgxx6wB$ehFx9&XE_94EZnH*U0 zD%d$(y_HfH@dkoj<3qfZD*O~rs?3{w530>S-r@xJ6sNB5xs{XsO($sj{s(YP%rH?Q-b>dxE1`h-WbK?!uiG zZ?pJv&vl_B_aBrq2Q4oQYCBsw#=k*MQ|zd$zniBPnF9zJgeiXf3Q0WUJbqfDJEJ#4 z6e4)MQ18TC(B?OoVjwT|sVPDDJ zV!^z5vsHih`9LP3SQ=t3_+~EmFDr#hgwnDV^uPCMA94`Zr4Y25x9e(sm@s7anbbxh zu;+GTqZUhN-ul`x1nr#pO9TP>-$%wfg2&hQo8(e3a>K!XWTRR@3FPKC{6Xrq-IiB4(eoU9hiGx^7+k`)(ZO5frx37e=hJG()9x(w(?N*pUICd6ffYh|! zXBOYVI6yuqP}Z@#J*l~;eP=?1%gk+FvX;>#-AHvqrTKSz3&gcmY3wwlh&J8yhwW^n zQ0Ts;(JF7X9|2EB1fNFHJPo$qV}EU?Bov z5#S3!#HCTch9-fl5Y*q08qlc8PFqm7tpyRlQjjkR;g&{y?!C&lu<%cEk5s2g&A+

fA1v-%QHSO~uESJi*c5U_U$7}|DKAv&+yB5t# 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 literal 0 HcmV?d00001 diff --git a/RadarrSharp.csproj b/RadarrSharp.csproj new file mode 100644 index 0000000..51d756f --- /dev/null +++ b/RadarrSharp.csproj @@ -0,0 +1,21 @@ + + + + net5.0 + 97WaterPolo + Siglerdev + RadarrSharp-Siglerdev + 1.0.0 + 42 + true + + + + + + + + + + + diff --git a/Services/BaseRadarrService.cs b/Services/BaseRadarrService.cs new file mode 100644 index 0000000..9518e56 --- /dev/null +++ b/Services/BaseRadarrService.cs @@ -0,0 +1,60 @@ +using RadarrSharp.Proxies; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.Http; +using System.Text; +using System.Threading.Tasks; + +namespace RadarrSharp.Services +{ + public abstract class BaseRadarrService + { + private IRadarrProxy _proxy; + private string _ip, _port, _apiKey; + protected BaseRadarrService(string ip, string port, string apiKey) + { + _proxy = new RadarrProxy(); + this._ip = ip; + this._port = port; + this._apiKey = apiKey; + } + + public async Task GetAsync(string endpoint, IEnumerable> qParams = null) + { + var resp = await _proxy.GetAsync(GenerateApiUrl(endpoint, qParams)); + return resp; + } + + public async Task PostAsync(string endpoint, U data, IEnumerable> qParams = null) + { + var resp = await _proxy.PostAsync(GenerateApiUrl(endpoint, qParams), data); + return resp; + } + + public async Task PutAsync(string endpoint, U data, IEnumerable> qParams = null) + { + var resp = await _proxy.PutAsync(GenerateApiUrl(endpoint, qParams), data); + return resp; + } + public async Task DeleteAsync(string endpoint, IEnumerable> qParams = null) + { + var resp = await _proxy.DeleteAsync(GenerateApiUrl(endpoint, qParams)); + return resp; + } + + + protected string GenerateApiUrl(string endpoint, IEnumerable> qParams = null) + { + StringBuilder url = new StringBuilder($"{_ip}:{_port}/api/v3/{endpoint}?apikey={_apiKey}"); + if (qParams != null) + { + foreach (var param in qParams) + { + url.Append($"&{param.Item1}={param.Item2}"); + } + } + return url.ToString(); + } + } +} diff --git a/Services/Implementation/MovieService.cs b/Services/Implementation/MovieService.cs new file mode 100644 index 0000000..8a879e2 --- /dev/null +++ b/Services/Implementation/MovieService.cs @@ -0,0 +1,60 @@ +using RadarrSharp.Services.Interface; +using RadarrSharp.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using RadarrSharp.Helpers; +using System.Threading.Tasks; +using System.Web; + +namespace RadarrSharp.Services.Implementation +{ + + public class MovieService : BaseRadarrService, IMovieService + { + public MovieService(string ip, string port, string apiKey) : base(ip, port, apiKey) + { + + } + + public async Task> GetMovies(string tmdbId = null) + { + var movies = await base.GetAsync>("movie", tmdbId.ToTuple("tmdbId").ToList()); + return movies; + } + + public async Task AddMovie(Movie movie) + { + var resp = await base.PostAsync("movie", movie); + return resp; + } + + public async Task PutMovie(Movie movie, bool moveFiles) + { + var resp = await base.PutAsync("movie", movie, moveFiles.ToTuple("moveFiles").ToList()); + return resp; + } + + public async Task> GetMovie(int id) + { + var movies = await base.GetAsync>($"movie/{id}"); + return movies; + } + + public async Task DeleteMovie(int id, bool addImportExclusion, bool deleteFiles) + { + var responseMessage = await base.DeleteAsync($"movie/{id}", + RadarrExtensions.ParamList( + addImportExclusion.ToTuple("addImportExclusion"), + deleteFiles.ToTuple("deleteFiles"))); + return responseMessage.IsSuccessStatusCode; + } + + public async Task> MovieLookup(string searchTerm) + { + searchTerm = HttpUtility.UrlEncode(searchTerm); + var movies = await base.GetAsync>("movie/lookup", searchTerm.ToTuple("term").ToList()); + return movies; + } + } +} diff --git a/Services/Implementation/QualityService.cs b/Services/Implementation/QualityService.cs new file mode 100644 index 0000000..ec3a38e --- /dev/null +++ b/Services/Implementation/QualityService.cs @@ -0,0 +1,23 @@ +using RadarrSharp.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace RadarrSharp.Services.Implementation +{ + public class QualityService : BaseRadarrService, IQualityService + { + public QualityService(string ip, string port, string apiKey) : base(ip, port, apiKey) + { + + } + + public async Task> GetQualities() + { + var qualityProfiles = await base.GetAsync>("qualityProfile"); + return qualityProfiles; + } + } +} diff --git a/Services/Interface/IMovieService.cs b/Services/Interface/IMovieService.cs new file mode 100644 index 0000000..0db73e7 --- /dev/null +++ b/Services/Interface/IMovieService.cs @@ -0,0 +1,17 @@ +using RadarrSharp.Models; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace RadarrSharp.Services.Interface +{ + public interface IMovieService + { + Task AddMovie(Movie movie); + Task DeleteMovie(int id, bool addImportExclusion, bool deleteFiles); + Task> GetMovie(int id); + Task> GetMovies(string tmdbId = null); + Task> MovieLookup(string searchTerm); + Task PutMovie(Movie movie, bool moveFiles); + } +} diff --git a/Services/Interface/IQualityService.cs b/Services/Interface/IQualityService.cs new file mode 100644 index 0000000..ef02585 --- /dev/null +++ b/Services/Interface/IQualityService.cs @@ -0,0 +1,11 @@ +using RadarrSharp.Models; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace RadarrSharp.Services.Implementation +{ + public interface IQualityService + { + Task> GetQualities(); + } +} \ No newline at end of file