From b7ec4eb7150a5fc93b6f0b8993e1b25a7762f662 Mon Sep 17 00:00:00 2001 From: Cj <161484149+CJ-SPT@users.noreply.github.com> Date: Tue, 7 Jan 2025 06:22:07 -0500 Subject: [PATCH] Types go brrr --- Core/Controllers/BotController.cs | 3 + Core/Controllers/InRaidController.cs | 2 + Core/Controllers/RepairController.cs | 1 + Core/Controllers/TradeController.cs | 1 + Core/Controllers/WeatherController.cs | 3 + Core/Controllers/WishlistController.cs | 3 +- .../Models/Eft/Ragfair/AddOfferRequestData.cs | 36 ++++++++ .../Eft/Ragfair/ExtendOfferRequestData.cs | 12 +++ Core/Models/Eft/Ragfair/GetItemPriceResult.cs | 10 +++ .../Eft/Ragfair/GetMarketPriceRequestData.cs | 9 ++ Core/Models/Eft/Ragfair/GetOffersResult.cs | 18 ++++ .../Eft/Ragfair/GetRagfairOfferByIdRequest.cs | 9 ++ .../Eft/Ragfair/RemoveOfferRequestData.cs | 12 +++ Core/Models/Eft/Ragfair/SearchRequestData.cs | 87 +++++++++++++++++++ .../Ragfair/SendRagfairReportRequestData.cs | 9 ++ .../StorePlayerOfferTaxAmountRequestData.cs | 18 ++++ .../Eft/Repair/BaseRepairActionDataRequest.cs | 9 ++ .../Eft/Repair/RepairActionDataRequest.cs | 24 +++++ .../Repair/TraderRepairActionDataRequest.cs | 24 +++++ 19 files changed, 289 insertions(+), 1 deletion(-) create mode 100644 Core/Models/Eft/Ragfair/AddOfferRequestData.cs create mode 100644 Core/Models/Eft/Ragfair/ExtendOfferRequestData.cs create mode 100644 Core/Models/Eft/Ragfair/GetItemPriceResult.cs create mode 100644 Core/Models/Eft/Ragfair/GetMarketPriceRequestData.cs create mode 100644 Core/Models/Eft/Ragfair/GetOffersResult.cs create mode 100644 Core/Models/Eft/Ragfair/GetRagfairOfferByIdRequest.cs create mode 100644 Core/Models/Eft/Ragfair/RemoveOfferRequestData.cs create mode 100644 Core/Models/Eft/Ragfair/SearchRequestData.cs create mode 100644 Core/Models/Eft/Ragfair/SendRagfairReportRequestData.cs create mode 100644 Core/Models/Eft/Ragfair/StorePlayerOfferTaxAmountRequestData.cs create mode 100644 Core/Models/Eft/Repair/BaseRepairActionDataRequest.cs create mode 100644 Core/Models/Eft/Repair/RepairActionDataRequest.cs create mode 100644 Core/Models/Eft/Repair/TraderRepairActionDataRequest.cs diff --git a/Core/Controllers/BotController.cs b/Core/Controllers/BotController.cs index 1b3a809a..36cfed34 100644 --- a/Core/Controllers/BotController.cs +++ b/Core/Controllers/BotController.cs @@ -1,7 +1,10 @@ using Core.Models.Common; +using Core.Models.Eft.Bot; using Core.Models.Eft.Common; using Core.Models.Eft.Common.Tables; +using Core.Models.Spt.Bots; using Core.Models.Spt.Config; +using Condition = Core.Models.Spt.Config.Condition; namespace Core.Controllers; diff --git a/Core/Controllers/InRaidController.cs b/Core/Controllers/InRaidController.cs index 1644f02f..4d6c6331 100644 --- a/Core/Controllers/InRaidController.cs +++ b/Core/Controllers/InRaidController.cs @@ -1,3 +1,5 @@ +using Core.Models.Eft.InRaid; + namespace Core.Controllers; public class InRaidController diff --git a/Core/Controllers/RepairController.cs b/Core/Controllers/RepairController.cs index 8e7bd9bf..2d20c78c 100644 --- a/Core/Controllers/RepairController.cs +++ b/Core/Controllers/RepairController.cs @@ -1,5 +1,6 @@ using Core.Models.Eft.Common; using Core.Models.Eft.ItemEvent; +using Core.Models.Eft.Repair; namespace Core.Controllers; diff --git a/Core/Controllers/TradeController.cs b/Core/Controllers/TradeController.cs index 4e77b46e..fbccc2af 100644 --- a/Core/Controllers/TradeController.cs +++ b/Core/Controllers/TradeController.cs @@ -2,6 +2,7 @@ using Core.Models.Eft.Common; using Core.Models.Eft.Common.Tables; using Core.Models.Eft.ItemEvent; using Core.Models.Eft.Ragfair; +using Core.Models.Eft.Trade; using Core.Models.Enums; namespace Core.Controllers; diff --git a/Core/Controllers/WeatherController.cs b/Core/Controllers/WeatherController.cs index a5ab2d39..4ea99924 100644 --- a/Core/Controllers/WeatherController.cs +++ b/Core/Controllers/WeatherController.cs @@ -1,3 +1,6 @@ +using Core.Models.Eft.Weather; +using Core.Models.Spt.Weather; + namespace Core.Controllers; public class WeatherController diff --git a/Core/Controllers/WishlistController.cs b/Core/Controllers/WishlistController.cs index 6178c8b6..d9545b66 100644 --- a/Core/Controllers/WishlistController.cs +++ b/Core/Controllers/WishlistController.cs @@ -1,5 +1,6 @@ using Core.Models.Eft.Common; using Core.Models.Eft.ItemEvent; +using Core.Models.Eft.Wishlist; namespace Core.Controllers; @@ -14,7 +15,7 @@ public class WishlistController /// public ItemEventRouterResponse AddToWishList( PmcData pmcData, - AddItemToWishlistRequest request, + AddToWishlistRequest request, string sessionId) { throw new NotImplementedException(); diff --git a/Core/Models/Eft/Ragfair/AddOfferRequestData.cs b/Core/Models/Eft/Ragfair/AddOfferRequestData.cs new file mode 100644 index 00000000..2de8c102 --- /dev/null +++ b/Core/Models/Eft/Ragfair/AddOfferRequestData.cs @@ -0,0 +1,36 @@ +using System.Text.Json.Serialization; + +namespace Core.Models.Eft.Ragfair; + +public class AddOfferRequestData +{ + [JsonPropertyName("Action")] + public string Action { get; set; } + + [JsonPropertyName("sellInOnePiece")] + public bool SellInOnePiece { get; set; } + + [JsonPropertyName("items")] + public List Items { get; set; } + + [JsonPropertyName("requirements")] + public List Requirements { get; set; } +} + +public class Requirement +{ + [JsonPropertyName("_tpl")] + public string Template { get; set; } + + [JsonPropertyName("count")] + public int Count { get; set; } + + [JsonPropertyName("level")] + public int Level { get; set; } + + [JsonPropertyName("side")] + public int Side { get; set; } + + [JsonPropertyName("onlyFunctional")] + public bool OnlyFunctional { get; set; } +} \ No newline at end of file diff --git a/Core/Models/Eft/Ragfair/ExtendOfferRequestData.cs b/Core/Models/Eft/Ragfair/ExtendOfferRequestData.cs new file mode 100644 index 00000000..ffb29d65 --- /dev/null +++ b/Core/Models/Eft/Ragfair/ExtendOfferRequestData.cs @@ -0,0 +1,12 @@ +using System.Text.Json.Serialization; + +namespace Core.Models.Eft.Ragfair; + +public class ExtendOfferRequestData +{ + [JsonPropertyName("offerId")] + public string OfferId { get; set; } + + [JsonPropertyName("renewalTime")] + public int RenewalTime { get; set; } +} \ No newline at end of file diff --git a/Core/Models/Eft/Ragfair/GetItemPriceResult.cs b/Core/Models/Eft/Ragfair/GetItemPriceResult.cs new file mode 100644 index 00000000..43d8ea66 --- /dev/null +++ b/Core/Models/Eft/Ragfair/GetItemPriceResult.cs @@ -0,0 +1,10 @@ +using System.Text.Json.Serialization; +using Core.Models.Common; + +namespace Core.Models.Eft.Ragfair; + +public class GetItemPriceResult : MinMax +{ + [JsonPropertyName("avg")] + public int Avg { get; set; } +} \ No newline at end of file diff --git a/Core/Models/Eft/Ragfair/GetMarketPriceRequestData.cs b/Core/Models/Eft/Ragfair/GetMarketPriceRequestData.cs new file mode 100644 index 00000000..df4c7b03 --- /dev/null +++ b/Core/Models/Eft/Ragfair/GetMarketPriceRequestData.cs @@ -0,0 +1,9 @@ +using System.Text.Json.Serialization; + +namespace Core.Models.Eft.Ragfair; + +public class GetMarketPriceRequestData +{ + [JsonPropertyName("templateId")] + public string TemplateId { get; set; } +} \ No newline at end of file diff --git a/Core/Models/Eft/Ragfair/GetOffersResult.cs b/Core/Models/Eft/Ragfair/GetOffersResult.cs new file mode 100644 index 00000000..b464da73 --- /dev/null +++ b/Core/Models/Eft/Ragfair/GetOffersResult.cs @@ -0,0 +1,18 @@ +using System.Text.Json.Serialization; + +namespace Core.Models.Eft.Ragfair; + +public class GetOffersResult +{ + [JsonPropertyName("categories")] + public Dictionary? Categories { get; set; } + + [JsonPropertyName("offers")] + public List Offers { get; set; } + + [JsonPropertyName("offersCount")] + public int OffersCount { get; set; } + + [JsonPropertyName("selectedCategory")] + public string SelectedCategory { get; set; } +} \ No newline at end of file diff --git a/Core/Models/Eft/Ragfair/GetRagfairOfferByIdRequest.cs b/Core/Models/Eft/Ragfair/GetRagfairOfferByIdRequest.cs new file mode 100644 index 00000000..74bef8b2 --- /dev/null +++ b/Core/Models/Eft/Ragfair/GetRagfairOfferByIdRequest.cs @@ -0,0 +1,9 @@ +using System.Text.Json.Serialization; + +namespace Core.Models.Eft.Ragfair; + +public class GetRagfairOfferByIdRequest +{ + [JsonPropertyName("id")] + public int Id { get; set; } +} \ No newline at end of file diff --git a/Core/Models/Eft/Ragfair/RemoveOfferRequestData.cs b/Core/Models/Eft/Ragfair/RemoveOfferRequestData.cs new file mode 100644 index 00000000..f54a1b3b --- /dev/null +++ b/Core/Models/Eft/Ragfair/RemoveOfferRequestData.cs @@ -0,0 +1,12 @@ +using System.Text.Json.Serialization; + +namespace Core.Models.Eft.Ragfair; + +public class RemoveOfferRequestData +{ + [JsonPropertyName("Action")] + public string Action { get; set; } + + [JsonPropertyName("offerId")] + public string OfferId { get; set; } +} \ No newline at end of file diff --git a/Core/Models/Eft/Ragfair/SearchRequestData.cs b/Core/Models/Eft/Ragfair/SearchRequestData.cs new file mode 100644 index 00000000..35928abf --- /dev/null +++ b/Core/Models/Eft/Ragfair/SearchRequestData.cs @@ -0,0 +1,87 @@ +using System.Text.Json.Serialization; + +namespace Core.Models.Eft.Ragfair; + +public class SearchRequestData +{ + [JsonPropertyName("page")] + public int Page { get; set; } + + [JsonPropertyName("limit")] + public int Limit { get; set; } + + [JsonPropertyName("sortType")] + public RagfairSort SortType { get; set; } + + [JsonPropertyName("sortDirection")] + public int SortDirection { get; set; } + + [JsonPropertyName("currency")] + public int Currency { get; set; } + + [JsonPropertyName("priceFrom")] + public int PriceFrom { get; set; } + + [JsonPropertyName("priceTo")] + public int PriceTo { get; set; } + + [JsonPropertyName("quantityFrom")] + public int QuantityFrom { get; set; } + + [JsonPropertyName("quantityTo")] + public int QuantityTo { get; set; } + + [JsonPropertyName("conditionFrom")] + public int ConditionFrom { get; set; } + + [JsonPropertyName("conditionTo")] + public int ConditionTo { get; set; } + + [JsonPropertyName("oneHourExpiration")] + public bool OneHourExpiration { get; set; } + + [JsonPropertyName("removeBartering")] + public bool RemoveBartering { get; set; } + + [JsonPropertyName("offerOwnerType")] + public OfferOwnerType OfferOwnerType { get; set; } + + [JsonPropertyName("onlyFunctional")] + public bool OnlyFunctional { get; set; } + + [JsonPropertyName("updateOfferCount")] + public bool UpdateOfferCount { get; set; } + + [JsonPropertyName("handbookId")] + public string HandbookId { get; set; } + + [JsonPropertyName("linkedSearchId")] + public string LinkedSearchId { get; set; } + + [JsonPropertyName("neededSearchId")] + public string NeededSearchId { get; set; } + + [JsonPropertyName("buildItems")] + public BuildItems BuildItems { get; set; } + + [JsonPropertyName("buildCount")] + public int BuildCount { get; set; } + + [JsonPropertyName("tm")] + public int Tm { get; set; } + + [JsonPropertyName("reload")] + public int Reload { get; set; } +} + +public enum OfferOwnerType +{ + ANYOWNERTYPE = 0, + TRADEROWNERTYPE = 1, + PLAYEROWNERTYPE = 2, +} + +public class BuildItems +{ + // Define properties for BuildItems here if needed +} \ No newline at end of file diff --git a/Core/Models/Eft/Ragfair/SendRagfairReportRequestData.cs b/Core/Models/Eft/Ragfair/SendRagfairReportRequestData.cs new file mode 100644 index 00000000..27e05b6b --- /dev/null +++ b/Core/Models/Eft/Ragfair/SendRagfairReportRequestData.cs @@ -0,0 +1,9 @@ +using System.Text.Json.Serialization; + +namespace Core.Models.Eft.Ragfair; + +public class SendRagfairReportRequestData +{ + [JsonPropertyName("offerId")] + public int OfferId { get; set; } +} \ No newline at end of file diff --git a/Core/Models/Eft/Ragfair/StorePlayerOfferTaxAmountRequestData.cs b/Core/Models/Eft/Ragfair/StorePlayerOfferTaxAmountRequestData.cs new file mode 100644 index 00000000..fba10c63 --- /dev/null +++ b/Core/Models/Eft/Ragfair/StorePlayerOfferTaxAmountRequestData.cs @@ -0,0 +1,18 @@ +using System.Text.Json.Serialization; + +namespace Core.Models.Eft.Ragfair; + +public class StorePlayerOfferTaxAmountRequestData +{ + [JsonPropertyName("id")] + public string Id { get; set; } + + [JsonPropertyName("tpl")] + public string Tpl { get; set; } + + [JsonPropertyName("count")] + public int Count { get; set; } + + [JsonPropertyName("fee")] + public double Fee { get; set; } +} \ No newline at end of file diff --git a/Core/Models/Eft/Repair/BaseRepairActionDataRequest.cs b/Core/Models/Eft/Repair/BaseRepairActionDataRequest.cs new file mode 100644 index 00000000..1ee03dd0 --- /dev/null +++ b/Core/Models/Eft/Repair/BaseRepairActionDataRequest.cs @@ -0,0 +1,9 @@ +using System.Text.Json.Serialization; + +namespace Core.Models.Eft.Repair; + +public class BaseRepairActionDataRequest +{ + [JsonPropertyName("Action")] + public string Action { get; set; } +} \ No newline at end of file diff --git a/Core/Models/Eft/Repair/RepairActionDataRequest.cs b/Core/Models/Eft/Repair/RepairActionDataRequest.cs new file mode 100644 index 00000000..4021c881 --- /dev/null +++ b/Core/Models/Eft/Repair/RepairActionDataRequest.cs @@ -0,0 +1,24 @@ +using System.Text.Json.Serialization; + +namespace Core.Models.Eft.Repair; + +public class RepairActionDataRequest : BaseRepairActionDataRequest +{ + [JsonPropertyName("Action")] + public string Action { get; set; } = "Repair"; + + [JsonPropertyName("repairKitsInfo")] + public List RepairKitsInfo { get; set; } + + [JsonPropertyName("target")] + public string Target { get; set; } // item to repair +} + +public class RepairKitsInfo +{ + [JsonPropertyName("_id")] + public string Id { get; set; } // id of repair kit to use + + [JsonPropertyName("count")] + public int Count { get; set; } // amount of units to reduce kit by +} \ No newline at end of file diff --git a/Core/Models/Eft/Repair/TraderRepairActionDataRequest.cs b/Core/Models/Eft/Repair/TraderRepairActionDataRequest.cs new file mode 100644 index 00000000..cdddeecc --- /dev/null +++ b/Core/Models/Eft/Repair/TraderRepairActionDataRequest.cs @@ -0,0 +1,24 @@ +using System.Text.Json.Serialization; + +namespace Core.Models.Eft.Repair; + +public class TraderRepairActionDataRequest : BaseRepairActionDataRequest +{ + [JsonPropertyName("Action")] + public string Action { get; set; } = "TraderRepair"; + + [JsonPropertyName("tid")] + public string TId { get; set; } + + [JsonPropertyName("repairItems")] + public List RepairItems { get; set; } +} + +public class RepairItem +{ + [JsonPropertyName("_id")] + public string Id { get; set; } + + [JsonPropertyName("count")] + public int Count { get; set; } +} \ No newline at end of file