LANCommander/LANCommander.Server.Data/Models/Script.cs
Pat Hartl 120e14d40c Add Tools section to server app
Allows users to upload additional tools and tie them to games. This can be useful for software like map editors, trainers, etc.
2026-02-08 02:24:53 -06:00

42 lines
1.3 KiB
C#

using LANCommander.SDK.Enums;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json.Serialization;
namespace LANCommander.Server.Data.Models
{
[Table("Scripts")]
public class Script : BaseModel
{
[Required]
public string Name { get; set; }
public string? Description { get; set; }
public ScriptType Type { get; set; }
public string Contents { get; set; }
public bool RequiresAdmin { get; set; }
public Guid? GameId { get; set; }
[JsonIgnore]
[ForeignKey(nameof(GameId))]
[InverseProperty("Scripts")]
public Game? Game { get; set; }
public Guid? RedistributableId { get; set; }
[JsonIgnore]
[ForeignKey(nameof(RedistributableId))]
[InverseProperty("Scripts")]
public Redistributable? Redistributable { get; set; }
public Guid? ToolId { get; set; }
[JsonIgnore]
[ForeignKey(nameof(ToolId))]
[InverseProperty("Scripts")]
public Tool? Tool { get; set; }
public Guid? ServerId { get; set; }
[JsonIgnore]
[ForeignKey(nameof(ServerId))]
[InverseProperty("Scripts")]
public Server? Server { get; set; }
}
}