diff --git a/NzbDrone.Core.Test/IndexerProviderTest.cs b/NzbDrone.Core.Test/IndexerProviderTest.cs index aab9c7056..b50afa716 100644 --- a/NzbDrone.Core.Test/IndexerProviderTest.cs +++ b/NzbDrone.Core.Test/IndexerProviderTest.cs @@ -29,7 +29,7 @@ public void Init_indexer_test() { var mocker = new AutoMoqer(); - mocker.SetConstant(MockLib.GetEmptyRepository()); + mocker.SetConstant(MockLib.GetEmptyDatabase()); //Act var indexerProvider = mocker.Resolve(); @@ -51,7 +51,7 @@ public void Init_indexer_with_disabled_job() { var mocker = new AutoMoqer(); - mocker.SetConstant(MockLib.GetEmptyRepository()); + mocker.SetConstant(MockLib.GetEmptyDatabase()); //Act var indexerProvider = mocker.Resolve(); diff --git a/NzbDrone.Core/Datastore/Migrations/Migration.cs b/NzbDrone.Core/Datastore/Migrations/Migration.cs index 180de687f..e228333f4 100644 --- a/NzbDrone.Core/Datastore/Migrations/Migration.cs +++ b/NzbDrone.Core/Datastore/Migrations/Migration.cs @@ -142,6 +142,14 @@ public override void Up() new Column("Cutoff", DbType.Int32, ColumnProperty.NotNull), new Column("SonicAllowed", DbType.String, ColumnProperty.NotNull), }); + + Database.AddTable("IndexerSettings", "SQLite", new[] + { + new Column("Id", DbType.Int32, ColumnProperty.PrimaryKey), + new Column("Enable", DbType.Boolean, ColumnProperty.NotNull), + new Column("IndexProviderType", DbType.String, ColumnProperty.NotNull), + new Column("Name", DbType.String, ColumnProperty.NotNull), + }); } public override void Down() diff --git a/NzbDrone.Core/Providers/IndexerProvider.cs b/NzbDrone.Core/Providers/IndexerProvider.cs index d0948a2ec..48ad40431 100644 --- a/NzbDrone.Core/Providers/IndexerProvider.cs +++ b/NzbDrone.Core/Providers/IndexerProvider.cs @@ -5,21 +5,21 @@ using NLog; using NzbDrone.Core.Providers.Indexer; using NzbDrone.Core.Repository; -using SubSonic.Repository; +using PetaPoco; namespace NzbDrone.Core.Providers { public class IndexerProvider { private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); - private readonly IRepository _repository; + private readonly IDatabase _database; private IList _indexers = new List(); [Inject] - public IndexerProvider(IRepository repository) + public IndexerProvider(IDatabase database) { - _repository = repository; + _database = database; } public IndexerProvider() @@ -35,7 +35,7 @@ public virtual IList GetEnabledIndexers() public virtual List GetAllISettings() { - return _repository.All().ToList(); + return _database.Fetch(); } public virtual void SaveSettings(IndexerSetting settings) @@ -43,18 +43,18 @@ public virtual void SaveSettings(IndexerSetting settings) if (settings.Id == 0) { Logger.Debug("Adding Indexer settings for {0}", settings.Name); - _repository.Add(settings); + _database.Insert(settings); } else { Logger.Debug("Updating Indexer settings for {0}", settings.Name); - _repository.Update(settings); + _database.Update(settings); } } public virtual IndexerSetting GetSettings(Type type) { - return _repository.Single(s => s.IndexProviderType == type.ToString()); + return _database.Single("WHERE IndexProviderType = @0", type.ToString()); } public virtual void InitializeIndexers(IList indexers) diff --git a/NzbDrone.Core/Repository/IndexerSetting.cs b/NzbDrone.Core/Repository/IndexerSetting.cs index 471552728..b1a8ad1be 100644 --- a/NzbDrone.Core/Repository/IndexerSetting.cs +++ b/NzbDrone.Core/Repository/IndexerSetting.cs @@ -1,11 +1,12 @@ using System; -using SubSonic.SqlGeneration.Schema; +using PetaPoco; namespace NzbDrone.Core.Repository { + [TableName("IndexerSettings")] + [PrimaryKey("Id", autoIncrement = true)] public class IndexerSetting { - [SubSonicPrimaryKey(true)] public int Id { get; set; } public Boolean Enable { get; set; }