Fix db and fix endpoints

This commit is contained in:
2025-08-05 22:30:18 +07:00
parent 2dcbcc3ef2
commit 36529ae403
36 changed files with 5073 additions and 245 deletions

View File

@@ -49,7 +49,7 @@ public static class PostgreSqlMappers
Type = account.Type,
Key = account.Key,
Secret = account.Secret,
User = account.User != null ? Map(account.User) : null
UserId = account.User.Id,
};
}
@@ -88,8 +88,7 @@ public static class PostgreSqlMappers
StopLoss = moneyManagement.StopLoss,
TakeProfit = moneyManagement.TakeProfit,
Leverage = moneyManagement.Leverage,
UserName = moneyManagement.User?.Name,
User = moneyManagement.User != null ? Map(moneyManagement.User) : null
UserId = moneyManagement.User?.Id ?? 0
};
}
@@ -204,7 +203,7 @@ public static class PostgreSqlMappers
var entity = new GeneticRequestEntity
{
RequestId = geneticRequest.RequestId,
User = geneticRequest.User != null ? Map(geneticRequest.User) : null,
UserId = geneticRequest.User?.Id ?? 0,
CreatedAt = geneticRequest.CreatedAt,
CompletedAt = geneticRequest.CompletedAt,
UpdatedAt = DateTime.UtcNow,
@@ -268,7 +267,8 @@ public static class PostgreSqlMappers
var config = JsonConvert.DeserializeObject<TradingBotConfig>(entity.ConfigJson);
var positionsList = JsonConvert.DeserializeObject<List<Position>>(entity.PositionsJson) ?? new List<Position>();
var positions = positionsList.ToDictionary(p => p.Identifier, p => p);
var signalsList = JsonConvert.DeserializeObject<List<LightSignal>>(entity.SignalsJson) ?? new List<LightSignal>();
var signalsList = JsonConvert.DeserializeObject<List<LightSignal>>(entity.SignalsJson) ??
new List<LightSignal>();
var signals = signalsList.ToDictionary(s => s.Identifier, s => s);
var statistics = !string.IsNullOrEmpty(entity.StatisticsJson)
? JsonConvert.DeserializeObject<PerformanceMetrics>(entity.StatisticsJson)
@@ -283,7 +283,7 @@ public static class PostgreSqlMappers
HodlPercentage = entity.HodlPercentage,
StartDate = entity.StartDate,
EndDate = entity.EndDate,
User = new User { Name = entity.UserName },
User = entity.User != null ? Map(entity.User) : null,
Statistics = statistics,
Fees = entity.Fees,
Score = entity.Score,
@@ -313,7 +313,7 @@ public static class PostgreSqlMappers
StartDate = backtest.StartDate,
EndDate = backtest.EndDate,
MoneyManagementJson = JsonConvert.SerializeObject(backtest.Config?.MoneyManagement),
UserName = backtest.User?.Name ?? string.Empty,
UserId = backtest.User?.Id ?? 0,
StatisticsJson = backtest.Statistics != null ? JsonConvert.SerializeObject(backtest.Statistics) : null,
Fees = backtest.Fees,
Score = backtest.Score,
@@ -339,7 +339,7 @@ public static class PostgreSqlMappers
var bundleRequest = new BundleBacktestRequest(entity.RequestId)
{
User = entity.User != null ? Map(entity.User) : new User { Name = entity.UserName },
User = entity.User != null ? Map(entity.User) : null,
CreatedAt = entity.CreatedAt,
CompletedAt = entity.CompletedAt,
Status = entity.Status,
@@ -378,8 +378,7 @@ public static class PostgreSqlMappers
var entity = new BundleBacktestRequestEntity
{
RequestId = bundleRequest.RequestId,
UserName = bundleRequest.User?.Name ?? string.Empty,
UserId = null, // Will be set by the repository when saving
UserId = bundleRequest.User?.Id ?? 0,
CreatedAt = bundleRequest.CreatedAt,
CompletedAt = bundleRequest.CompletedAt,
Status = bundleRequest.Status,
@@ -431,7 +430,7 @@ public static class PostgreSqlMappers
return new Scenario(entity.Name, entity.LoopbackPeriod)
{
User = entity.UserName != null ? new User { Name = entity.UserName } : null,
User = entity.User != null ? Map(entity.User) : null,
Indicators = new List<IndicatorBase>() // Will be populated separately when needed
};
}
@@ -444,7 +443,7 @@ public static class PostgreSqlMappers
{
Name = scenario.Name,
LoopbackPeriod = scenario.LoopbackPeriod ?? 1,
UserName = scenario.User?.Name
UserId = scenario.User?.Id ?? 0
};
}
@@ -465,7 +464,7 @@ public static class PostgreSqlMappers
SmoothPeriods = entity.SmoothPeriods,
StochPeriods = entity.StochPeriods,
CyclePeriods = entity.CyclePeriods,
User = entity.UserName != null ? new User { Name = entity.UserName } : null
User = entity.User != null ? Map(entity.User) : null
};
}
@@ -488,7 +487,7 @@ public static class PostgreSqlMappers
SmoothPeriods = indicatorBase.SmoothPeriods,
StochPeriods = indicatorBase.StochPeriods,
CyclePeriods = indicatorBase.CyclePeriods,
UserName = indicatorBase.User?.Name
UserId = indicatorBase.User?.Id ?? 0
};
}
@@ -511,7 +510,7 @@ public static class PostgreSqlMappers
entity.Type,
entity.SignalType,
entity.IndicatorName,
entity.UserName != null ? new User { Name = entity.UserName } : null)
entity.User != null ? Map(entity.User) : null)
{
Status = entity.Status
};
@@ -533,7 +532,7 @@ public static class PostgreSqlMappers
Type = signal.IndicatorType,
SignalType = signal.SignalType,
IndicatorName = signal.IndicatorName,
UserName = signal.User?.Name,
UserId = signal.User?.Id ?? 0,
CandleJson = signal.Candle != null ? JsonConvert.SerializeObject(signal.Candle) : null
};
}
@@ -559,7 +558,7 @@ public static class PostgreSqlMappers
moneyManagement,
entity.Initiator,
entity.Date,
entity.UserName != null ? new User { Name = entity.UserName } : null)
entity.User != null ? Map(entity.User) : null)
{
Status = entity.Status,
SignalIdentifier = entity.SignalIdentifier
@@ -596,7 +595,7 @@ public static class PostgreSqlMappers
Initiator = position.Initiator,
SignalIdentifier = position.SignalIdentifier,
AccountName = position.AccountName,
UserName = position.User?.Name,
UserId = position.User?.Id ?? 0,
MoneyManagementJson = position.MoneyManagement != null
? JsonConvert.SerializeObject(position.MoneyManagement)
: null
@@ -703,7 +702,6 @@ public static class PostgreSqlMappers
{
Identifier = bot.Identifier,
UserId = bot.User.Id,
User = bot.User != null ? Map(bot.User) : null,
Status = bot.Status,
CreateDate = bot.CreateDate,
Name = bot.Name,