using System; using System.Collections.Generic; using System.Text.Json.Serialization; namespace Jellyfin.Plugin.MovieNight.Services; /// /// Event payload sent to MovieNight. /// /// Idempotency key. /// Event type. /// Event timestamp. /// Jellyfin user id. /// Jellyfin item id. /// Payload version. /// Extra event data. public sealed record MovieNightEventPayload( [property: JsonPropertyName("event_id")] string EventId, [property: JsonPropertyName("event_type")] string EventType, [property: JsonPropertyName("occurred_at")] DateTimeOffset OccurredAt, [property: JsonPropertyName("jellyfin_user_id")] string JellyfinUserId, [property: JsonPropertyName("item_id")] string ItemId, [property: JsonPropertyName("payload_version")] int PayloadVersion, [property: JsonPropertyName("payload")] IReadOnlyDictionary Payload);