// ========================================================================== // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex UG (haftungsbeschränkt) // All rights reserved. Licensed under the MIT license. // ========================================================================== using System.ComponentModel.DataAnnotations; using System.Linq; using Squidex.Infrastructure.Reflection; using Squidex.Shared.Users; namespace Squidex.Areas.Api.Controllers.Users.Models { public sealed class UserDto { /// /// The id of the user. /// [Required] public string Id { get; set; } /// /// The email of the user. Unique value. /// [Required] public string Email { get; set; } /// /// The display name (usually first name and last name) of the user. /// [Required] public string DisplayName { get; set; } /// /// Determines if the user is locked. /// [Required] public bool IsLocked { get; set; } /// /// Additional permissions for the user. /// [Required] public string[] Permissions { get; set; } public static UserDto FromUser(IUser user) { var permissions = user.Permissions().ToIds().ToArray(); return SimpleMapper.Map(user, new UserDto { DisplayName = user.DisplayName(), Permissions = permissions }); } } }