This commit is contained in:
Cody Robibero 2024-10-01 14:25:00 -06:00
parent e32937390e
commit 2d00d591bb
5 changed files with 52 additions and 7 deletions

View File

@ -326,15 +326,60 @@ public static class DataObjectHelpers
/// <returns>The modified data object.</returns>
public static Dictionary<string, object> AddSessionInfoData(this Dictionary<string, object> dataObject, SessionInfo sessionInfo)
{
dataObject[nameof(sessionInfo.Id)] = sessionInfo.Id;
if (!string.IsNullOrEmpty(sessionInfo.Id))
{
dataObject[nameof(sessionInfo.Id)] = sessionInfo.Id;
}
dataObject[nameof(sessionInfo.UserId)] = sessionInfo.UserId;
dataObject["NotificationUsername"] = sessionInfo.UserName.Escape();
dataObject[nameof(sessionInfo.Client)] = sessionInfo.Client.Escape();
dataObject[nameof(sessionInfo.LastActivityDate)] = sessionInfo.LastActivityDate;
dataObject[nameof(sessionInfo.LastPlaybackCheckIn)] = sessionInfo.LastPlaybackCheckIn;
dataObject[nameof(sessionInfo.DeviceName)] = sessionInfo.DeviceName.Escape();
dataObject[nameof(sessionInfo.DeviceId)] = sessionInfo.DeviceId;
dataObject[nameof(sessionInfo.RemoteEndPoint)] = sessionInfo.RemoteEndPoint;
if (!string.IsNullOrEmpty(sessionInfo.DeviceId))
{
dataObject[nameof(sessionInfo.DeviceId)] = sessionInfo.DeviceId;
}
if (!string.IsNullOrEmpty(sessionInfo.RemoteEndPoint))
{
dataObject[nameof(sessionInfo.RemoteEndPoint)] = sessionInfo.RemoteEndPoint;
}
return dataObject;
}
/// <summary>
/// Add session info data.
/// </summary>
/// <param name="dataObject">The data object.</param>
/// <param name="sessionInfo">The session info to add.</param>
/// <returns>The modified data object.</returns>
public static Dictionary<string, object> AddSessionInfoData(this Dictionary<string, object> dataObject, SessionInfoDto sessionInfo)
{
if (!string.IsNullOrEmpty(sessionInfo.Id))
{
dataObject[nameof(sessionInfo.Id)] = sessionInfo.Id;
}
dataObject[nameof(sessionInfo.UserId)] = sessionInfo.UserId;
dataObject["NotificationUsername"] = sessionInfo.UserName.Escape();
dataObject[nameof(sessionInfo.Client)] = sessionInfo.Client.Escape();
dataObject[nameof(sessionInfo.LastActivityDate)] = sessionInfo.LastActivityDate;
dataObject[nameof(sessionInfo.LastPlaybackCheckIn)] = sessionInfo.LastPlaybackCheckIn;
dataObject[nameof(sessionInfo.DeviceName)] = sessionInfo.DeviceName.Escape();
if (!string.IsNullOrEmpty(sessionInfo.DeviceId))
{
dataObject[nameof(sessionInfo.DeviceId)] = sessionInfo.DeviceId;
}
if (!string.IsNullOrEmpty(sessionInfo.RemoteEndPoint))
{
dataObject[nameof(sessionInfo.RemoteEndPoint)] = sessionInfo.RemoteEndPoint;
}
return dataObject;
}

View File

@ -19,4 +19,4 @@ public interface IItemDeletedManager
/// </summary>
/// <param name="item">The deleted item.</param>
public void AddItem(BaseItem item);
}
}

View File

@ -50,4 +50,4 @@ public class ItemDeletedNotifierEntryPoint : IHostedService
_libraryManager.ItemRemoved -= ItemDeletedHandler;
return Task.CompletedTask;
}
}
}

View File

@ -68,4 +68,4 @@ public class ItemDeletedScheduledTask : IScheduledTask, IConfigurableScheduledTa
}
};
}
}
}

View File

@ -2,7 +2,7 @@ name: "Webhook"
guid: "71552A5A-5C5C-4350-A2AE-EBE451A30173"
imageUrl: "https://repo.jellyfin.org/releases/plugin/images/jellyfin-plugin-webhook.png"
version: 15
targetAbi: "10.9.7.0"
targetAbi: "10.10.0.0"
framework: "net8.0"
owner: "jellyfin"
overview: "Sends notifications."