using fubon_api.Models; using FubonNeo.Sdk; using Microsoft.AspNetCore.Mvc; namespace fubon_api.Controllers; [ApiController] [Route("account/[controller]")] public class FubonSdkAccountController : ControllerBase { private readonly FubonSDK _sdk; private Account _account; private readonly ILogger _logger; public FubonSdkAccountController(ILogger logger, FubonSDK sdk, Account account) { _sdk = sdk; _account = account; _logger = logger; } [HttpPost("Login")] public LoginResponse Login([FromBody] LoginRequest request) { if (request == null) { throw new ArgumentException("Invalid login request."); } var result = _sdk.Login(request.Id, request.Password, "Your Cert Path", "Your Cert Password"); _account = result.data[0]; return result; } [HttpGet("Inventories")] public InventoryResponse GetInventories() { var result = _sdk.Accounting.Inventories(_account); return result; } [HttpGet("Unrealized")] public UnRealizedResponse GetUnrealized() { var result = _sdk.Accounting.UnrealizedGainsAndLoses(_account); return result; } [HttpGet("Realized")] public RealizedResponse GetRealized() { var result = _sdk.Accounting.RealizedGainsAndLoses(_account); return result; } [HttpGet("Settlement")] public SettlementResponse GetSettlement() { var result = _sdk.Accounting.QuerySettlement(_account, "0d"); return result; } }