Create wrapper for SptMod with assembly and package.json

This commit is contained in:
CWX
2025-02-07 21:20:53 +00:00
parent c7aea64a34
commit d6925e492c
5 changed files with 127 additions and 30 deletions
@@ -4,118 +4,99 @@ namespace Core.Models.Spt.Mod;
public record PackageJsonData
{
[JsonPropertyName("incompatibilities")]
public List<string>? Incompatibilities
{
get;
set;
}
[JsonPropertyName("loadBefore")]
public List<string>? LoadBefore
{
get;
set;
}
[JsonPropertyName("loadAfter")]
public List<string>? LoadAfter
{
get;
set;
}
[JsonPropertyName("dependencies")]
public Dictionary<string, string>? Dependencies
{
get;
set;
}
[JsonPropertyName("modDependencies")]
public Dictionary<string, string>? ModDependencies
{
get;
set;
}
[JsonPropertyName("name")]
public string? Name
{
get;
set;
}
[JsonPropertyName("url")]
public string? Url
{
get;
set;
}
[JsonPropertyName("author")]
public string? Author
{
get;
set;
}
[JsonPropertyName("version")]
public string? Version
{
get;
set;
}
[JsonPropertyName("sptVersion")]
public string? SptVersion
{
get;
set;
}
// We deliberately purge this data
[JsonPropertyName("scripts")]
public Dictionary<string, string>? Scripts
{
get;
set;
}
[JsonPropertyName("devDependencies")]
public Dictionary<string, string>? DevDependencies
{
get;
set;
}
[JsonPropertyName("licence")]
public string? Licence
{
get;
set;
}
[JsonPropertyName("main")]
public string? Main
{
get;
set;
}
[JsonPropertyName("isBundleMod")]
public bool? IsBundleMod
{
get;
set;
}
[JsonPropertyName("contributors")]
public List<string>? Contributors
{
get;
set;
}
}
// TODO: this will need changing to however we implement it in this project
+13
View File
@@ -0,0 +1,13 @@
using System.Reflection;
using System.Text.Json.Serialization;
namespace Core.Models.Spt.Mod;
public class SptMod
{
[JsonPropertyName("PackageJson")]
public PackageJsonData PackageJson { get; set; }
[JsonPropertyName("Assembly")]
public Assembly Assembly { get; set; }
}