// Kyoo - A portable and vast media library solution. // Copyright (c) Kyoo. // // See AUTHORS.md and LICENSE file in the project root for full license information. // // Kyoo is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // any later version. // // Kyoo is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Kyoo. If not, see . using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using Kyoo.Abstractions.Models; using Kyoo.Utils; namespace Kyoo.Authentication.Models.DTO { /// /// A model only used on register requests. /// public class RegisterRequest { /// /// The user email address /// [EmailAddress(ErrorMessage = "The email must be a valid email address")] public string Email { get; set; } /// /// The user's username. /// [MinLength(4, ErrorMessage = "The username must have at least {1} characters")] public string Username { get; set; } /// /// The user's password. /// [MinLength(8, ErrorMessage = "The password must have at least {1} characters")] public string Password { get; set; } /// /// Convert this register request to a new class. /// /// A user representing this request. public User ToUser() { return new User { Slug = Utility.ToSlug(Username), Username = Username, Password = Password, Email = Email, ExtraData = new Dictionary() }; } } }