diff options
6 files changed, 15 insertions, 4 deletions
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/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; + } } } diff --git a/frontend/src/app/_elements/form-dataset/form-dataset.component.html b/frontend/src/app/_elements/form-dataset/form-dataset.component.html index 78bb4bd1..024f58e8 100644 --- a/frontend/src/app/_elements/form-dataset/form-dataset.component.html +++ b/frontend/src/app/_elements/form-dataset/form-dataset.component.html @@ -10,7 +10,7 @@ <div role="group"> <mat-form-field class="example-full-width" appearance="fill"> <mat-label>Naziv</mat-label> - <input type="text" matInput value="{{dataset?.name}}" [(ngModel)]="dataset.name" (change)="editEvent.emit()"> + <input type="text" matInput value="{{dataset?.name}}" [(ngModel)]="dataset.name" (input)="editEvent.emit()"> <mat-error *ngIf="nameFormControl.hasError('required')"> diff --git a/frontend/src/app/_services/datasets.service.ts b/frontend/src/app/_services/datasets.service.ts index 3fb4e8f2..2775613c 100644 --- a/frontend/src/app/_services/datasets.service.ts +++ b/frontend/src/app/_services/datasets.service.ts @@ -44,8 +44,8 @@ export class DatasetsService { return this.http.get<Dataset>(`${Configuration.settings.apiURL}/dataset/get/${datasetId}`, { headers: this.authService.authHeader() }); } - editDataset(dataset: Dataset): Observable<Dataset> { - return this.http.put<Dataset>(`${Configuration.settings.apiURL}/dataset/` + dataset._id, dataset, { headers: this.authService.authHeader() }); + editDataset(dataset: Dataset){ + return this.http.put(`${Configuration.settings.apiURL}/dataset/` + dataset._id, dataset, { headers: this.authService.authHeader() ,responseType:'text'}); } deleteDataset(dataset: Dataset) { |