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; }
}
}