Deserialized variant for bundle backtest

This commit is contained in:
2025-10-23 12:31:30 +07:00
parent a1fe7ed3b3
commit 6bfefc91c8
5 changed files with 231 additions and 88 deletions

View File

@@ -872,7 +872,7 @@ export class BacktestClient extends AuthorizedApiBase {
return Promise.resolve<BundleBacktestRequest>(null as any);
}
backtest_GetBundleBacktestRequests(): Promise<BundleBacktestRequest[]> {
backtest_GetBundleBacktestRequests(): Promise<BundleBacktestRequestViewModel[]> {
let url_ = this.baseUrl + "/Backtest/Bundle";
url_ = url_.replace(/[?&]$/, "");
@@ -890,13 +890,13 @@ export class BacktestClient extends AuthorizedApiBase {
});
}
protected processBacktest_GetBundleBacktestRequests(response: Response): Promise<BundleBacktestRequest[]> {
protected processBacktest_GetBundleBacktestRequests(response: Response): Promise<BundleBacktestRequestViewModel[]> {
const status = response.status;
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
if (status === 200) {
return response.text().then((_responseText) => {
let result200: any = null;
result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver) as BundleBacktestRequest[];
result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver) as BundleBacktestRequestViewModel[];
return result200;
});
} else if (status !== 200 && status !== 204) {
@@ -904,10 +904,10 @@ export class BacktestClient extends AuthorizedApiBase {
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
});
}
return Promise.resolve<BundleBacktestRequest[]>(null as any);
return Promise.resolve<BundleBacktestRequestViewModel[]>(null as any);
}
backtest_GetBundleBacktestRequest(id: string): Promise<BundleBacktestRequest> {
backtest_GetBundleBacktestRequest(id: string): Promise<BundleBacktestRequestViewModel> {
let url_ = this.baseUrl + "/Backtest/Bundle/{id}";
if (id === undefined || id === null)
throw new Error("The parameter 'id' must be defined.");
@@ -928,13 +928,13 @@ export class BacktestClient extends AuthorizedApiBase {
});
}
protected processBacktest_GetBundleBacktestRequest(response: Response): Promise<BundleBacktestRequest> {
protected processBacktest_GetBundleBacktestRequest(response: Response): Promise<BundleBacktestRequestViewModel> {
const status = response.status;
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
if (status === 200) {
return response.text().then((_responseText) => {
let result200: any = null;
result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver) as BundleBacktestRequest;
result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver) as BundleBacktestRequestViewModel;
return result200;
});
} else if (status !== 200 && status !== 204) {
@@ -942,7 +942,7 @@ export class BacktestClient extends AuthorizedApiBase {
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
});
}
return Promise.resolve<BundleBacktestRequest>(null as any);
return Promise.resolve<BundleBacktestRequestViewModel>(null as any);
}
backtest_DeleteBundleBacktestRequest(id: string): Promise<FileResponse> {
@@ -4536,6 +4536,27 @@ export interface MoneyManagementVariant {
moneyManagement?: MoneyManagementRequest;
}
export interface BundleBacktestRequestViewModel {
requestId: string;
createdAt: Date;
completedAt?: Date | null;
status: BundleBacktestRequestStatus;
name: string;
universalConfig: BundleBacktestUniversalConfig;
dateTimeRanges: DateTimeRange[];
moneyManagementVariants: MoneyManagementVariant[];
tickerVariants: Ticker[];
results?: string[];
totalBacktests: number;
completedBacktests: number;
failedBacktests: number;
progressPercentage?: number;
errorMessage?: string | null;
progressInfo?: string | null;
currentBacktest?: string | null;
estimatedTimeRemainingSeconds?: number | null;
}
export interface GeneticRequest {
requestId: string;
user: User;