using System;
using System.ComponentModel.DataAnnotations.Schema;
namespace Jellyfin.Data.Entities;
///
/// Provides and related data.
///
public class UserData
{
///
/// Gets or sets the custom data key.
///
/// The rating.
public required string CustomDataKey { get; set; }
///
/// Gets or sets the users 0-10 rating.
///
/// The rating.
public double? Rating { get; set; }
///
/// Gets or sets the playback position ticks.
///
/// The playback position ticks.
public long PlaybackPositionTicks { get; set; }
///
/// Gets or sets the play count.
///
/// The play count.
public int PlayCount { get; set; }
///
/// Gets or sets a value indicating whether this instance is favorite.
///
/// true if this instance is favorite; otherwise, false.
public bool IsFavorite { get; set; }
///
/// Gets or sets the last played date.
///
/// The last played date.
public DateTime? LastPlayedDate { get; set; }
///
/// Gets or sets a value indicating whether this is played.
///
/// true if played; otherwise, false.
public bool Played { get; set; }
///
/// Gets or sets the index of the audio stream.
///
/// The index of the audio stream.
public int? AudioStreamIndex { get; set; }
///
/// Gets or sets the index of the subtitle stream.
///
/// The index of the subtitle stream.
public int? SubtitleStreamIndex { get; set; }
///
/// Gets or sets a value indicating whether the item is liked or not.
/// This should never be serialized.
///
/// null if [likes] contains no value, true if [likes]; otherwise, false.
public bool? Likes { get; set; }
///
/// Gets or sets the key.
///
/// The key.
public required Guid ItemId { get; set; }
///
/// Gets or Sets the BaseItem.
///
public required BaseItemEntity? Item { get; set; }
///
/// Gets or Sets the UserId.
///
public required Guid UserId { get; set; }
///
/// Gets or Sets the User.
///
public required User? User { get; set; }
}