using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; using System.Text.Json.Serialization; namespace eprintServer.Entities; [Table("user_customization_steps")] public class UserCustomizationStep { [Column("id")] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public Guid Id { get; set; } [Column("user_customization_id")] public Guid UserCustomizationId { get; set; } [JsonIgnore] public UserCustomization UserCustomization { get; set; } [Column("step_id")] public long StepId { get; set; } [Column("step_order")] public int StepOrder { get; set; } [Column("step_name")] public string StepName { get; set; } = string.Empty; [Column("is_completed")] public bool IsCompleted { get; set; } [Column("completed_at")] public DateTime? CompletedAt { get; set; } [Column("created_at")] public DateTime CreatedAt { get; set; } [Column("updated_at")] public DateTime UpdatedAt { get; set; } public ICollection FieldValues { get; set; } = new List(); public UserMockup UserMockup { get; set; } public UserCustomizationStep() { Id = Guid.NewGuid(); CreatedAt = DateTime.UtcNow; UpdatedAt = DateTime.UtcNow; IsCompleted = false; } }