artify / src /Entities /User.cs
mfoud444's picture
first commit
979b7e4
using System.ComponentModel.DataAnnotations;
using System.Text.Json.Serialization;
namespace Backend_Teamwork.src.Entities
{
public class User
{
public Guid Id { get; set; }
[
Required(ErrorMessage = "Name shouldn't be null"),
MinLength(2, ErrorMessage = "Name should be at at least 2 characters"),
MaxLength(10, ErrorMessage = "Name shouldn't be more than 10 characters")
]
public string Name { get; set; }
[
Required(ErrorMessage = "Phone number shouldn't be null"),
RegularExpression(
@"^\+966[5][0-9]{8}$",
ErrorMessage = "Phone number should be a valid Saudi phone number"
)
]
public string PhoneNumber { get; set; }
[
Required(ErrorMessage = "Email shouldn't be null"),
EmailAddress(ErrorMessage = "Email should be with right format: @gmail.com")
]
public string Email { get; set; }
[
Required(ErrorMessage = "Password shouldn't be null."),
MinLength(8, ErrorMessage = "Password should be at at least 8 characters")
]
public string Password { get; set; }
public string? Description { set; get; }
[Required(ErrorMessage = "Salt shouldn't be null")]
public byte[]? Salt { get; set; }
[Required(ErrorMessage = "Role shouldn't be null")]
public UserRole Role { get; set; } = UserRole.Customer;
[JsonConverter(typeof(JsonStringEnumConverter))]
public enum UserRole
{
Admin,
Customer,
Artist,
}
}
}