diff options
Diffstat (limited to 'backend/api')
-rw-r--r-- | backend/api/api/Controllers/ExperimentController.cs | 4 | ||||
-rw-r--r-- | backend/api/api/Models/Experiment.cs | 3 | ||||
-rw-r--r-- | backend/api/api/Services/ExperimentService.cs | 4 | ||||
-rw-r--r-- | backend/api/api/Services/IExperimentService.cs | 1 |
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 |