feat(backend): add admin evaluation history, engine, simulation, bot API controllers and global exception middleware
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
using System.Threading.Tasks;
|
||||
using FinlyticCore.Dtos.Bot;
|
||||
using FinlyticCore.Dtos.Trading;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.SignalR;
|
||||
|
||||
namespace FinlyticBackend.Hubs;
|
||||
|
||||
public interface ITradeStreamClient
|
||||
{
|
||||
Task ReceiveTradeProposal(TradeProposalDto proposal);
|
||||
Task ReceiveTradeUpdate(ActiveTradeDto trade);
|
||||
Task ReceiveBotPositionUpdate(BotTradeOrderDto botOrder);
|
||||
Task ReceivePortfolioSummary(AccountSummaryDto summary);
|
||||
}
|
||||
|
||||
[Authorize]
|
||||
public class TradeStreamHub : Hub<ITradeStreamClient>
|
||||
{
|
||||
public async Task JoinAssetGroup(string isin)
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(isin))
|
||||
{
|
||||
await Groups.AddToGroupAsync(Context.ConnectionId, isin.Trim().ToUpperInvariant());
|
||||
}
|
||||
}
|
||||
|
||||
public async Task LeaveAssetGroup(string isin)
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(isin))
|
||||
{
|
||||
await Groups.RemoveFromGroupAsync(Context.ConnectionId, isin.Trim().ToUpperInvariant());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user