aboutsummaryrefslogtreecommitdiff
path: root/backend/api
diff options
context:
space:
mode:
Diffstat (limited to 'backend/api')
-rw-r--r--backend/api/api/Controllers/ExperimentController.cs4
-rw-r--r--backend/api/api/Models/Experiment.cs3
-rw-r--r--backend/api/api/Services/ExperimentService.cs4
-rw-r--r--backend/api/api/Services/IExperimentService.cs1
4 files changed, 10 insertions, 2 deletions
diff --git a/backend/api/api/Controllers/ExperimentController.cs b/backend/api/api/Controllers/ExperimentController.cs
index 7729f8a7..0063c532 100644
--- a/backend/api/api/Controllers/ExperimentController.cs
+++ b/backend/api/api/Controllers/ExperimentController.cs
@@ -44,7 +44,9 @@ namespace api.Controllers
return BadRequest();
experiment.uploaderId = uploaderId;
-
+ var existingExperiment = _experimentService.Get(uploaderId, experiment.name);
+ if(existingExperiment != null)
+ return NotFound($"Experiment with name = {experiment.name} exisits");
_experimentService.Create(experiment);
return Ok(experiment);
}
diff --git a/backend/api/api/Models/Experiment.cs b/backend/api/api/Models/Experiment.cs
index 6de3f169..e3ca6194 100644
--- a/backend/api/api/Models/Experiment.cs
+++ b/backend/api/api/Models/Experiment.cs
@@ -8,7 +8,8 @@ namespace api.Models
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string _id { get; set; }
-
+ public string name { get; set; }
+ public string description { get; set; }
public string datasetId { get; set; }
public string uploaderId { get; set; }
public string[] inputColumns { get; set; }
diff --git a/backend/api/api/Services/ExperimentService.cs b/backend/api/api/Services/ExperimentService.cs
index bf44148c..7bdf9a6e 100644
--- a/backend/api/api/Services/ExperimentService.cs
+++ b/backend/api/api/Services/ExperimentService.cs
@@ -22,6 +22,10 @@ namespace api.Services
{
return _experiment.Find(exp=>exp._id == id).FirstOrDefault();
}
+ public Experiment Get(string uploaderId, string name)
+ {
+ return _experiment.Find(exp => exp.uploaderId == uploaderId && exp.name == name ).FirstOrDefault();
+ }
public void Update(string id, Experiment experiment)
{
diff --git a/backend/api/api/Services/IExperimentService.cs b/backend/api/api/Services/IExperimentService.cs
index b18f1ef3..47c86046 100644
--- a/backend/api/api/Services/IExperimentService.cs
+++ b/backend/api/api/Services/IExperimentService.cs
@@ -7,5 +7,6 @@ namespace api.Services
Experiment Create(Experiment experiment);
public Experiment Get(string id);
public List<Experiment> GetMyExperiments(string id);
+ public Experiment Get(string uploaderId, string name);
}
} \ No newline at end of file