Always init ExtensionData & fix BaseInteractionRequestData inheritance

This commit is contained in:
Archangel
2025-08-17 16:10:33 +02:00
parent 24397b0439
commit f96172ac60
309 changed files with 924 additions and 1052 deletions
@@ -5,9 +5,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HandleQTEEventRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
/// <summary>
/// true if QTE was successful, otherwise false
/// </summary>
@@ -8,7 +8,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutArea
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("_id")]
public MongoId Id { get; set; }
@@ -47,7 +47,7 @@ public record HideoutArea
public record HideoutAreaRequirement
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("areaType")]
public int? AreaType { get; set; }
@@ -62,7 +62,7 @@ public record HideoutAreaRequirement
public record Stage
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("autoUpgrade")]
public bool? AutoUpgrade { get; set; }
@@ -101,7 +101,7 @@ public record Stage
public record StageImprovement
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public MongoId Id { get; set; }
@@ -119,7 +119,7 @@ public record StageImprovement
public record StageImprovementBonus
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public MongoId Id { get; set; }
@@ -146,7 +146,7 @@ public record StageImprovementBonus
public record StageImprovementRequirement
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("count")]
public int? Count { get; set; }
@@ -170,7 +170,7 @@ public record StageImprovementRequirement
public record StageRequirement
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("areaType")]
public int? AreaType { get; set; }
@@ -5,9 +5,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutCircleOfCultistProductionStartRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("timestamp")]
public long? Timestamp { get; set; }
}
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutContinuousProductionStartRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("recipeId")]
public MongoId? RecipeId { get; set; }
@@ -19,7 +16,7 @@ public record HideoutContinuousProductionStartRequestData : InventoryBaseActionR
public record HideoutProperties
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
public int? BtcFarmGcs { get; set; }
@@ -7,7 +7,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutCustomisation
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("globals")]
public List<HideoutCustomisationGlobal>? Globals { get; set; }
@@ -19,7 +19,7 @@ public record HideoutCustomisation
public record HideoutCustomisationGlobal
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public string? Id { get; set; }
@@ -46,7 +46,7 @@ public record HideoutCustomisationGlobal
public record HideoutCustomisationSlot
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public string? Id { get; set; }
@@ -5,9 +5,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutCustomizationApplyRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
/// <summary>
/// Id of the newly picked item to apply to hideout
/// </summary>
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutCustomizationSetMannequinPoseRequest : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("poses")]
public Dictionary<MongoId, MongoId>? Poses { get; set; }
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutDeleteProductionRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("recipeId")]
public MongoId RecipeId { get; set; }
@@ -8,9 +8,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutImproveAreaRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
/// <summary>
/// Hideout area id from areas.json
/// </summary>
@@ -7,7 +7,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutProductionData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("recipes")]
public List<HideoutProduction>? Recipes { get; set; }
@@ -22,7 +22,7 @@ public record HideoutProductionData
public record HideoutProduction
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("_id")]
public MongoId Id { get; set; }
@@ -67,7 +67,7 @@ public record HideoutProduction
public record Requirement
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("templateId")]
public MongoId? TemplateId { get; set; }
@@ -106,7 +106,7 @@ public record Requirement
public record ScavRecipe
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("_id")]
public MongoId Id { get; set; }
@@ -124,7 +124,7 @@ public record ScavRecipe
public record EndProducts
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("Common")]
public MinMax<int>? Common { get; set; }
@@ -139,7 +139,7 @@ public record EndProducts
public record CultistRecipe
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("_id")]
public MongoId Id { get; set; }
@@ -7,9 +7,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutPutItemInRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("areaType")]
public HideoutAreas? AreaType { get; set; }
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutScavCaseStartRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("recipeId")]
public MongoId RecipeId { get; set; }
@@ -5,7 +5,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutSettingsBase
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("generatorSpeedWithoutFuel")]
public double? GeneratorSpeedWithoutFuel { get; set; }
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutSingleProductionStartRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("recipeId")]
public MongoId RecipeId { get; set; }
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutTakeItemOutRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("areaType")]
public HideoutAreas? AreaType { get; set; }
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutTakeProductionRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("recipeId")]
public MongoId RecipeId { get; set; }
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutToggleAreaRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("areaType")]
public HideoutAreas? AreaType { get; set; }
@@ -6,9 +6,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutUpgradeCompleteRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("areaType")]
public HideoutAreas? AreaType { get; set; }
@@ -7,9 +7,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record HideoutUpgradeRequestData : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("areaType")]
public HideoutAreas? AreaType { get; set; }
@@ -8,7 +8,7 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record QteData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("id")]
public string? Id { get; set; }
@@ -49,7 +49,7 @@ public record QteData
public record QuickTimeEvent
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("type")]
[JsonConverter(typeof(JsonStringEnumConverter))]
@@ -77,7 +77,7 @@ public record QuickTimeEvent
public record QteRequirement
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("type")]
public RequirementType? RequirementType { get; set; }
@@ -86,7 +86,7 @@ public record QteRequirement
public record QteResult
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("energy")]
public int? Energy { get; set; }
@@ -101,7 +101,7 @@ public record QteResult
public record QteEffect
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("type")]
[JsonConverter(typeof(JsonStringEnumConverter))]
@@ -128,7 +128,7 @@ public record QteEffect
public record SkillLevelMultiplier
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("level")]
public int? Level { get; set; }
@@ -140,7 +140,7 @@ public record SkillLevelMultiplier
public record Position
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
public Dictionary<string, object> ExtensionData { get; init; } = [];
[JsonPropertyName("x")]
public float? X { get; set; }
@@ -5,9 +5,6 @@ namespace SPTarkov.Server.Core.Models.Eft.Hideout;
public record RecordShootingRangePoints : InventoryBaseActionRequestData
{
[JsonExtensionData]
public Dictionary<string, object>? ExtensionData { get; set; }
[JsonPropertyName("points")]
public int? Points { get; set; }
}