Files
managing-apps/src/Managing.Infrastructure.Database
cryptooda 0428775abf Excellent! Everything builds successfully. Let me create a summary of all the changes:
## Summary of Changes

I've successfully moved the `GetBacktestStats` endpoint to the `DataController` and removed JWT authentication. Here's what was done:

### 1. **Moved GetBacktestStats Endpoint to DataController** 
- **File**: `src/Managing.Api/Controllers/DataController.cs:1064`
- **Endpoint**: `GET /Data/GetBacktestStats/{id}`
- **Authentication**: None required (DataController has `[AllowAnonymous]`)
- Returns only statistical information without positions, signals, or candles

### 2. **Added IBacktester Dependency to DataController** 
- **File**: `src/Managing.Api/Controllers/DataController.cs:45,87`
- Added `IBacktester` field and constructor parameter
- Allows DataController to retrieve backtest information

### 3. **Created New Repository Method** 
- **Interface**: `src/Managing.Application.Abstractions/Repositories/IBacktestRepository.cs:41`
- **Implementation**: `src/Managing.Infrastructure.Database/PostgreSql/PostgreSqlBacktestRepository.cs:301`
- Added `GetBacktestByIdAsync(string id)` - retrieves backtest without user filtering

### 4. **Created New Service Method** 
- **Interface**: `src/Managing.Application.Abstractions/Services/IBacktester.cs:67`
- **Implementation**: `src/Managing.Application/Backtests/Backtester.cs:221`
- Added `GetBacktestByIdAsync(string id)` in IBacktester service

### 5. **Removed Duplicate Endpoint from BacktestController** 
- **File**: `src/Managing.Api/Controllers/BacktestController.cs`
- Removed the `/Backtest/{id}/stats` endpoint to avoid duplication

### 6. **Regenerated Frontend API Client** 
- Successfully ran `dotnet build` in `src/Managing.Nswag`
- The new endpoint is now available in `ManagingApi.ts`

## API Endpoint Details

**Endpoint**: `GET /Data/GetBacktestStats/{id}`

**Authentication**: None (AllowAnonymous)

**Response Format**:
```json
{
  "id": "string",
  "name": "string",
  "ticker": "BTC",
  "timeframe": "15m",
  "tradingType": "Futures",
  "startDate": "2024-01-01T00:00:00Z",
  "endDate": "2024-12-31T23:59:59Z",
  "initialBalance": 1000,
  "finalPnl": 150.50,
  "netPnl": 145.25,
  "growthPercentage": 14.5,
  "hodlPercentage": 12.3,
  "winRate": 65,
  "sharpeRatio": 1.8,
  "maxDrawdown": -5.2,
  "maxDrawdownRecoveryTime": "2.00:00:00",
  "fees": 5.25,
  "score": 85.5,
  "scoreMessage": "Good performance",
  "positionCount": 150
}
```

All changes have been tested and the project builds successfully!
2026-01-09 19:18:52 +07:00
..
2025-12-31 01:31:54 +07:00