diff options
Diffstat (limited to 'backend')
-rw-r--r-- | backend/api/api/Controllers/FileController.cs | 2 | ||||
-rw-r--r-- | backend/api/api/Controllers/ModelController.cs | 9 | ||||
-rw-r--r-- | backend/api/api/Models/Model.cs | 3 | ||||
-rw-r--r-- | backend/api/api/Services/ExperimentService.cs | 5 | ||||
-rw-r--r-- | backend/api/api/Services/IMlConnectionService.cs | 1 | ||||
-rw-r--r-- | backend/api/api/Services/MlConnectionService.cs | 51 |
6 files changed, 68 insertions, 3 deletions
diff --git a/backend/api/api/Controllers/FileController.cs b/backend/api/api/Controllers/FileController.cs index ac17ab0b..ad788e17 100644 --- a/backend/api/api/Controllers/FileController.cs +++ b/backend/api/api/Controllers/FileController.cs @@ -13,7 +13,7 @@ namespace api.Controllers public class FileController : ControllerBase { private string[] permittedExtensions = { ".csv",".json",".xls",".xlsx" }; - private string[] permittedExtensionsH5 = { ".h5" };//niz da bi dodali h4 itd + private string[] permittedExtensionsH5 = { ".h5" };//niz da bi dodali h5 itd private readonly IConfiguration _configuration; private IJwtToken _token; private readonly IFileService _fileservice; diff --git a/backend/api/api/Controllers/ModelController.cs b/backend/api/api/Controllers/ModelController.cs index be7edffe..8031700a 100644 --- a/backend/api/api/Controllers/ModelController.cs +++ b/backend/api/api/Controllers/ModelController.cs @@ -19,9 +19,10 @@ namespace api.Controllers private readonly IModelService _modelService; private readonly IExperimentService _experimentService; private IJwtToken jwtToken; + private readonly IMlConnectionService _mlConnectionService; - public ModelController(IMlConnectionService mlService, IModelService modelService, IDatasetService datasetService, IFileService fileService, IConfiguration configuration,IJwtToken token,IExperimentService experiment) + public ModelController(IMlConnectionService mlService, IModelService modelService, IMlConnectionService mlConnectionService, IDatasetService datasetService, IFileService fileService, IConfiguration configuration,IJwtToken token,IExperimentService experiment) { _mlService = mlService; _modelService = modelService; @@ -29,6 +30,7 @@ namespace api.Controllers _fileService = fileService; _experimentService = experiment; jwtToken = token; + _mlConnectionService = mlConnectionService; } [HttpPost("sendModel")] @@ -159,6 +161,11 @@ namespace api.Controllers return NotFound($"Model with name = {model.name} exisits"); else { + FileModel fileModel = _fileService.getFile(model.fileId); + model.isPreProcess = false; + _modelService.Create(model); + _mlConnectionService.PreProcess(model, fileModel.path); + //return Ok(); if (existingModel == null) _modelService.Create(model); else diff --git a/backend/api/api/Models/Model.cs b/backend/api/api/Models/Model.cs index 376b0e0c..e4e66a86 100644 --- a/backend/api/api/Models/Model.cs +++ b/backend/api/api/Models/Model.cs @@ -38,7 +38,8 @@ namespace api.Models public string[] metrics { get; set; } public int epochs { get; set; } - + public bool isPreProcess { get; set; } + public string fileId { get; set; } //public NullValues[] nullValues { get; set; } } } diff --git a/backend/api/api/Services/ExperimentService.cs b/backend/api/api/Services/ExperimentService.cs index 712568d4..c9de233e 100644 --- a/backend/api/api/Services/ExperimentService.cs +++ b/backend/api/api/Services/ExperimentService.cs @@ -22,5 +22,10 @@ namespace api.Services { return _experiment.Find(exp=>exp._id == id).FirstOrDefault(); } + + public void Update(string username, string name, Experiment experiment) + { + _experiment.ReplaceOne(experiment => experiment.username == username && experiment.name == name, experiment); + } } } diff --git a/backend/api/api/Services/IMlConnectionService.cs b/backend/api/api/Services/IMlConnectionService.cs index 8d7e207d..e1529cc5 100644 --- a/backend/api/api/Services/IMlConnectionService.cs +++ b/backend/api/api/Services/IMlConnectionService.cs @@ -9,6 +9,7 @@ namespace api.Services Task PreProcess(Dataset dataset, string filePath); Task PreProcess(Experiment experiment, string filePath); Task PreProcess(Predictor predictor, string filePath); + Task PreProcess(Model model, string filePath); //Task<Dataset> PreProcess(Dataset dataset, byte[] file, string filename); } }
\ No newline at end of file diff --git a/backend/api/api/Services/MlConnectionService.cs b/backend/api/api/Services/MlConnectionService.cs index 3df22c4f..146afd85 100644 --- a/backend/api/api/Services/MlConnectionService.cs +++ b/backend/api/api/Services/MlConnectionService.cs @@ -40,5 +40,56 @@ namespace api.Services return; } + + /*public async Task PreProcess(Experiment experiment, string filePath)//(Dataset dataset,byte[] file,string filename) + { + var request = new RestRequest("preprocess", Method.Post); + request.AddParameter("dataset", JsonConvert.SerializeObject(experiment)); + //request.AddFile("file", file,filename); + request.AddFile("file", filePath); + request.AddHeader("Content-Type", "multipart/form-data"); + var result = await this.client.ExecuteAsync(request); + + Dataset newDataset = JsonConvert.DeserializeObject<Dataset>(result.Content); + newDataset.isPreProcess = true; + _experimentService.Update(newDataset); + + return; + + } + + public async Task PreProcess(Predictor predictor, string filePath)//(Dataset dataset,byte[] file,string filename) + { + var request = new RestRequest("preprocess", Method.Post); + request.AddParameter("dataset", JsonConvert.SerializeObject(dataset)); + //request.AddFile("file", file,filename); + request.AddFile("file", filePath); + request.AddHeader("Content-Type", "multipart/form-data"); + var result = await this.client.ExecuteAsync(request); + + Dataset newDataset = JsonConvert.DeserializeObject<Dataset>(result.Content); + newDataset.isPreProcess = true; + _datasetService.Update(newDataset); + + return; + + } + + public async Task PreProcess(Model model, string filePath)//(Dataset dataset,byte[] file,string filename) + { + var request = new RestRequest("preprocess", Method.Post); + request.AddParameter("dataset", JsonConvert.SerializeObject(dataset)); + //request.AddFile("file", file,filename); + request.AddFile("file", filePath); + request.AddHeader("Content-Type", "multipart/form-data"); + var result = await this.client.ExecuteAsync(request); + + Dataset newDataset = JsonConvert.DeserializeObject<Dataset>(result.Content); + newDataset.isPreProcess = true; + _datasetService.Update(newDataset); + + return; + + }*/ } } |