Fix build

This commit is contained in:
Bond_009 2020-02-08 22:25:44 +01:00
parent f96bc23c4f
commit 867835a474
5 changed files with 28 additions and 22 deletions

View file

@ -22,7 +22,7 @@ namespace Emby.Notifications.Api
public class GetNotifications : IReturn<NotificationResult> public class GetNotifications : IReturn<NotificationResult>
{ {
[ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] [ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
public string UserId { get; set; } public string UserId { get; set; } = string.Empty;
[ApiMember(Name = "IsRead", Description = "An optional filter by IsRead", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")] [ApiMember(Name = "IsRead", Description = "An optional filter by IsRead", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")]
public bool? IsRead { get; set; } public bool? IsRead { get; set; }
@ -36,26 +36,26 @@ namespace Emby.Notifications.Api
public class Notification public class Notification
{ {
public string Id { get; set; } public string Id { get; set; } = string.Empty;
public string UserId { get; set; } public string UserId { get; set; } = string.Empty;
public DateTime Date { get; set; } public DateTime Date { get; set; }
public bool IsRead { get; set; } public bool IsRead { get; set; }
public string Name { get; set; } public string Name { get; set; } = string.Empty;
public string Description { get; set; } public string Description { get; set; } = string.Empty;
public string Url { get; set; } public string Url { get; set; } = string.Empty;
public NotificationLevel Level { get; set; } public NotificationLevel Level { get; set; }
} }
public class NotificationResult public class NotificationResult
{ {
public IReadOnlyList<Notification> Notifications { get; set; } public IReadOnlyList<Notification> Notifications { get; set; } = Array.Empty<Notification>();
public int TotalRecordCount { get; set; } public int TotalRecordCount { get; set; }
} }
@ -71,7 +71,7 @@ namespace Emby.Notifications.Api
public class GetNotificationsSummary : IReturn<NotificationsSummary> public class GetNotificationsSummary : IReturn<NotificationsSummary>
{ {
[ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] [ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
public string UserId { get; set; } public string UserId { get; set; } = string.Empty;
} }
[Route("/Notifications/Types", "GET", Summary = "Gets notification types")] [Route("/Notifications/Types", "GET", Summary = "Gets notification types")]
@ -107,20 +107,20 @@ namespace Emby.Notifications.Api
public class MarkRead : IReturnVoid public class MarkRead : IReturnVoid
{ {
[ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] [ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
public string UserId { get; set; } public string UserId { get; set; } = string.Empty;
[ApiMember(Name = "Ids", Description = "A list of notification ids, comma delimited", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST", AllowMultiple = true)] [ApiMember(Name = "Ids", Description = "A list of notification ids, comma delimited", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST", AllowMultiple = true)]
public string Ids { get; set; } public string Ids { get; set; } = string.Empty;
} }
[Route("/Notifications/{UserId}/Unread", "POST", Summary = "Marks notifications as unread")] [Route("/Notifications/{UserId}/Unread", "POST", Summary = "Marks notifications as unread")]
public class MarkUnread : IReturnVoid public class MarkUnread : IReturnVoid
{ {
[ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] [ApiMember(Name = "UserId", Description = "User Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")]
public string UserId { get; set; } public string UserId { get; set; } = string.Empty;
[ApiMember(Name = "Ids", Description = "A list of notification ids, comma delimited", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST", AllowMultiple = true)] [ApiMember(Name = "Ids", Description = "A list of notification ids, comma delimited", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST", AllowMultiple = true)]
public string Ids { get; set; } public string Ids { get; set; } = string.Empty;
} }
[Authenticated] [Authenticated]

View file

@ -227,7 +227,12 @@ namespace Emby.Notifications
} }
} }
private static string GetItemName(BaseItem item) /// <summary>
/// Creates a human readable name for the item.
/// </summary>
/// <param name="item">The item.</param>
/// <returns>A human readable name for the item.</returns>
public static string GetItemName(BaseItem item)
{ {
var name = item.Name; var name = item.Name;
if (item is Episode episode) if (item is Episode episode)
@ -298,7 +303,7 @@ namespace Emby.Notifications
} }
/// <summary> /// <summary>
/// Releases unmanaged and - optionally - managed resources. /// Releases unmanaged and optionally managed resources.
/// </summary> /// </summary>
/// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param> /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
protected virtual void Dispose(bool disposing) protected virtual void Dispose(bool disposing)

View file

@ -32,7 +32,7 @@ namespace Emby.Notifications
/// Initializes a new instance of the <see cref="NotificationManager" /> class. /// Initializes a new instance of the <see cref="NotificationManager" /> class.
/// </summary> /// </summary>
/// <param name="logger">The logger.</param> /// <param name="logger">The logger.</param>
/// <param name="userManager">the user manager.</param> /// <param name="userManager">The user manager.</param>
/// <param name="config">The server configuration manager.</param> /// <param name="config">The server configuration manager.</param>
public NotificationManager( public NotificationManager(
ILogger<NotificationManager> logger, ILogger<NotificationManager> logger,

View file

@ -29,7 +29,7 @@ using Microsoft.Extensions.Logging;
namespace Emby.Server.Implementations.Activity namespace Emby.Server.Implementations.Activity
{ {
public class ActivityLogEntryPoint : IServerEntryPoint public sealed class ActivityLogEntryPoint : IServerEntryPoint
{ {
private readonly ILogger _logger; private readonly ILogger _logger;
private readonly IInstallationManager _installationManager; private readonly IInstallationManager _installationManager;
@ -39,7 +39,6 @@ namespace Emby.Server.Implementations.Activity
private readonly ILocalizationManager _localization; private readonly ILocalizationManager _localization;
private readonly ISubtitleManager _subManager; private readonly ISubtitleManager _subManager;
private readonly IUserManager _userManager; private readonly IUserManager _userManager;
private readonly IServerApplicationHost _appHost;
private readonly IDeviceManager _deviceManager; private readonly IDeviceManager _deviceManager;
/// <summary> /// <summary>
@ -64,8 +63,7 @@ namespace Emby.Server.Implementations.Activity
ILocalizationManager localization, ILocalizationManager localization,
IInstallationManager installationManager, IInstallationManager installationManager,
ISubtitleManager subManager, ISubtitleManager subManager,
IUserManager userManager, IUserManager userManager)
IServerApplicationHost appHost)
{ {
_logger = logger; _logger = logger;
_sessionManager = sessionManager; _sessionManager = sessionManager;
@ -76,7 +74,6 @@ namespace Emby.Server.Implementations.Activity
_installationManager = installationManager; _installationManager = installationManager;
_subManager = subManager; _subManager = subManager;
_userManager = userManager; _userManager = userManager;
_appHost = appHost;
} }
public Task RunAsync() public Task RunAsync()
@ -141,7 +138,7 @@ namespace Emby.Server.Implementations.Activity
CultureInfo.InvariantCulture, CultureInfo.InvariantCulture,
_localization.GetLocalizedString("SubtitleDownloadFailureFromForItem"), _localization.GetLocalizedString("SubtitleDownloadFailureFromForItem"),
e.Provider, e.Provider,
Notifications.Notifications.GetItemName(e.Item)), Emby.Notifications.NotificationEntryPoint.GetItemName(e.Item)),
Type = "SubtitleDownloadFailure", Type = "SubtitleDownloadFailure",
ItemId = e.Item.Id.ToString("N", CultureInfo.InvariantCulture), ItemId = e.Item.Id.ToString("N", CultureInfo.InvariantCulture),
ShortOverview = e.Exception.Message ShortOverview = e.Exception.Message
@ -533,6 +530,7 @@ namespace Emby.Server.Implementations.Activity
private void CreateLogEntry(ActivityLogEntry entry) private void CreateLogEntry(ActivityLogEntry entry)
=> _activityManager.Create(entry); => _activityManager.Create(entry);
/// <inheritdoc />
public void Dispose() public void Dispose()
{ {
_taskManager.TaskCompleted -= OnTaskCompleted; _taskManager.TaskCompleted -= OnTaskCompleted;

View file

@ -825,7 +825,10 @@ namespace Emby.Server.Implementations
UserViewManager = new UserViewManager(LibraryManager, LocalizationManager, UserManager, ChannelManager, LiveTvManager, ServerConfigurationManager); UserViewManager = new UserViewManager(LibraryManager, LocalizationManager, UserManager, ChannelManager, LiveTvManager, ServerConfigurationManager);
serviceCollection.AddSingleton(UserViewManager); serviceCollection.AddSingleton(UserViewManager);
NotificationManager = new NotificationManager(LoggerFactory, UserManager, ServerConfigurationManager); NotificationManager = new NotificationManager(
LoggerFactory.CreateLogger<NotificationManager>(),
UserManager,
ServerConfigurationManager);
serviceCollection.AddSingleton(NotificationManager); serviceCollection.AddSingleton(NotificationManager);
serviceCollection.AddSingleton<IDeviceDiscovery>(new DeviceDiscovery(ServerConfigurationManager)); serviceCollection.AddSingleton<IDeviceDiscovery>(new DeviceDiscovery(ServerConfigurationManager));