You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Prowlarr/src/NzbDrone.Core/Applications/AppIndexerMapService.cs

56 lines
1.7 KiB

using System.Collections.Generic;
using NzbDrone.Core.Messaging.Events;
using NzbDrone.Core.ThingiProvider.Events;
namespace NzbDrone.Core.Applications
{
public interface IAppIndexerMapService
{
List<AppIndexerMap> GetMappingsForApp(int appId);
AppIndexerMap Insert(AppIndexerMap appIndexerMap);
AppIndexerMap Update(AppIndexerMap appIndexerMap);
void Delete(int mappingId);
void DeleteAllForApp(int appId);
}
public class AppIndexerMapService : IAppIndexerMapService, IHandle<ProviderDeletedEvent<IApplication>>
{
private readonly IAppIndexerMapRepository _appIndexerMapRepository;
public AppIndexerMapService(IAppIndexerMapRepository appIndexerMapRepository)
{
_appIndexerMapRepository = appIndexerMapRepository;
}
public void DeleteAllForApp(int appId)
{
_appIndexerMapRepository.DeleteAllForApp(appId);
}
public void Delete(int mappingId)
{
_appIndexerMapRepository.Delete(mappingId);
}
public List<AppIndexerMap> GetMappingsForApp(int appId)
{
return _appIndexerMapRepository.GetMappingsForApp(appId);
}
public AppIndexerMap Insert(AppIndexerMap appIndexerMap)
{
return _appIndexerMapRepository.Insert(appIndexerMap);
}
public AppIndexerMap Update(AppIndexerMap appIndexerMap)
{
return _appIndexerMapRepository.Update(appIndexerMap);
}
public void Handle(ProviderDeletedEvent<IApplication> message)
{
_appIndexerMapRepository.DeleteAllForApp(message.ProviderId);
}
}
}