Files
fubon-api/Controllers/Account.cs

67 lines
1.6 KiB
C#

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<FubonSdkAccountController> _logger;
public FubonSdkAccountController(ILogger<FubonSdkAccountController> 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;
}
}