Fixed: Removing invalid statuses on provider deletion

pull/5011/head
Bogdan 3 months ago
parent 916fbb2a69
commit 36e67fdc2e

@ -8,6 +8,7 @@ namespace NzbDrone.Core.ThingiProvider.Status
where TModel : ProviderStatusBase, new() where TModel : ProviderStatusBase, new()
{ {
TModel FindByProviderId(int providerId); TModel FindByProviderId(int providerId);
void DeleteByProviderId(int providerId);
} }
public class ProviderStatusRepository<TModel> : BasicRepository<TModel>, IProviderStatusRepository<TModel> public class ProviderStatusRepository<TModel> : BasicRepository<TModel>, IProviderStatusRepository<TModel>
@ -22,5 +23,10 @@ namespace NzbDrone.Core.ThingiProvider.Status
{ {
return Query(c => c.ProviderId == providerId).SingleOrDefault(); return Query(c => c.ProviderId == providerId).SingleOrDefault();
} }
public void DeleteByProviderId(int providerId)
{
Delete(c => c.ProviderId == providerId);
}
} }
} }

@ -151,12 +151,7 @@ namespace NzbDrone.Core.ThingiProvider.Status
public virtual void HandleAsync(ProviderDeletedEvent<TProvider> message) public virtual void HandleAsync(ProviderDeletedEvent<TProvider> message)
{ {
var providerStatus = _providerStatusRepository.FindByProviderId(message.ProviderId); _providerStatusRepository.DeleteByProviderId(message.ProviderId);
if (providerStatus != null)
{
_providerStatusRepository.Delete(providerStatus);
}
} }
} }
} }

Loading…
Cancel
Save