using ManagerService.DTOs; using System; using System.ComponentModel.DataAnnotations; using Microsoft.EntityFrameworkCore; namespace ManagerService.Data { /// /// User Information /// [Index(nameof(InstanceId))] public class User : IAuditableEntity { [Key] [Required] /*[BsonId] [BsonRepresentation(MongoDB.Bson.BsonType.ObjectId)]*/ public string Id { get; set; } //[BsonElement("Email")] //[BsonRequired] [Required] public string Email { get; set; } // UNIQUE !.. //[BsonElement("Password")] //[BsonRequired] [Required] public string Password { get; set; } //[BsonElement("FirstName")] //[BsonRequired] public string FirstName { get; set; } //[BsonElement("LastName")] //[BsonRequired] [Required] public string LastName { get; set; } //[BsonElement("Token")] //[BsonRequired] [Required] public string Token { get; set; } //[BsonElement("DateCreation")] public DateTime DateCreation { get; set; } public DateTime DateUpdate { get; set; } /*[BsonElement("InstanceId")] [BsonRequired]*/ [Required] public string InstanceId { get; set; } public UserRole Role { get; set; } = UserRole.ContentEditor; public UserDetailDTO ToDTO() { return new UserDetailDTO() { id = Id, email = Email, firstName = FirstName, lastName = LastName, instanceId = InstanceId, role = Role, }; } } }