43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
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<TemplateDockerImage> DockerImages { get; set; } = new();
|
|
|
|
// Variables
|
|
public List<TemplateVariable> Variables { get; set; } = new();
|
|
} |