diff --git a/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj b/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj index 58b09e81e..430b4d934 100644 --- a/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj +++ b/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj @@ -181,6 +181,7 @@ + diff --git a/NzbDrone.Core.Test/ThingiProvider/ProviderBaseFixture.cs b/NzbDrone.Core.Test/ThingiProvider/ProviderBaseFixture.cs new file mode 100644 index 000000000..11006aa42 --- /dev/null +++ b/NzbDrone.Core.Test/ThingiProvider/ProviderBaseFixture.cs @@ -0,0 +1,23 @@ +using NUnit.Framework; +using NzbDrone.Core.Test.Datastore; +using NzbDrone.Core.Test.Framework; +using NzbDrone.Core.ThingiProvider; + +namespace NzbDrone.Core.Test.ThingiProvider +{ + + public class ProviderRepositoryFixture : DbTest + { + [Test] + public void should_read_write_download_provider() + { + var model = new DownloadProviderModel(); + + model.Config = new DownloadProviderConfig(); + + //Subject.Insert(new ) + } + + + } +} \ No newline at end of file diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj index 23d3657e3..2ab111e2a 100644 --- a/NzbDrone.Core/NzbDrone.Core.csproj +++ b/NzbDrone.Core/NzbDrone.Core.csproj @@ -416,6 +416,7 @@ + diff --git a/NzbDrone.Core/ThingiProvider/ProviderBase.cs b/NzbDrone.Core/ThingiProvider/ProviderBase.cs new file mode 100644 index 000000000..61035d7de --- /dev/null +++ b/NzbDrone.Core/ThingiProvider/ProviderBase.cs @@ -0,0 +1,49 @@ + +using NzbDrone.Core.Datastore; +using NzbDrone.Core.Messaging.Events; + +namespace NzbDrone.Core.ThingiProvider +{ + + + public class DownloadProviderRepository : BasicRepository + { + public DownloadProviderRepository(IDatabase database, IEventAggregator eventAggregator) + : base(database, eventAggregator) + { + } + } + + public class DownloadProviderModel : Provider + { + + } + + public class DownloadProviderConfig : ProviderSetting + { + + } + + + public abstract class Provider : ModelBase + where TSettings : ProviderSetting + { + public string Implementation { get; set; } + public TSettings Config { get; set; } + } + + public abstract class ProviderSetting : IEmbeddedDocument + { + + } + + public abstract class ProviderBase where TSettings : ProviderSetting + { + public TSettings Settings { get; private set; } + + public void LoadSettings(TSettings setting) + { + Settings = setting; + } + } +} \ No newline at end of file