Radarr/src/NzbDrone.Core/Configuration/IConfigService.cs

110 lines
3.6 KiB
C#
Raw Normal View History

using System.Collections.Generic;
using NzbDrone.Common.Http.Proxy;
2019-12-22 22:08:53 +00:00
using NzbDrone.Core.MediaFiles;
2020-04-03 00:57:36 +00:00
using NzbDrone.Core.MetadataSource.SkyHook.Resource;
using NzbDrone.Core.Qualities;
using NzbDrone.Core.Security;
2013-02-24 06:48:52 +00:00
namespace NzbDrone.Core.Configuration
{
public interface IConfigService
{
void SaveConfigDictionary(Dictionary<string, object> configValues);
bool IsDefined(string key);
2022-11-20 18:27:45 +00:00
// Download Client
string DownloadClientWorkingFolders { get; set; }
int DownloadClientHistoryLimit { get; set; }
int CheckForFinishedDownloadInterval { get; set; }
2022-11-20 18:27:45 +00:00
// Completed/Failed Download Handling (Download client)
bool EnableCompletedDownloadHandling { get; set; }
bool AutoRedownloadFailed { get; set; }
2022-11-20 18:27:45 +00:00
// Media Management
2018-11-23 07:03:32 +00:00
bool AutoUnmonitorPreviouslyDownloadedMovies { get; set; }
string RecycleBin { get; set; }
int RecycleBinCleanupDays { get; set; }
ProperDownloadTypes DownloadPropersAndRepacks { get; set; }
2018-11-23 07:03:32 +00:00
bool CreateEmptyMovieFolders { get; set; }
bool DeleteEmptyFolders { get; set; }
FileDateType FileDate { get; set; }
bool SkipFreeSpaceCheckWhenImporting { get; set; }
int MinimumFreeSpaceWhenImporting { get; set; }
bool CopyUsingHardlinks { get; set; }
bool EnableMediaInfo { get; set; }
bool ImportExtraFiles { get; set; }
string ExtraFileExtensions { get; set; }
2018-11-23 07:03:32 +00:00
RescanAfterRefreshType RescanAfterRefresh { get; set; }
bool AutoRenameFolders { get; set; }
2022-11-20 18:27:45 +00:00
// Permissions (Media Management)
bool SetPermissionsLinux { get; set; }
string ChmodFolder { get; set; }
string ChownGroup { get; set; }
2022-11-20 18:27:45 +00:00
// Indexers
int Retention { get; set; }
int RssSyncInterval { get; set; }
int MaximumSize { get; set; }
int MinimumAge { get; set; }
bool PreferIndexerFlags { get; set; }
Min availability (#816) * availability specification to prevent downloading titles before their release * pull inCinamas status out of js handlebars and set it in SkyHook * minor code improvement * add incinemas to footer * typo * another typo * release date handling * still print cinema date out for announced titles * revert a minor change from before since its unnecessary * early implementation of minimumAvailability --> when does radarr consider a movie "available" should be specified by user default to "Physical release?" this isn't functional yet, but it has a skeleton + comments. I dont know how to have the minimumavailability attribute default to something or to have it actually populate the Movieinfo object could use some help with that * adding another comment for another location that might need to be updated to handle minimumAvailability * the implementation is now function; however, i still need to specify default values for minimumAvailability * missed these changes in the previous commit * fix rounded corners on new field in editmovie dialog * add minimum availability specification to the addMovie page * minor adjustment from last commit * handle the case where minimumavailability has never yet been set nullstring.. if its never been set, default to Released (Physical/Web) represented by integer value 3 * minAvailability specification on NetImport lists * add support for min availability to the movie editor * use enum MovieStatusType values directly makes for cleaner code * need to fix up the migration forgot in last commit * cleaning up code, proper case * erroneous code added in this feature needed to be removed * update "Wanted" page to take into account minimumAvailability * implement preDB minimumAvailability as default.. behaves same as Physical/Web a few comments with TODO for when preDB is implemented * minor adjustment * remove some unused code (leave commented for now) * improve code for minimumavailability and add option for availabilitydelay (but doesnt do anything yet) * improve isAvailable method * clean up and fix helper info on indexer configuration page * add buttons in Wanted/Missing view
2017-02-23 05:03:48 +00:00
2019-12-22 21:24:10 +00:00
int AvailabilityDelay { get; set; }
2019-12-22 21:24:10 +00:00
bool AllowHardcodedSubs { get; set; }
string WhitelistedHardcodedSubs { get; set; }
int ImportListSyncInterval { get; set; }
2019-12-22 21:24:10 +00:00
string ListSyncLevel { get; set; }
string ImportExclusions { get; set; }
2022-11-20 18:27:45 +00:00
// Metadata Provider
2020-04-03 00:57:36 +00:00
TMDbCountryCode CertificationCountry { get; set; }
2022-11-20 18:27:45 +00:00
// UI
int FirstDayOfWeek { get; set; }
string CalendarWeekColumnHeader { get; set; }
MovieRuntimeFormatType MovieRuntimeFormat { get; set; }
string ShortDateFormat { get; set; }
string LongDateFormat { get; set; }
string TimeFormat { get; set; }
bool ShowRelativeDates { get; set; }
bool EnableColorImpairedMode { get; set; }
2020-05-26 01:55:10 +00:00
int MovieInfoLanguage { get; set; }
int UILanguage { get; set; }
2015-01-02 18:57:51 +00:00
2022-11-20 18:27:45 +00:00
// Internal
bool CleanupMetadataImages { get; set; }
string PlexClientIdentifier { get; }
2015-01-26 02:03:21 +00:00
2022-11-20 18:27:45 +00:00
// Forms Auth
2015-01-26 02:03:21 +00:00
string RijndaelPassphrase { get; }
string HmacPassphrase { get; }
string RijndaelSalt { get; }
string HmacSalt { get; }
2022-11-20 18:27:45 +00:00
// Proxy
bool ProxyEnabled { get; }
ProxyType ProxyType { get; }
string ProxyHostname { get; }
int ProxyPort { get; }
string ProxyUsername { get; }
string ProxyPassword { get; }
string ProxyBypassFilter { get; }
bool ProxyBypassLocalAddresses { get; }
2018-11-23 07:03:32 +00:00
// Backups
string BackupFolder { get; }
int BackupInterval { get; }
int BackupRetention { get; }
CertificateValidationType CertificateValidation { get; }
string ApplicationUrl { get; }
2013-02-24 06:48:52 +00:00
}
2013-07-04 01:00:46 +00:00
}