diff --git a/Libraries/Core/DI/Router.cs b/Libraries/Core/DI/Router.cs index 0c17164e..ce09ddb4 100644 --- a/Libraries/Core/DI/Router.cs +++ b/Libraries/Core/DI/Router.cs @@ -1,4 +1,5 @@ using Core.Models.Eft.Common; +using Core.Models.Eft.Common.Request; using Core.Models.Eft.ItemEvent; using Core.Models.Eft.Profile; using Core.Models.Utils; @@ -102,7 +103,7 @@ public abstract class ItemEventRouterDefinition : Router { public abstract Task? HandleItemEvent(string url, PmcData pmcData, - object body, + BaseInteractionRequestData body, string sessionID, ItemEventRouterResponse output); } diff --git a/Libraries/Core/Models/Eft/ItemEvent/ItemEventRouterRequest.cs b/Libraries/Core/Models/Eft/ItemEvent/ItemEventRouterRequest.cs index e03276e8..3d7fb750 100644 --- a/Libraries/Core/Models/Eft/ItemEvent/ItemEventRouterRequest.cs +++ b/Libraries/Core/Models/Eft/ItemEvent/ItemEventRouterRequest.cs @@ -1,4 +1,5 @@ using System.Text.Json.Serialization; +using Core.Models.Eft.Common.Request; using Core.Models.Eft.Common.Tables; using Core.Models.Utils; @@ -7,7 +8,7 @@ namespace Core.Models.Eft.ItemEvent; public record ItemEventRouterRequest : IRequestData { [JsonPropertyName("data")] - public List? Data { get; set; } + public List? Data { get; set; } [JsonPropertyName("tm")] public int? Time { get; set; } diff --git a/Libraries/Core/Routers/ItemEvents/CustomizationItemEventRouter.cs b/Libraries/Core/Routers/ItemEvents/CustomizationItemEventRouter.cs index bf94fb84..f9599509 100644 --- a/Libraries/Core/Routers/ItemEvents/CustomizationItemEventRouter.cs +++ b/Libraries/Core/Routers/ItemEvents/CustomizationItemEventRouter.cs @@ -2,6 +2,7 @@ using SptCommon.Annotations; using Core.Callbacks; using Core.DI; using Core.Models.Eft.Common; +using Core.Models.Eft.Common.Request; using Core.Models.Eft.Customization; using Core.Models.Eft.ItemEvent; using Core.Models.Utils; @@ -33,7 +34,7 @@ public class CustomizationItemEventRouter : ItemEventRouterDefinition }; } - public override Task HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output) + public override Task HandleItemEvent(string url, PmcData pmcData, BaseInteractionRequestData body, string sessionID, ItemEventRouterResponse output) { switch (url) { diff --git a/Libraries/Core/Routers/ItemEvents/HealthItemEventRouter.cs b/Libraries/Core/Routers/ItemEvents/HealthItemEventRouter.cs index 8282713c..796b727a 100644 --- a/Libraries/Core/Routers/ItemEvents/HealthItemEventRouter.cs +++ b/Libraries/Core/Routers/ItemEvents/HealthItemEventRouter.cs @@ -2,6 +2,7 @@ using SptCommon.Annotations; using Core.Callbacks; using Core.DI; using Core.Models.Eft.Common; +using Core.Models.Eft.Common.Request; using Core.Models.Eft.Health; using Core.Models.Eft.ItemEvent; @@ -30,7 +31,7 @@ public class HealthItemEventRouter : ItemEventRouterDefinition ]; } - public override Task HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output) + public override Task HandleItemEvent(string url, PmcData pmcData, BaseInteractionRequestData body, string sessionID, ItemEventRouterResponse output) { switch (url) { diff --git a/Libraries/Core/Routers/ItemEvents/HideoutItemEventRouter.cs b/Libraries/Core/Routers/ItemEvents/HideoutItemEventRouter.cs index 17a228c3..5a37a0cb 100644 --- a/Libraries/Core/Routers/ItemEvents/HideoutItemEventRouter.cs +++ b/Libraries/Core/Routers/ItemEvents/HideoutItemEventRouter.cs @@ -2,6 +2,7 @@ using SptCommon.Annotations; using Core.Callbacks; using Core.DI; using Core.Models.Eft.Common; +using Core.Models.Eft.Common.Request; using Core.Models.Eft.Hideout; using Core.Models.Eft.ItemEvent; using Core.Models.Enums; @@ -43,7 +44,7 @@ public class HideoutItemEventRouter : ItemEventRouterDefinition ]; } - public override Task HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output) + public override Task HandleItemEvent(string url, PmcData pmcData, BaseInteractionRequestData body, string sessionID, ItemEventRouterResponse output) { switch (url) { case HideoutEventActions.HIDEOUT_UPGRADE: diff --git a/Libraries/Core/Routers/ItemEvents/InsuranceItemEventRouter.cs b/Libraries/Core/Routers/ItemEvents/InsuranceItemEventRouter.cs index 2c1a6be4..df170d1d 100644 --- a/Libraries/Core/Routers/ItemEvents/InsuranceItemEventRouter.cs +++ b/Libraries/Core/Routers/ItemEvents/InsuranceItemEventRouter.cs @@ -2,6 +2,7 @@ using SptCommon.Annotations; using Core.Callbacks; using Core.DI; using Core.Models.Eft.Common; +using Core.Models.Eft.Common.Request; using Core.Models.Eft.Insurance; using Core.Models.Eft.ItemEvent; @@ -28,7 +29,7 @@ public class InsuranceItemEventRouter : ItemEventRouterDefinition }; } - public override Task HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output) + public override Task HandleItemEvent(string url, PmcData pmcData, BaseInteractionRequestData body, string sessionID, ItemEventRouterResponse output) { switch (url) { diff --git a/Libraries/Core/Routers/ItemEvents/InventoryItemEventRouter.cs b/Libraries/Core/Routers/ItemEvents/InventoryItemEventRouter.cs index 8dcf6251..7c6f64c1 100644 --- a/Libraries/Core/Routers/ItemEvents/InventoryItemEventRouter.cs +++ b/Libraries/Core/Routers/ItemEvents/InventoryItemEventRouter.cs @@ -2,6 +2,7 @@ using SptCommon.Annotations; using Core.Callbacks; using Core.DI; using Core.Models.Eft.Common; +using Core.Models.Eft.Common.Request; using Core.Models.Eft.Hideout; using Core.Models.Eft.Inventory; using Core.Models.Eft.ItemEvent; @@ -56,7 +57,7 @@ public class InventoryItemEventRouter : ItemEventRouterDefinition }; } - public override Task HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output) + public override Task HandleItemEvent(string url, PmcData pmcData, BaseInteractionRequestData body, string sessionID, ItemEventRouterResponse output) { switch (url) { case ItemEventActions.MOVE: diff --git a/Libraries/Core/Routers/ItemEvents/NoteItemEventRouter.cs b/Libraries/Core/Routers/ItemEvents/NoteItemEventRouter.cs index 2d90c42e..ba68f7eb 100644 --- a/Libraries/Core/Routers/ItemEvents/NoteItemEventRouter.cs +++ b/Libraries/Core/Routers/ItemEvents/NoteItemEventRouter.cs @@ -2,6 +2,7 @@ using SptCommon.Annotations; using Core.Callbacks; using Core.DI; using Core.Models.Eft.Common; +using Core.Models.Eft.Common.Request; using Core.Models.Eft.ItemEvent; using Core.Models.Eft.Notes; @@ -30,7 +31,7 @@ public class NoteItemEventRouter : ItemEventRouterDefinition }; } - public override Task HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output) + public override Task HandleItemEvent(string url, PmcData pmcData, BaseInteractionRequestData body, string sessionID, ItemEventRouterResponse output) { switch (url) { diff --git a/Libraries/Core/Routers/ItemEvents/QuestItemEventRouter.cs b/Libraries/Core/Routers/ItemEvents/QuestItemEventRouter.cs index d9281c85..a27aabca 100644 --- a/Libraries/Core/Routers/ItemEvents/QuestItemEventRouter.cs +++ b/Libraries/Core/Routers/ItemEvents/QuestItemEventRouter.cs @@ -2,6 +2,7 @@ using SptCommon.Annotations; using Core.Callbacks; using Core.DI; using Core.Models.Eft.Common; +using Core.Models.Eft.Common.Request; using Core.Models.Eft.ItemEvent; using Core.Models.Eft.Quests; @@ -32,7 +33,7 @@ public class QuestItemEventRouter : ItemEventRouterDefinition }; } - public override Task HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output) + public override Task HandleItemEvent(string url, PmcData pmcData, BaseInteractionRequestData body, string sessionID, ItemEventRouterResponse output) { switch (url) { case "QuestAccept": diff --git a/Libraries/Core/Routers/ItemEvents/RagfairItemEventRouter.cs b/Libraries/Core/Routers/ItemEvents/RagfairItemEventRouter.cs index 3cfa262d..80205f24 100644 --- a/Libraries/Core/Routers/ItemEvents/RagfairItemEventRouter.cs +++ b/Libraries/Core/Routers/ItemEvents/RagfairItemEventRouter.cs @@ -2,6 +2,7 @@ using SptCommon.Annotations; using Core.Callbacks; using Core.DI; using Core.Models.Eft.Common; +using Core.Models.Eft.Common.Request; using Core.Models.Eft.ItemEvent; using Core.Models.Eft.Ragfair; @@ -30,7 +31,7 @@ public class RagfairItemEventRouter : ItemEventRouterDefinition }; } - public override Task HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output) + public override Task HandleItemEvent(string url, PmcData pmcData, BaseInteractionRequestData body, string sessionID, ItemEventRouterResponse output) { switch (url) { case "RagFairAddOffer": diff --git a/Libraries/Core/Routers/ItemEvents/RepairItemEventRouter.cs b/Libraries/Core/Routers/ItemEvents/RepairItemEventRouter.cs index e46990b8..6eec5201 100644 --- a/Libraries/Core/Routers/ItemEvents/RepairItemEventRouter.cs +++ b/Libraries/Core/Routers/ItemEvents/RepairItemEventRouter.cs @@ -2,6 +2,7 @@ using SptCommon.Annotations; using Core.Callbacks; using Core.DI; using Core.Models.Eft.Common; +using Core.Models.Eft.Common.Request; using Core.Models.Eft.ItemEvent; using Core.Models.Eft.Repair; @@ -29,7 +30,7 @@ public class RepairItemEventRouter : ItemEventRouterDefinition }; } - public override Task HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output) + public override Task HandleItemEvent(string url, PmcData pmcData, BaseInteractionRequestData body, string sessionID, ItemEventRouterResponse output) { switch (url) { case "Repair": diff --git a/Libraries/Core/Routers/ItemEvents/TradeItemEventRouter.cs b/Libraries/Core/Routers/ItemEvents/TradeItemEventRouter.cs index 511a9d18..fe9fbe98 100644 --- a/Libraries/Core/Routers/ItemEvents/TradeItemEventRouter.cs +++ b/Libraries/Core/Routers/ItemEvents/TradeItemEventRouter.cs @@ -2,6 +2,7 @@ using SptCommon.Annotations; using Core.Callbacks; using Core.DI; using Core.Models.Eft.Common; +using Core.Models.Eft.Common.Request; using Core.Models.Eft.ItemEvent; using Core.Models.Eft.Trade; @@ -30,7 +31,7 @@ public class TradeItemEventRouter : ItemEventRouterDefinition }; } - public override Task HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output) + public override Task HandleItemEvent(string url, PmcData pmcData, BaseInteractionRequestData body, string sessionID, ItemEventRouterResponse output) { switch (url) { case "TradingConfirm": diff --git a/Libraries/Core/Routers/ItemEvents/WishlistItemEventRouter.cs b/Libraries/Core/Routers/ItemEvents/WishlistItemEventRouter.cs index 52db5545..8cfba847 100644 --- a/Libraries/Core/Routers/ItemEvents/WishlistItemEventRouter.cs +++ b/Libraries/Core/Routers/ItemEvents/WishlistItemEventRouter.cs @@ -2,6 +2,7 @@ using SptCommon.Annotations; using Core.Callbacks; using Core.DI; using Core.Models.Eft.Common; +using Core.Models.Eft.Common.Request; using Core.Models.Eft.ItemEvent; using Core.Models.Eft.Wishlist; @@ -30,7 +31,7 @@ public class WishlistItemEventRouter : ItemEventRouterDefinition }; } - public override Task HandleItemEvent(string url, PmcData pmcData, object body, string sessionID, ItemEventRouterResponse output) + public override Task HandleItemEvent(string url, PmcData pmcData, BaseInteractionRequestData body, string sessionID, ItemEventRouterResponse output) { switch (url) { diff --git a/Libraries/Core/Utils/Json/Converters/BaseInteractionRequestDataConverter.cs b/Libraries/Core/Utils/Json/Converters/BaseInteractionRequestDataConverter.cs index 815231a0..bd749049 100644 --- a/Libraries/Core/Utils/Json/Converters/BaseInteractionRequestDataConverter.cs +++ b/Libraries/Core/Utils/Json/Converters/BaseInteractionRequestDataConverter.cs @@ -158,8 +158,7 @@ public class BaseInteractionRequestDataConverter : JsonConverter(jsonText, options); default: - // bitch - + throw new Exception($"Unhandled action type {value.Action}, make sure the BaseInteractionRequestDataConverter has the deserialization for this action handled."); } } diff --git a/Libraries/Core/Utils/JsonUtil.cs b/Libraries/Core/Utils/JsonUtil.cs index 71229fd1..6c33e383 100644 --- a/Libraries/Core/Utils/JsonUtil.cs +++ b/Libraries/Core/Utils/JsonUtil.cs @@ -30,7 +30,8 @@ public class JsonUtil new EftEnumConverter(), new EftEnumConverter(), new EftEnumConverter(), - new EftEnumConverter() + new EftEnumConverter(), + new BaseInteractionRequestDataConverter() } }; private static readonly JsonSerializerOptions jsonSerializerOptionsIndented = new(jsonSerializerOptionsNoIndent)