DeepTrace/DeepTrace/Controllers/DownloadController.cs
2023-07-22 12:58:03 +01:00

32 lines
968 B
C#

using DeepTrace.Services;
using Microsoft.AspNetCore.Mvc;
using System.Text;
namespace DeepTrace.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class DownloadController : Controller
{
private readonly IModelDefinitionService _modelService;
public DownloadController(IModelDefinitionService modelService)
{
_modelService = modelService;
}
[HttpGet("mldata/{modelName}")]
public async Task<FileContentResult> GetMLDataCsv([FromRoute] string modelName)
{
var ModelDefinition = await _modelService.Load();
var model = ModelDefinition.FirstOrDefault(x=>x.Name==modelName) ?? throw new ApplicationException($"Model {modelName} not found");
var csv = model.ToCsv();
return new(Encoding.UTF8.GetBytes(csv),"text/csv")
{
FileDownloadName = modelName+".csv"
};
}
}
}