Files
managing-apps/src/Managing.Domain/Users/User.cs

43 lines
1.6 KiB
C#

using Managing.Domain.Accounts;
using Orleans;
using static Managing.Common.Enums;
namespace Managing.Domain.Users;
[GenerateSerializer]
public class User
{
[Id(0)] public int Id { get; set; }
[Id(1)] public string Name { get; set; }
[Id(2)] public List<Account> Accounts { get; set; }
[Id(3)] public string AgentName { get; set; } = string.Empty;
[Id(4)] public string AvatarUrl { get; set; } = string.Empty;
[Id(5)] public string TelegramChannel { get; set; } = string.Empty;
[Id(6)] public string OwnerWalletAddress { get; set; } = string.Empty;
[Id(7)] public bool IsAdmin { get; set; } = false;
[Id(8)] public DateTimeOffset? LastConnectionDate { get; set; }
// User Settings - Trading Configuration
[Id(9)] public decimal? LowEthAmountAlert { get; set; }
[Id(10)] public bool EnableAutoswap { get; set; } = false;
[Id(11)] public decimal? AutoswapAmount { get; set; }
[Id(12)] public int? MaxWaitingTimeForPositionToGetFilledSeconds { get; set; }
[Id(13)] public decimal? MaxTxnGasFeePerPosition { get; set; }
[Id(14)] public bool IsGmxEnabled { get; set; } = false;
[Id(20)] public decimal? GmxSlippage { get; set; }
// User Settings - Indicator Combo Configuration
[Id(15)] public Confidence? MinimumConfidence { get; set; }
[Id(16)] public decimal? TrendStrongAgreementThreshold { get; set; }
[Id(17)] public decimal? SignalAgreementThreshold { get; set; }
[Id(18)] public bool? AllowSignalTrendOverride { get; set; }
[Id(19)] public TradingExchanges? DefaultExchange { get; set; }
}