using SPTarkov.DI.Annotations;
using SPTarkov.Server.Core.Controllers;
using SPTarkov.Server.Core.Models.Common;
using SPTarkov.Server.Core.Models.Eft.Common;
using SPTarkov.Server.Core.Models.Eft.ItemEvent;
using SPTarkov.Server.Core.Models.Eft.Trade;
namespace SPTarkov.Server.Core.Callbacks;
[Injectable]
public class TradeCallbacks(TradeController tradeController)
{
///
/// Handle client/game/profile/items/moving TradingConfirm event
///
/// Players PMC profile
///
/// Session/player id
///
public ItemEventRouterResponse ProcessTrade(PmcData pmcData, ProcessBaseTradeRequestData info, MongoId sessionID)
{
return tradeController.ConfirmTrading(pmcData, info, sessionID);
}
///
/// Handle RagFairBuyOffer event
///
/// Players PMC profile
///
/// Session/player id
///
public ItemEventRouterResponse ProcessRagfairTrade(PmcData pmcData, ProcessRagfairTradeRequestData info, MongoId sessionID)
{
return tradeController.ConfirmRagfairTrading(pmcData, info, sessionID);
}
///
/// Handle SellAllFromSavage event
///
/// Players PMC profile
///
/// Session/player id
///
public ItemEventRouterResponse SellAllFromSavage(PmcData pmcData, SellScavItemsToFenceRequestData info, MongoId sessionID)
{
return tradeController.SellScavItemsToFence(pmcData, info, sessionID);
}
}