using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Runtime.Serialization; namespace Umbraco.Web.Models.ContentEditing { /// /// Represents information for the current user /// [DataContract(Name = "user", Namespace = "")] public class UserDetail : UserProfile { [DataMember(Name = "email", IsRequired = true)] [Required] public string Email { get; set; } [DataMember(Name = "locale", IsRequired = true)] [Required] public string Culture { get; set; } /// /// The MD5 lowercase hash of the email which can be used by gravatar /// [DataMember(Name = "emailHash")] public string EmailHash { get; set; } [ReadOnly(true)] [DataMember(Name = "userGroups")] public string[] UserGroups { get; set; } /// /// Gets/sets the number of seconds for the user's auth ticket to expire /// [DataMember(Name = "remainingAuthSeconds")] public double SecondsUntilTimeout { get; set; } /// /// The user's calculated start nodes based on the start nodes they have assigned directly to them and via the groups they're assigned to /// [DataMember(Name = "startContentIds")] public int[] StartContentIds { get; set; } /// /// The user's calculated start nodes based on the start nodes they have assigned directly to them and via the groups they're assigned to /// [DataMember(Name = "startMediaIds")] public int[] StartMediaIds { get; set; } /// /// Returns a list of different size avatars /// [DataMember(Name = "avatars")] public string[] Avatars { get; set; } /// /// A list of sections the user is allowed to view. /// [DataMember(Name = "allowedSections")] public IEnumerable AllowedSections { get; set; } } }