Bundle from worker to grain

This commit is contained in:
2025-09-15 12:56:59 +07:00
parent 77e6ce0789
commit 63bc7bbe59
19 changed files with 2112 additions and 79 deletions

View File

@@ -131,7 +131,12 @@ public class BacktestController : BaseController
return BadRequest("Request ID is required");
}
var backtests = await _backtester.GetBacktestsByRequestIdAsync(requestId);
if (!Guid.TryParse(requestId, out var requestGuid))
{
return BadRequest("Invalid request ID format. Must be a valid GUID.");
}
var backtests = await _backtester.GetBacktestsByRequestIdAsync(requestGuid);
return Ok(backtests);
}
@@ -159,6 +164,11 @@ public class BacktestController : BaseController
return BadRequest("Request ID is required");
}
if (!Guid.TryParse(requestId, out var requestGuid))
{
return BadRequest("Invalid request ID format. Must be a valid GUID.");
}
if (page < 1)
{
return BadRequest("Page must be greater than 0");
@@ -175,7 +185,7 @@ public class BacktestController : BaseController
}
var (backtests, totalCount) =
await _backtester.GetBacktestsByRequestIdPaginatedAsync(requestId, page, pageSize, sortBy, sortOrder);
await _backtester.GetBacktestsByRequestIdPaginatedAsync(requestGuid, page, pageSize, sortBy, sortOrder);
var totalPages = (int)Math.Ceiling(totalCount / (double)pageSize);
@@ -503,8 +513,13 @@ public class BacktestController : BaseController
[Route("Bundle/{id}")]
public async Task<ActionResult<BundleBacktestRequest>> GetBundleBacktestRequest(string id)
{
if (!Guid.TryParse(id, out var requestId))
{
return BadRequest("Invalid bundle request ID format. Must be a valid GUID.");
}
var user = await GetUser();
var bundleRequest = _backtester.GetBundleBacktestRequestByIdForUser(user, id);
var bundleRequest = _backtester.GetBundleBacktestRequestByIdForUser(user, requestId);
if (bundleRequest == null)
{
@@ -524,13 +539,18 @@ public class BacktestController : BaseController
[Route("Bundle/{id}")]
public async Task<ActionResult> DeleteBundleBacktestRequest(string id)
{
if (!Guid.TryParse(id, out var requestId))
{
return BadRequest("Invalid bundle request ID format. Must be a valid GUID.");
}
var user = await GetUser();
// First, delete the bundle request
_backtester.DeleteBundleBacktestRequestByIdForUser(user, id);
_backtester.DeleteBundleBacktestRequestByIdForUser(user, requestId);
// Then, delete all related backtests
var backtestsDeleted = await _backtester.DeleteBacktestsByRequestIdAsync(id);
var backtestsDeleted = await _backtester.DeleteBacktestsByRequestIdAsync(requestId);
return Ok(new
{
@@ -695,7 +715,11 @@ public class BacktestController : BaseController
_geneticService.DeleteGeneticRequestByIdForUser(user, id);
// Then, delete all related backtests
var backtestsDeleted = await _backtester.DeleteBacktestsByRequestIdAsync(id);
var backtestsDeleted = false;
if (Guid.TryParse(id, out var requestGuid))
{
backtestsDeleted = await _backtester.DeleteBacktestsByRequestIdAsync(requestGuid);
}
return Ok(new
{