SeemGen/Models/FormDefinition.cs

36 lines
904 B
C#

using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BLAIzor.Models
{
public class FormDefinition
{
[Key]
public int Id { get; set; }
[Required]
public int SiteInfoId { get; set; }
[Required]
[MaxLength(100)]
public string Title { get; set; } = "";
[Required]
[MaxLength(100)]
public string Slug { get; set; } = ""; // URL-friendly ID like "contact-form"
public string? Description { get; set; }
[Required]
public string JsonDefinition { get; set; } = ""; // serialized List<FormFieldGroup>
public int Version { get; set; } = 1;
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
[ForeignKey(nameof(SiteInfoId))]
public SiteInfo SiteInfo { get; set; } = default!;
}
}