using System.ComponentModel.DataAnnotations; using MoonlightServers.Api.Infrastructure.Database.Json; namespace MoonlightServers.Api.Infrastructure.Database.Entities; public class Template { public int Id { get; set; } // Meta [MaxLength(30)] public string Name { get; set; } [MaxLength(255)] public string Description { get; set; } [MaxLength(30)] public string Author { get; set; } [MaxLength(30)] public string Version { get; set; } [MaxLength(2048)] public string? UpdateUrl { get; set; } [MaxLength(2048)] public string? DonateUrl { get; set; } // JSON Options public FilesConfig FilesConfig { get; set; } public LifecycleConfig LifecycleConfig { get; set; } public InstallationConfig InstallationConfig { get; set; } public MiscellaneousConfig MiscellaneousConfig { get; set; } // Docker Images public bool AllowUserDockerImageChange { get; set; } public TemplateDockerImage? DefaultDockerImage { get; set; } public List DockerImages { get; set; } = new(); // Variables public List Variables { get; set; } = new(); }