mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-14 10:47:08 -07:00
New: Import List Tags (#505)
* New: Import List Tags * New: Show ImportLists where Tag is Used in Tag manager * Fixed: SignalR Errors due to handleTag missing * Fixed: Clarify Lidarr Tags, not to be confused with LastFmTags
This commit is contained in:
parent
b17cccd736
commit
27736649c2
13 changed files with 101 additions and 6 deletions
|
@ -9,6 +9,7 @@ namespace Lidarr.Api.V1.Tags
|
|||
{
|
||||
public string Label { get; set; }
|
||||
public List<int> DelayProfileIds { get; set; }
|
||||
public List<int> ImportListIds { get; set; }
|
||||
public List<int> NotificationIds { get; set; }
|
||||
public List<int> RestrictionIds { get; set; }
|
||||
public List<int> ArtistIds { get; set; }
|
||||
|
@ -25,6 +26,7 @@ namespace Lidarr.Api.V1.Tags
|
|||
Id = model.Id,
|
||||
Label = model.Label,
|
||||
DelayProfileIds = model.DelayProfileIds,
|
||||
ImportListIds = model.ImportListIds,
|
||||
NotificationIds = model.NotificationIds,
|
||||
RestrictionIds = model.RestrictionIds,
|
||||
ArtistIds = model.ArtistIds
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
using FluentMigrator;
|
||||
using NzbDrone.Core.Datastore.Migration.Framework;
|
||||
|
||||
namespace NzbDrone.Core.Datastore.Migration
|
||||
{
|
||||
[Migration(22)]
|
||||
public class import_list_tags : NzbDroneMigrationBase
|
||||
{
|
||||
protected override void MainDbUpgrade()
|
||||
{
|
||||
Alter.Table("ImportLists").AddColumn("Tags").AsString().Nullable();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -66,8 +66,7 @@ namespace NzbDrone.Core.Datastore
|
|||
.Ignore(d => d.Tags);
|
||||
|
||||
Mapper.Entity<ImportListDefinition>().RegisterDefinition("ImportLists")
|
||||
.Ignore(i => i.Enable)
|
||||
.Ignore(d => d.Tags);
|
||||
.Ignore(i => i.Enable);
|
||||
|
||||
Mapper.Entity<NotificationDefinition>().RegisterDefinition("Notifications")
|
||||
.Ignore(i => i.SupportsOnGrab)
|
||||
|
|
|
@ -125,6 +125,7 @@ namespace NzbDrone.Core.ImportLists
|
|||
ProfileId = importList.ProfileId,
|
||||
LanguageProfileId = importList.LanguageProfileId,
|
||||
MetadataProfileId = importList.MetadataProfileId,
|
||||
Tags = importList.Tags,
|
||||
AlbumFolder = true,
|
||||
AddOptions = new AddArtistOptions { SearchForMissingAlbums = true, Monitored = importList.ShouldMonitor, SelectedOption = 0 }
|
||||
});
|
||||
|
|
|
@ -196,6 +196,7 @@
|
|||
<Compile Include="Datastore\Migration\018_album_disambiguation.cs" />
|
||||
<Compile Include="Datastore\Migration\019_add_ape_quality_in_profiles.cs" />
|
||||
<Compile Include="Datastore\Migration\021_add_custom_filters.cs" />
|
||||
<Compile Include="Datastore\Migration\022_import_list_tags.cs" />
|
||||
<Compile Include="Datastore\Migration\Framework\MigrationContext.cs" />
|
||||
<Compile Include="Datastore\Migration\Framework\MigrationController.cs" />
|
||||
<Compile Include="Datastore\Migration\Framework\MigrationDbFactory.cs" />
|
||||
|
|
|
@ -10,5 +10,6 @@ namespace NzbDrone.Core.Tags
|
|||
public List<int> NotificationIds { get; set; }
|
||||
public List<int> RestrictionIds { get; set; }
|
||||
public List<int> DelayProfileIds { get; set; }
|
||||
public List<int> ImportListIds { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NzbDrone.Core.ImportLists;
|
||||
using NzbDrone.Core.Messaging.Events;
|
||||
using NzbDrone.Core.Notifications;
|
||||
using NzbDrone.Core.Profiles.Delay;
|
||||
|
@ -25,6 +26,7 @@ namespace NzbDrone.Core.Tags
|
|||
private readonly ITagRepository _repo;
|
||||
private readonly IEventAggregator _eventAggregator;
|
||||
private readonly IDelayProfileService _delayProfileService;
|
||||
private readonly IImportListFactory _importListFactory;
|
||||
private readonly INotificationFactory _notificationFactory;
|
||||
private readonly IRestrictionService _restrictionService;
|
||||
private readonly IArtistService _artistService;
|
||||
|
@ -32,6 +34,7 @@ namespace NzbDrone.Core.Tags
|
|||
public TagService(ITagRepository repo,
|
||||
IEventAggregator eventAggregator,
|
||||
IDelayProfileService delayProfileService,
|
||||
ImportListFactory importListFactory,
|
||||
INotificationFactory notificationFactory,
|
||||
IRestrictionService restrictionService,
|
||||
IArtistService artistService)
|
||||
|
@ -39,6 +42,7 @@ namespace NzbDrone.Core.Tags
|
|||
_repo = repo;
|
||||
_eventAggregator = eventAggregator;
|
||||
_delayProfileService = delayProfileService;
|
||||
_importListFactory = importListFactory;
|
||||
_notificationFactory = notificationFactory;
|
||||
_restrictionService = restrictionService;
|
||||
_artistService = artistService;
|
||||
|
@ -65,6 +69,7 @@ namespace NzbDrone.Core.Tags
|
|||
{
|
||||
var tag = GetTag(tagId);
|
||||
var delayProfiles = _delayProfileService.AllForTag(tagId);
|
||||
var importLists = _importListFactory.AllForTag(tagId);
|
||||
var notifications = _notificationFactory.AllForTag(tagId);
|
||||
var restrictions = _restrictionService.AllForTag(tagId);
|
||||
var artist = _artistService.AllForTag(tagId);
|
||||
|
@ -74,6 +79,7 @@ namespace NzbDrone.Core.Tags
|
|||
Id = tagId,
|
||||
Label = tag.Label,
|
||||
DelayProfileIds = delayProfiles.Select(c => c.Id).ToList(),
|
||||
ImportListIds = importLists.Select(c => c.Id).ToList(),
|
||||
NotificationIds = notifications.Select(c => c.Id).ToList(),
|
||||
RestrictionIds = restrictions.Select(c => c.Id).ToList(),
|
||||
ArtistIds = artist.Select(c => c.Id).ToList()
|
||||
|
@ -84,6 +90,7 @@ namespace NzbDrone.Core.Tags
|
|||
{
|
||||
var tags = All();
|
||||
var delayProfiles = _delayProfileService.All();
|
||||
var importLists = _importListFactory.All();
|
||||
var notifications = _notificationFactory.All();
|
||||
var restrictions = _restrictionService.All();
|
||||
var artists = _artistService.GetAllArtists();
|
||||
|
@ -97,6 +104,7 @@ namespace NzbDrone.Core.Tags
|
|||
Id = tag.Id,
|
||||
Label = tag.Label,
|
||||
DelayProfileIds = delayProfiles.Where(c => c.Tags.Contains(tag.Id)).Select(c => c.Id).ToList(),
|
||||
ImportListIds = importLists.Where(c => c.Tags.Contains(tag.Id)).Select(c => c.Id).ToList(),
|
||||
NotificationIds = notifications.Where(c => c.Tags.Contains(tag.Id)).Select(c => c.Id).ToList(),
|
||||
RestrictionIds = restrictions.Where(c => c.Tags.Contains(tag.Id)).Select(c => c.Id).ToList(),
|
||||
ArtistIds = artists.Where(c => c.Tags.Contains(tag.Id)).Select(c => c.Id).ToList()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue