using System.Collections.Generic; using Kyoo.Common.Models.Attributes; namespace Kyoo.Models { /// /// A single user of the app. /// public class User : IResource { /// 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; } /// /// 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; } #if ENABLE_INTERNAL_LINKS /// /// Links between Users and Shows. /// [Link] public ICollection> ShowLinks { get; set; } #endif } /// /// Metadata of episode currently watching by an user /// public class WatchedEpisode : Link { /// /// Where the player has stopped watching the episode (-1 if not started, else between 0 and 100). /// public int WatchedPercentage { get; set; } } }