aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend/api/api/Controllers/DatasetController.cs12
-rw-r--r--backend/api/api/Models/Dataset.cs1
-rw-r--r--backend/api/api/Services/DatasetService.cs20
-rw-r--r--backend/api/api/Services/IDatasetService.cs1
-rw-r--r--backend/api/api/Services/IMlConnectionService.cs2
-rw-r--r--backend/api/api/Services/MlConnectionService.cs11
6 files changed, 28 insertions, 19 deletions
diff --git a/backend/api/api/Controllers/DatasetController.cs b/backend/api/api/Controllers/DatasetController.cs
index 8a3485dd..6eb1b9e6 100644
--- a/backend/api/api/Controllers/DatasetController.cs
+++ b/backend/api/api/Controllers/DatasetController.cs
@@ -139,9 +139,8 @@ namespace api.Controllers
return BadRequest();
var dataset = _datasetService.GetOneDataset(username, name);
-
if (dataset == null)
- return NotFound($"Dataset with name = {name} not found or dataset is not public");
+ return NotFound($"Dataset with name = {name} not found or dataset is not public or not preprocessed");
return dataset;
}
@@ -176,11 +175,10 @@ namespace api.Controllers
{
FileModel fileModel = _fileService.getFile(dataset.fileId);
- Dataset newDataset =await _mlConnectionService.PreProcess(dataset,fileModel.path);
-
- _datasetService.Create(newDataset);
-
- return CreatedAtAction(nameof(Get), new { id = newDataset._id }, newDataset);
+ dataset.isPreProcess = false;
+ _datasetService.Create(dataset);
+ _mlConnectionService.PreProcess(dataset,fileModel.path);
+ return Ok();
}
}
diff --git a/backend/api/api/Models/Dataset.cs b/backend/api/api/Models/Dataset.cs
index 17974d1d..2b3efa3c 100644
--- a/backend/api/api/Models/Dataset.cs
+++ b/backend/api/api/Models/Dataset.cs
@@ -25,6 +25,7 @@ namespace api.Models
public ColumnInfo[] columnInfo { get; set; }
public int totalNulls;
+ public bool isPreProcess { get; set; }
}
}
diff --git a/backend/api/api/Services/DatasetService.cs b/backend/api/api/Services/DatasetService.cs
index 2ff271f3..c43bd236 100644
--- a/backend/api/api/Services/DatasetService.cs
+++ b/backend/api/api/Services/DatasetService.cs
@@ -16,7 +16,7 @@ namespace api.Services
public List<Dataset> SearchDatasets(string name, string username)
{
- return _dataset.Find(dataset => dataset.name == name && dataset.isPublic == true).ToList();
+ return _dataset.Find(dataset => dataset.name == name && dataset.isPublic == true && dataset.isPreProcess).ToList();
}
//kreiranje dataseta
@@ -34,12 +34,12 @@ namespace api.Services
public List<Dataset> GetMyDatasets(string username)
{
- return _dataset.Find(dataset => dataset.username == username).ToList();
+ return _dataset.Find(dataset => dataset.username == username && dataset.isPreProcess).ToList();
}
public List<Dataset> GetGuestDatasets()
{
//Join Igranonica public datasetove sa svim temp uploadanim datasetovima
- List<Dataset> datasets= _dataset.Find(dataset => dataset.username == "Igrannonica" && dataset.isPublic == true).ToList();
+ List<Dataset> datasets= _dataset.Find(dataset => dataset.username == "Igrannonica" && dataset.isPublic == true && dataset.isPreProcess).ToList();
datasets.AddRange(_dataset.Find(dataset => dataset.username == "").ToList());
return datasets;
}
@@ -47,7 +47,7 @@ namespace api.Services
//poslednji datasetovi
public List<Dataset> SortDatasets(string username, bool ascdsc, int latest)
{
- List<Dataset> list = _dataset.Find(dataset => dataset.username == username).ToList();
+ List<Dataset> list = _dataset.Find(dataset => dataset.username == username && dataset.isPreProcess).ToList();
if(ascdsc)
list = list.OrderBy(dataset => dataset.lastUpdated).ToList();
@@ -59,25 +59,29 @@ namespace api.Services
public List<Dataset> GetPublicDatasets()
{
- return _dataset.Find(dataset => dataset.isPublic == true).ToList();
+ return _dataset.Find(dataset => dataset.isPublic == true && dataset.isPreProcess).ToList();
}
public Dataset GetOneDataset(string username, string name)
{
- return _dataset.Find(dataset => dataset.username == username && dataset.name == name).FirstOrDefault();
+ return _dataset.Find(dataset => dataset.username == username && dataset.name == name && dataset.isPreProcess).FirstOrDefault();
}
//odraditi za pretragu getOne
public Dataset GetOneDataset(string id)
{
- return _dataset.Find(dataset => dataset._id == id).FirstOrDefault();
+ return _dataset.Find(dataset => dataset._id == id && dataset.isPreProcess).FirstOrDefault();
}
//ako je potrebno da se zameni name ili ekstenzija
- public void Update(string username, string name, Dataset dataset)
+ public void Update(string username, string name, Dataset dataset )
{
_dataset.ReplaceOne(dataset => dataset.username == username && dataset.name == name, dataset);
}
+ public void Update(Dataset dataset)
+ {
+ _dataset.ReplaceOne(x=>x._id==dataset._id, dataset);
+ }
}
diff --git a/backend/api/api/Services/IDatasetService.cs b/backend/api/api/Services/IDatasetService.cs
index 8e62ba43..89856c5b 100644
--- a/backend/api/api/Services/IDatasetService.cs
+++ b/backend/api/api/Services/IDatasetService.cs
@@ -15,5 +15,6 @@ namespace api.Services
void Update(string username, string name, Dataset dataset);
void Delete(string username, string name);
public List<Dataset> GetGuestDatasets();
+ public void Update(Dataset dataset);
}
}
diff --git a/backend/api/api/Services/IMlConnectionService.cs b/backend/api/api/Services/IMlConnectionService.cs
index 490f2df7..ea73fb0f 100644
--- a/backend/api/api/Services/IMlConnectionService.cs
+++ b/backend/api/api/Services/IMlConnectionService.cs
@@ -6,7 +6,7 @@ namespace api.Services
public interface IMlConnectionService
{
Task<string> SendModelAsync(object model, object dataset);
- Task<Dataset> PreProcess(Dataset dataset, string filePath);
+ Task PreProcess(Dataset dataset, 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 a04a323b..66f7882a 100644
--- a/backend/api/api/Services/MlConnectionService.cs
+++ b/backend/api/api/Services/MlConnectionService.cs
@@ -9,10 +9,12 @@ namespace api.Services
public class MlConnectionService : IMlConnectionService
{
private RestClient client;
+ private readonly IDatasetService _datasetService;
- public MlConnectionService()
+ public MlConnectionService(IDatasetService datasetService)
{
this.client = new RestClient("http://127.0.0.1:5543");
+ _datasetService=datasetService;
}
public async Task<string> SendModelAsync(object model, object dataset)
@@ -22,7 +24,7 @@ namespace api.Services
var result = await this.client.ExecuteAsync(request);
return result.Content; //Response od ML microservisa
}
- public async Task<Dataset> PreProcess(Dataset dataset,string filePath)//(Dataset dataset,byte[] file,string filename)
+ public async Task PreProcess(Dataset dataset,string filePath)//(Dataset dataset,byte[] file,string filename)
{
var request=new RestRequest("preprocess", Method.Post);//USKLADITI SA ML API
request.AddParameter("dataset", JsonConvert.SerializeObject(dataset));
@@ -31,7 +33,10 @@ namespace api.Services
request.AddHeader("Content-Type", "multipart/form-data");
var result=await this.client.ExecuteAsync(request);
Dataset newDataset = JsonConvert.DeserializeObject<Dataset>(result.Content);
- return newDataset;
+ newDataset.isPreProcess = true;
+ _datasetService.Update(newDataset);
+
+ return;
}
}