aboutsummaryrefslogtreecommitdiff
path: root/backend/api
diff options
context:
space:
mode:
Diffstat (limited to 'backend/api')
-rw-r--r--backend/api/api/Controllers/DatasetController.cs7
-rw-r--r--backend/api/api/Controllers/ModelController.cs3
-rw-r--r--backend/api/api/Controllers/PredictorController.cs6
-rw-r--r--backend/api/api/Controllers/UserController.cs11
-rw-r--r--backend/api/api/Interfaces/IPredictorService.cs1
-rw-r--r--backend/api/api/Services/ExperimentService.cs1
-rw-r--r--backend/api/api/Services/PredictorService.cs5
7 files changed, 29 insertions, 5 deletions
diff --git a/backend/api/api/Controllers/DatasetController.cs b/backend/api/api/Controllers/DatasetController.cs
index 849d9884..c93ac9db 100644
--- a/backend/api/api/Controllers/DatasetController.cs
+++ b/backend/api/api/Controllers/DatasetController.cs
@@ -251,9 +251,14 @@ namespace api.Controllers
return NotFound($"Dataset with ID = {id} or user with ID = {uploaderId} not found");
dataset.lastUpdated = DateTime.UtcNow;
-
_datasetService.Update(uploaderId, id, dataset);
+ if (!dataset.isPreProcess)
+ {
+ FileModel fileModel = _fileService.getFile(dataset.fileId);
+ _mlConnectionService.PreProcess(dataset, fileModel.path, uploaderId);
+ }
+
return Ok($"Dataset with ID = {id} updated");
}
diff --git a/backend/api/api/Controllers/ModelController.cs b/backend/api/api/Controllers/ModelController.cs
index be30ae6f..c574de28 100644
--- a/backend/api/api/Controllers/ModelController.cs
+++ b/backend/api/api/Controllers/ModelController.cs
@@ -81,10 +81,9 @@ namespace api.Controllers
[ServiceFilter(typeof(MlApiCheckActionFilter))]
public async Task<ActionResult<string>> Epoch([FromBody] Epoch info)
{
-
var model=_modelService.GetOneModel(info.ModelId);
var user = _userService.GetUserById(model.uploaderId);
-
+ if((model.epochs>100 && info.EpochNum%Math.Round(Math.Sqrt(model.epochs))==0) || model.epochs<=100 ||model.epochs-1==info.EpochNum)
if (ChatHub.CheckUser(user._id))
foreach (var connection in ChatHub.getAllConnectionsOfUser(user._id))
await _ichat.Clients.Client(connection).SendAsync("NotifyEpoch",model.name,info.ModelId,info.Stat,model.epochs,info.EpochNum);
diff --git a/backend/api/api/Controllers/PredictorController.cs b/backend/api/api/Controllers/PredictorController.cs
index 3a9e6649..6ff7746a 100644
--- a/backend/api/api/Controllers/PredictorController.cs
+++ b/backend/api/api/Controllers/PredictorController.cs
@@ -160,7 +160,11 @@ namespace api.Controllers
var model = _modelService.GetOneModel(predictor.modelId);
if (model == null || user==null)
return BadRequest("Model not found or user doesnt exist");
- _predictorService.Create(predictor);
+ Predictor p=_predictorService.Exists(predictor.modelId, predictor.experimentId);
+ if (p == null)
+ _predictorService.Create(predictor);
+ else
+ _predictorService.Update(p._id, predictor);
if (ChatHub.CheckUser(user._id))
foreach(var connection in ChatHub.getAllConnectionsOfUser(user._id))
await _ichat.Clients.Client(connection).SendAsync("NotifyPredictor", predictor._id,model.name);
diff --git a/backend/api/api/Controllers/UserController.cs b/backend/api/api/Controllers/UserController.cs
index 9f736679..9796afc2 100644
--- a/backend/api/api/Controllers/UserController.cs
+++ b/backend/api/api/Controllers/UserController.cs
@@ -125,7 +125,16 @@ namespace api.Controllers
if (username == null)
return BadRequest();
- return Ok(userService.Update(username, user));
+ if (user.Username != username)
+ {
+ User user2 = userService.GetUserByUsername(user.Username);
+ if (user2 == null)
+ return Ok(userService.Update(username, user));
+ else
+ return BadRequest("Username already exists!");
+ }
+ else
+ return Ok(userService.Update(username, user));
}
// DELETE api/<UserController>/5
diff --git a/backend/api/api/Interfaces/IPredictorService.cs b/backend/api/api/Interfaces/IPredictorService.cs
index 16f0432a..8a8308be 100644
--- a/backend/api/api/Interfaces/IPredictorService.cs
+++ b/backend/api/api/Interfaces/IPredictorService.cs
@@ -12,5 +12,6 @@ namespace api.Services
List<Predictor> GetPublicPredictors();
List<Predictor> SortPredictors(string userId, bool ascdsc, int latest);
void Update(string id, Predictor predictor);
+ public Predictor Exists(string modelId, string experimentId);
}
} \ No newline at end of file
diff --git a/backend/api/api/Services/ExperimentService.cs b/backend/api/api/Services/ExperimentService.cs
index dde9111d..40dad224 100644
--- a/backend/api/api/Services/ExperimentService.cs
+++ b/backend/api/api/Services/ExperimentService.cs
@@ -56,5 +56,6 @@ namespace api.Services
_experiment.DeleteOne(experiment => (experiment.uploaderId == userId && experiment._id == id));
_predictor.DeleteMany(predictor => (predictor.uploaderId == userId && predictor.experimentId == id));
}
+
}
}
diff --git a/backend/api/api/Services/PredictorService.cs b/backend/api/api/Services/PredictorService.cs
index 756cc943..3c088a81 100644
--- a/backend/api/api/Services/PredictorService.cs
+++ b/backend/api/api/Services/PredictorService.cs
@@ -62,5 +62,10 @@ namespace api.Services
{
_predictor.ReplaceOne(predictor => predictor._id == id, predictor);
}
+ public Predictor Exists(string modelId, string experimentId)
+ {
+ Predictor p=_predictor.Find(pre=> pre.modelId == modelId && pre.experimentId==experimentId).FirstOrDefault();
+ return p;
+ }
}
}