using System.Collections.Generic; namespace Kyoo.Abstractions.Models { /// /// A single user of the app. /// public class User : IResource, IThumbnails { /// public int ID { get; set; } /// public string Slug { get; set; } /// /// A username displayed to the user. /// public string Username { get; set; } /// /// The user email address. /// public string Email { get; set; } /// /// The user password (hashed, it can't be read like that). The hashing format is implementation defined. /// public string Password { get; set; } /// /// The list of permissions of the user. The format of this is implementation dependent. /// public string[] Permissions { get; set; } /// /// Arbitrary extra data that can be used by specific authentication implementations. /// public Dictionary ExtraData { get; set; } /// public Dictionary Images { get; set; } /// /// The list of shows the user has finished. /// public ICollection Watched { get; set; } /// /// The list of episodes the user is watching (stopped in progress or the next episode of the show) /// public ICollection CurrentlyWatching { get; set; } } /// /// Metadata of episode currently watching by an user /// public class WatchedEpisode { /// /// The ID of the user that started watching this episode. /// public int UserID { get; set; } /// /// The ID of the episode started. /// public int EpisodeID { get; set; } /// /// The started. /// public Episode Episode { get; set; } /// /// Where the player has stopped watching the episode (between 0 and 100). /// public int WatchedPercentage { get; set; } } }