aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Barron <barronpm@gmail.com>2020-05-26 23:08:27 -0400
committerPatrick Barron <barronpm@gmail.com>2020-05-26 23:08:27 -0400
commit31f725fdbf9f4a5d91c60cde4dfe8997022f8257 (patch)
tree2d9c4f867cf92aed23de344290c12522f6d6bad4
parenteef7cfd91251ee14717dbccfae7505e444048548 (diff)
Fix a bug in Emby.Notifications and clean up
-rw-r--r--Emby.Notifications/Api/NotificationsService.cs8
-rw-r--r--MediaBrowser.Api/Images/ImageService.cs25
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs9
3 files changed, 15 insertions, 27 deletions
diff --git a/Emby.Notifications/Api/NotificationsService.cs b/Emby.Notifications/Api/NotificationsService.cs
index 221db5423..1ff8a5026 100644
--- a/Emby.Notifications/Api/NotificationsService.cs
+++ b/Emby.Notifications/Api/NotificationsService.cs
@@ -150,9 +150,7 @@ namespace Emby.Notifications.Api
[SuppressMessage("Microsoft.Performance", "CA1801:ReviewUnusedParameters", MessageId = "request", Justification = "Required for ServiceStack")]
public object Get(GetNotificationsSummary request)
{
- return new NotificationsSummary
- {
- };
+ return new NotificationsSummary();
}
public Task Post(AddAdminNotification request)
@@ -166,8 +164,8 @@ namespace Emby.Notifications.Api
Name = request.Name,
Url = request.Url,
UserIds = _userManager.Users
- .Where(p => p.Permissions.Select(x => x.Kind).Contains(PermissionKind.IsAdministrator))
- .Select(p => p.Id)
+ .Where(user => user.HasPermission(PermissionKind.IsAdministrator))
+ .Select(user => user.Id)
.ToArray()
};
diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs
index d3b739524..f52c48cc6 100644
--- a/MediaBrowser.Api/Images/ImageService.cs
+++ b/MediaBrowser.Api/Images/ImageService.cs
@@ -477,7 +477,7 @@ namespace MediaBrowser.Api.Images
}
catch (IOException e)
{
- // TODO: Log this
+ Logger.LogError(e, "Error deleting user profile image:");
}
user.ProfileImage = null;
@@ -820,14 +820,14 @@ namespace MediaBrowser.Api.Images
/// <param name="request">The request.</param>
/// <param name="item">The item.</param>
/// <returns>System.String.</returns>
- private ItemImageInfo GetImageInfo(ImageRequest request, BaseItem item)
+ private static ItemImageInfo GetImageInfo(ImageRequest request, BaseItem item)
{
var index = request.Index ?? 0;
return item.GetImageInfo(request.Type, index);
}
- private ItemImageInfo GetImageInfo(ImageRequest request, User user)
+ private static ItemImageInfo GetImageInfo(ImageRequest request, User user)
{
var info = new ItemImageInfo
{
@@ -859,15 +859,7 @@ namespace MediaBrowser.Api.Images
/// <returns>Task.</returns>
public async Task PostImage(BaseItem entity, Stream inputStream, ImageType imageType, string mimeType)
{
- using var reader = new StreamReader(inputStream);
- var text = await reader.ReadToEndAsync().ConfigureAwait(false);
-
- var bytes = Convert.FromBase64String(text);
-
- var memoryStream = new MemoryStream(bytes)
- {
- Position = 0
- };
+ var memoryStream = await GetMemoryStream(inputStream);
// Handle image/png; charset=utf-8
mimeType = mimeType.Split(';').FirstOrDefault();
@@ -877,16 +869,21 @@ namespace MediaBrowser.Api.Images
entity.UpdateToRepository(ItemUpdateType.ImageUpdate, CancellationToken.None);
}
- public async Task PostImage(User user, Stream inputStream, string mimeType)
+ private static async Task<MemoryStream> GetMemoryStream(Stream inputStream)
{
using var reader = new StreamReader(inputStream);
var text = await reader.ReadToEndAsync().ConfigureAwait(false);
var bytes = Convert.FromBase64String(text);
- var memoryStream = new MemoryStream(bytes)
+ return new MemoryStream(bytes)
{
Position = 0
};
+ }
+
+ private async Task PostImage(User user, Stream inputStream, string mimeType)
+ {
+ var memoryStream = await GetMemoryStream(inputStream);
// Handle image/png; charset=utf-8
mimeType = mimeType.Split(';').FirstOrDefault();
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 672d4fd0c..3feef1d32 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -2760,14 +2760,7 @@ namespace MediaBrowser.Controller.Entities
return this;
}
- foreach (var parent in GetParents())
- {
- if (parent.IsTopParent)
- {
- return parent;
- }
- }
- return null;
+ return GetParents().FirstOrDefault(parent => parent.IsTopParent);
}
[JsonIgnore]