diff options
author | TAMARA JERINIC <tamara.jerinic@gmail.com> | 2022-05-04 21:03:11 +0200 |
---|---|---|
committer | TAMARA JERINIC <tamara.jerinic@gmail.com> | 2022-05-04 21:03:11 +0200 |
commit | a5e4128c3c9fd5e6bd901ada19ae41cc4cab256e (patch) | |
tree | 2ae346a7502c57e9e16d4c46023c328bf9d74cfe | |
parent | 4858cd15ec093245e5febc39f3176370c9947ab4 (diff) | |
parent | bae455c30570d97ded6a291238f2393628d7cefa (diff) |
Merge branch 'redesign' of http://gitlab.pmf.kg.ac.rs/igrannonica/neuronstellar into redesign
17 files changed, 165 insertions, 58 deletions
diff --git a/backend/api/api/Controllers/DatasetController.cs b/backend/api/api/Controllers/DatasetController.cs index 58a903eb..1873d9ec 100644 --- a/backend/api/api/Controllers/DatasetController.cs +++ b/backend/api/api/Controllers/DatasetController.cs @@ -18,14 +18,14 @@ namespace api.Controllers private readonly IFileService _fileService; private IJwtToken jwtToken; - public DatasetController(IDatasetService datasetService, IConfiguration configuration,IJwtToken Token,IMlConnectionService mlConnectionService, IFileService fileService) + public DatasetController(IDatasetService datasetService, IConfiguration configuration, IJwtToken Token, IMlConnectionService mlConnectionService, IFileService fileService) { _datasetService = datasetService; _mlConnectionService = mlConnectionService; _fileService = fileService; jwtToken = Token; } - + public string getUserId() { string userId; @@ -116,7 +116,7 @@ namespace api.Controllers if (userId == null) return BadRequest(); - var dataset = _datasetService.GetOneDataset(userId, name); + var dataset = _datasetService.GetOneDatasetN(userId, name); if (dataset == null) return NotFound($"Dataset with name = {name} not found or dataset is not public or not preprocessed"); @@ -129,11 +129,13 @@ namespace api.Controllers public async Task<ActionResult<Dataset>> Post([FromBody] Dataset dataset) { string uploaderId = getUserId(); - + + dataset.uploaderId = uploaderId; + //da li ce preko tokena da se ubaci username ili front salje //dataset.username = usernameToken; //username = "" ako je GUEST DODAO - var existingDataset = _datasetService.GetOneDataset(dataset.uploaderId, dataset.name); + var existingDataset = _datasetService.GetOneDatasetN(dataset.uploaderId, dataset.name); if (existingDataset != null) return NotFound($"Dateset with name = {dataset.name} exisits"); @@ -142,7 +144,7 @@ namespace api.Controllers FileModel fileModel = _fileService.getFile(dataset.fileId); dataset.isPreProcess = false; _datasetService.Create(dataset); - _mlConnectionService.PreProcess(dataset,fileModel.path,uploaderId); + _mlConnectionService.PreProcess(dataset, fileModel.path, uploaderId); return Ok(); } } diff --git a/backend/api/api/Controllers/ExperimentController.cs b/backend/api/api/Controllers/ExperimentController.cs index eecbe756..1cac386a 100644 --- a/backend/api/api/Controllers/ExperimentController.cs +++ b/backend/api/api/Controllers/ExperimentController.cs @@ -53,6 +53,7 @@ namespace api.Controllers return BadRequest(); experiment.uploaderId = uploaderId; + var existingExperiment = _experimentService.Get(uploaderId, experiment.name); if(existingExperiment != null) return NotFound($"Experiment with this name exists"); @@ -99,10 +100,10 @@ namespace api.Controllers if (uploaderId == null) return BadRequest(); - var existingDataset = _experimentService.GetOneExperiment(uploaderId, id); + var existingExperiment = _experimentService.GetOneExperiment(uploaderId, id); //ne mora da se proverava - if (existingDataset == null) + if (existingExperiment == null) return NotFound($"Experiment with ID = {id} or user with ID = {uploaderId} not found"); experiment.lastUpdated = DateTime.UtcNow; @@ -111,5 +112,32 @@ namespace api.Controllers return Ok($"Experiment with ID = {id} updated"); } + + // DELETE api/<ExperimentController>/name + [HttpDelete("{id}")] + [Authorize(Roles = "User")] + public ActionResult Delete(string id) + { + string uploaderId = getUserId(); + + if (uploaderId == null) + return BadRequest(); + + var experiment = _experimentService.GetOneExperiment(uploaderId, id); + + if (experiment == null) + return NotFound($"Experiment with ID = {id} or user with ID = {uploaderId} not found"); + + _experimentService.Delete(experiment.uploaderId, experiment._id); + + return Ok($"Experiment with ID = {id} deleted"); + + } + + public void DeleteHelper(string uploaderId, string experimentId) + { + _experimentService.Delete(uploaderId, experimentId); + } + } } diff --git a/backend/api/api/Controllers/ModelController.cs b/backend/api/api/Controllers/ModelController.cs index d68e98e2..2916fa98 100644 --- a/backend/api/api/Controllers/ModelController.cs +++ b/backend/api/api/Controllers/ModelController.cs @@ -91,10 +91,12 @@ namespace api.Controllers return Ok(); } - - - - + // GET: api/<ModelController>/publicmodels + [HttpGet("publicmodels")] + public ActionResult<List<Model>> GetPublicModels() + { + return _modelService.GetPublicModels(); + } // GET: api/<ModelController>/mymodels [HttpGet("mymodels")] diff --git a/backend/api/api/Interfaces/IDatasetService.cs b/backend/api/api/Interfaces/IDatasetService.cs index f493a2ec..2f7d0010 100644 --- a/backend/api/api/Interfaces/IDatasetService.cs +++ b/backend/api/api/Interfaces/IDatasetService.cs @@ -5,7 +5,8 @@ namespace api.Services { public interface IDatasetService { - Dataset GetOneDataset(string userId, string name); + Dataset GetOneDataset(string userId, string id); + Dataset GetOneDatasetN(string userId, string name); Dataset GetOneDataset(string id); List<Dataset> SearchDatasets(string name); List<Dataset> GetMyDatasets(string userId); diff --git a/backend/api/api/Interfaces/IExperimentService.cs b/backend/api/api/Interfaces/IExperimentService.cs index 2a69cff9..311560e8 100644 --- a/backend/api/api/Interfaces/IExperimentService.cs +++ b/backend/api/api/Interfaces/IExperimentService.cs @@ -8,8 +8,9 @@ namespace api.Services public Experiment Get(string id); public List<Experiment> GetMyExperiments(string id); public Experiment Get(string uploaderId, string name); - Experiment GetOneExperiment(string userId, string name); + Experiment GetOneExperiment(string userId, string id); void Update(string userId, string id, Experiment experiment); + void Delete(string userId, string id); } }
\ No newline at end of file diff --git a/backend/api/api/Interfaces/IModelService.cs b/backend/api/api/Interfaces/IModelService.cs index 00299979..8c4543de 100644 --- a/backend/api/api/Interfaces/IModelService.cs +++ b/backend/api/api/Interfaces/IModelService.cs @@ -3,14 +3,14 @@ using api.Models; namespace api.Services { - public interface IModelService - { + public interface IModelService + { Model GetOneModel(string userId, string name); Model GetOneModel(string id); List<Model> GetMyModels(string userId); List<Model> GetMyModelsByType(string userId, string problemType); List<Model> GetLatestModels(string userId); - //List<Model> GetPublicModels(); + List<Model> GetPublicModels(); Model Create(Model model); Model Replace(Model model); void Update(string userId, string name, Model model); diff --git a/backend/api/api/Models/Model.cs b/backend/api/api/Models/Model.cs index d8921713..f95be715 100644 --- a/backend/api/api/Models/Model.cs +++ b/backend/api/api/Models/Model.cs @@ -40,6 +40,8 @@ namespace api.Models public bool randomOrder { get; set; } public bool randomTestSet { get; set; } public float randomTestSetDistribution { get; set; } + public bool isPublic { get; set; } + public bool accessibleByLink { get; set; } } public class Layer diff --git a/backend/api/api/Services/DatasetService.cs b/backend/api/api/Services/DatasetService.cs index f39cac29..f38a363b 100644 --- a/backend/api/api/Services/DatasetService.cs +++ b/backend/api/api/Services/DatasetService.cs @@ -1,4 +1,5 @@ -using api.Interfaces; +using api.Controllers; +using api.Interfaces; using api.Models; using MongoDB.Driver; @@ -7,11 +8,15 @@ namespace api.Services public class DatasetService : IDatasetService { private readonly IMongoCollection<Dataset> _dataset; + private readonly IMongoCollection<Experiment> _experiment; + private readonly IExperimentService _experimentService; - public DatasetService(IUserStoreDatabaseSettings settings, IMongoClient mongoClient) + public DatasetService(IUserStoreDatabaseSettings settings, IMongoClient mongoClient, IExperimentService experimentService) { var database = mongoClient.GetDatabase(settings.DatabaseName); _dataset = database.GetCollection<Dataset>(settings.DatasetCollectionName); + _experiment = database.GetCollection<Experiment>(settings.ExperimentCollectionName); + _experimentService = experimentService; } public List<Dataset> SearchDatasets(string name) @@ -29,7 +34,13 @@ namespace api.Services //brisanje odredjenog name-a public void Delete(string userId, string id) { - _dataset.DeleteOne(dataset => (dataset.uploaderId == userId && dataset._id == id)); + List<Experiment> experiment = null; + _dataset.DeleteOne(dataset => (dataset.uploaderId == userId && dataset._id == id)); + + experiment = _experiment.Find(experiment => (experiment.datasetId == id && experiment.uploaderId == userId)).ToList(); + + foreach (Experiment experimentItem in experiment) + _experimentService.Delete(userId, experimentItem._id); } public List<Dataset> GetMyDatasets(string userId) @@ -39,7 +50,7 @@ namespace api.Services public List<Dataset> GetGuestDatasets() { //Join Igranonica public datasetove sa svim temp uploadanim datasetovima - List<Dataset> datasets= _dataset.Find(dataset => dataset.uploaderId == "000000000000000000000000" && dataset.isPublic == true && dataset.isPreProcess).ToList(); + List<Dataset> datasets = _dataset.Find(dataset => dataset.uploaderId == "000000000000000000000000" && dataset.isPublic == true && dataset.isPreProcess).ToList(); datasets.AddRange(_dataset.Find(dataset => dataset.uploaderId == "" && dataset.isPreProcess).ToList()); return datasets; } @@ -49,7 +60,7 @@ namespace api.Services { List<Dataset> list = _dataset.Find(dataset => dataset.uploaderId == userId && dataset.isPreProcess).ToList(); - if(ascdsc) + if (ascdsc) list = list.OrderBy(dataset => dataset.lastUpdated).ToList(); else list = list.OrderByDescending(dataset => dataset.lastUpdated).ToList(); @@ -62,7 +73,11 @@ namespace api.Services return _dataset.Find(dataset => dataset.isPublic == true && dataset.isPreProcess).ToList(); } - public Dataset GetOneDataset(string userId, string name) + public Dataset GetOneDataset(string userId, string id) + { + return _dataset.Find(dataset => dataset.uploaderId == userId && dataset._id == id && dataset.isPreProcess).FirstOrDefault(); + } + public Dataset GetOneDatasetN(string userId, string name) { return _dataset.Find(dataset => dataset.uploaderId == userId && dataset.name == name && dataset.isPreProcess).FirstOrDefault(); } @@ -74,13 +89,13 @@ namespace api.Services } //ako je potrebno da se zameni name ili ekstenzija - public void Update(string userId, string id, Dataset dataset ) + public void Update(string userId, string id, Dataset dataset) { _dataset.ReplaceOne(dataset => dataset.uploaderId == userId && dataset._id == id, dataset); } public void Update(Dataset dataset) { - _dataset.ReplaceOne(x=>x._id==dataset._id, dataset); + _dataset.ReplaceOne(x => x._id == dataset._id, dataset); } public string GetDatasetId(string fileId) diff --git a/backend/api/api/Services/ExperimentService.cs b/backend/api/api/Services/ExperimentService.cs index 539e4c08..2ad9d606 100644 --- a/backend/api/api/Services/ExperimentService.cs +++ b/backend/api/api/Services/ExperimentService.cs @@ -7,10 +7,13 @@ namespace api.Services public class ExperimentService : IExperimentService { private readonly IMongoCollection<Experiment> _experiment; + private readonly IMongoCollection<Predictor> _predictor; + public ExperimentService(IUserStoreDatabaseSettings settings, IMongoClient mongoClient) { var database = mongoClient.GetDatabase(settings.DatabaseName); _experiment = database.GetCollection<Experiment>(settings.ExperimentCollectionName); + _predictor = database.GetCollection<Predictor>(settings.PredictorCollectionName); } public Experiment Create(Experiment experiment) @@ -20,31 +23,37 @@ namespace api.Services } public Experiment Get(string id) { - return _experiment.Find(exp=>exp._id == id).FirstOrDefault(); + 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(); + return _experiment.Find(exp => exp.uploaderId == uploaderId && exp.name == name).FirstOrDefault(); } public void Update(string id, Experiment experiment) { _experiment.ReplaceOne(experiment => experiment._id == id, experiment); } - public List<Experiment> GetMyExperiments(string id) + public List<Experiment> GetMyExperiments(string userId) { - return _experiment.Find(e=>e.uploaderId==id).ToList(); + return _experiment.Find(experiment => experiment.uploaderId == userId).ToList(); } - public Experiment GetOneExperiment(string userId, string name) + public Experiment GetOneExperiment(string userId, string id) { - return _experiment.Find(experiment => experiment.uploaderId == userId && experiment.name == name).FirstOrDefault(); + return _experiment.Find(experiment => experiment.uploaderId == userId && experiment._id == id).FirstOrDefault(); } public void Update(string userId, string id, Experiment experiment) { _experiment.ReplaceOne(experiment => experiment.uploaderId == userId && experiment._id == id, experiment); } + + public void Delete(string userId, string id) + { + _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/FillAnEmptyDb.cs b/backend/api/api/Services/FillAnEmptyDb.cs index 99bbb91f..6148efb6 100644 --- a/backend/api/api/Services/FillAnEmptyDb.cs +++ b/backend/api/api/Services/FillAnEmptyDb.cs @@ -19,9 +19,9 @@ namespace api.Services var database = mongoClient.GetDatabase(settings.DatabaseName); _fileService = new FileService(settings, mongoClient); - _datasetService = new DatasetService(settings, mongoClient); - _modelService = new ModelService(settings, mongoClient); _experimentService = new ExperimentService(settings, mongoClient); + _datasetService = new DatasetService(settings, mongoClient, _experimentService); + _modelService = new ModelService(settings, mongoClient); _predictorService = new PredictorService(settings, mongoClient); } @@ -104,6 +104,8 @@ namespace api.Services model.outputLayerActivationFunction = "sigmoid"; model.metrics = new string[] { }; model.epochs = 5; + model.isPublic = true; + model.accessibleByLink = true; _modelService.Create(model); @@ -215,6 +217,8 @@ namespace api.Services model.outputLayerActivationFunction = "relu"; model.metrics = new string[] { }; model.epochs = 5; + model.isPublic = true; + model.accessibleByLink = true; _modelService.Create(model); @@ -321,6 +325,8 @@ namespace api.Services model.outputLayerActivationFunction = "softmax"; model.metrics = new string[] { }; model.epochs = 1; + model.isPublic = true; + model.accessibleByLink = true; _modelService.Create(model); diff --git a/backend/api/api/Services/ModelService.cs b/backend/api/api/Services/ModelService.cs index 12297635..e852d71f 100644 --- a/backend/api/api/Services/ModelService.cs +++ b/backend/api/api/Services/ModelService.cs @@ -5,14 +5,16 @@ using MongoDB.Driver; namespace api.Services { - public class ModelService : IModelService + public class ModelService : IModelService { private readonly IMongoCollection<Model> _model; + private readonly IMongoCollection<Predictor> _predictor; public ModelService(IUserStoreDatabaseSettings settings, IMongoClient mongoClient) { var database = mongoClient.GetDatabase(settings.DatabaseName); _model = database.GetCollection<Model>(settings.ModelCollectionName); + _predictor = database.GetCollection<Predictor>(settings.PredictorCollectionName); } public Model Create(Model model) @@ -28,7 +30,11 @@ namespace api.Services public void Delete(string userId, string name) { + Model model = _model.Find(model => model.uploaderId == userId && model.name == name).FirstOrDefault(); + _model.DeleteOne(model => (model.uploaderId == userId && model.name == name)); + _predictor.DeleteMany(predictor => (predictor.uploaderId == userId && predictor.modelId == model._id)); + } public List<Model> GetMyModels(string userId) @@ -48,12 +54,12 @@ namespace api.Services return list; } - /* + public List<Model> GetPublicModels() { return _model.Find(model => model.isPublic == true).ToList(); } - */ + public Model GetOneModel(string userId, string name) { return _model.Find(model => model.uploaderId == userId && model.name == name).FirstOrDefault(); @@ -93,7 +99,7 @@ namespace api.Services return false; else return true; - + } } } diff --git a/frontend/src/app/_data/Model.ts b/frontend/src/app/_data/Model.ts index 185e2257..526a8290 100644 --- a/frontend/src/app/_data/Model.ts +++ b/frontend/src/app/_data/Model.ts @@ -28,8 +28,10 @@ export default class Model extends FolderFile { // Test set settings public randomOrder: boolean = true, public randomTestSet: boolean = true, - public randomTestSetDistribution: number = 0.1 //0.1-0.9 (10% - 90%) JESTE OVDE ZAKUCANO 10, AL POSLATO JE KAO 0.1 BACK-U + public randomTestSetDistribution: number = 0.1, //0.1-0.9 (10% - 90%) JESTE OVDE ZAKUCANO 10, AL POSLATO JE KAO 0.1 BACK-U + public isPublic: boolean = false, + public accessibleByLink: boolean = false ) { super(name, dateCreated, lastUpdated); } diff --git a/frontend/src/app/_elements/column-table/column-table.component.html b/frontend/src/app/_elements/column-table/column-table.component.html index 543a0018..43895863 100644 --- a/frontend/src/app/_elements/column-table/column-table.component.html +++ b/frontend/src/app/_elements/column-table/column-table.component.html @@ -186,7 +186,7 @@ </mat-menu> <mat-menu #replaceWith="matMenu"> - <input type="text" id={{colInfo.columnName}} mat-menu-item placeholder="Unesi vrednost..." [value]> + <input type="text" id={{colInfo.columnName}} mat-menu-item placeholder="Unesi vrednost..." [value] #enterAValue> <button [disabled]="getValue(colInfo.columnName) == ''" mat-menu-item value={{getValue(colInfo.columnName)}} (click)="MissValsReplaceClicked($event, colInfo.columnName, i)">Potvrdi unos</button> </mat-menu> </div> @@ -225,15 +225,24 @@ </div> <div class="break-1"></div> <div class="ns-col d-flex align-items-center justify-content-center"> - <button mat-button (click)="saveExperiment()" class="bottom-button text-offwhite rounded-bottom"> - <div class="f-row" style="justify-content: space-around;"> - <div>Potvrdi</div> - <div class="icon-double pt-1"> - <mat-icon>check</mat-icon> - <mat-icon>check</mat-icon> + <button *ngIf="experiment._id == ''" mat-button (click)="saveExperiment()" class="bottom-button text-offwhite rounded-bottom"> + <div class="f-row" style="justify-content: space-around; width: 100%;"> + <div>Sačuvaj</div> + <div class="icon-double pt-1"> + <mat-icon>check</mat-icon> + <mat-icon>check</mat-icon> + </div> </div> - </div> - </button> + </button> + <button *ngIf="experiment._id != ''" mat-button (click)="updateExperiment()" class="bottom-button text-offwhite rounded-bottom"> + <div class="f-row" style="justify-content: space-around; width: 100%;"> + <div>Sačuvaj izmene</div> + <div class="icon-double pt-1"> + <mat-icon>check</mat-icon> + <mat-icon>check</mat-icon> + </div> + </div> + </button> </div> </div> </div> diff --git a/frontend/src/app/_elements/column-table/column-table.component.ts b/frontend/src/app/_elements/column-table/column-table.component.ts index c3d4f206..7cac3b27 100644 --- a/frontend/src/app/_elements/column-table/column-table.component.ts +++ b/frontend/src/app/_elements/column-table/column-table.component.ts @@ -10,6 +10,8 @@ import { CsvParseService } from 'src/app/_services/csv-parse.service'; import { ProblemType } from 'src/app/_data/Model'; import { ExperimentsService } from 'src/app/_services/experiments.service'; import { SaveExperimentDialogComponent } from 'src/app/_modals/save-experiment-dialog/save-experiment-dialog.component'; +import { AlertDialogComponent } from 'src/app/_modals/alert-dialog/alert-dialog.component'; +import Shared from 'src/app/Shared'; @Component({ selector: 'app-column-table', @@ -20,7 +22,6 @@ export class ColumnTableComponent implements AfterViewInit { @Input() dataset?: Dataset; @Input() experiment!: Experiment; - @ViewChildren("nullValMenu") nullValMenus!: ElementRef[]; @Output() okPressed: EventEmitter<string> = new EventEmitter(); @Output() columnTableChanged = new EventEmitter(); @@ -49,10 +50,8 @@ export class ColumnTableComponent implements AfterViewInit { this.columnsChecked.push(true); }); - for (let i = 0; i < this.dataset?.columnInfo.length; i++) { - this.experiment.inputColumns.push(this.dataset.columnInfo[i].columnName); - } - this.experiment.outputColumn = this.experiment.inputColumns[0]; + this.resetInputColumns(); + this.resetOutputColumn(); this.resetColumnEncodings(Encoding.Label); this.setDeleteRowsForMissingValTreatment(); @@ -81,6 +80,18 @@ export class ColumnTableComponent implements AfterViewInit { } } + resetInputColumns() { + if (this.dataset != undefined) { + this.experiment.inputColumns = []; + for (let i = 0; i < this.dataset?.columnInfo.length; i++) { + this.experiment.inputColumns.push(this.dataset.columnInfo[i].columnName); + } + } + } + resetOutputColumn() { + this.experiment.outputColumn = this.experiment.inputColumns[0]; + } + setDeleteRowsForMissingValTreatment() { if (this.experiment != undefined) { this.experiment.nullValues = NullValueOptions.DeleteRows; @@ -212,13 +223,17 @@ export class ColumnTableComponent implements AfterViewInit { this.experiment.name = selectedName; //napravi odvojene dugmice za save i update -> za update nece da se otvara dijalog za ime this.experimentService.addExperiment(this.experiment).subscribe((response) => { - console.log(response); + this.experiment = response; this.okPressed.emit(); }); }); } - - + + openUpdateExperimentDialog() { + this.experimentService.updateExperiment(this.experiment).subscribe((response) => { + Shared.openDialog("Izmena eksperimenta", "Uspešno ste izmenili podatke o eksperimentu."); + }); + } MissValsDeleteClicked(event: Event, replacementType: NullValueOptions, index: number) { if (this.experiment != undefined && this.dataset != undefined) { @@ -272,6 +287,9 @@ export class ColumnTableComponent implements AfterViewInit { saveExperiment() { this.openSaveExperimentDialog(); } + updateExperiment() { + this.openUpdateExperimentDialog(); + } tabs = [ diff --git a/frontend/src/app/_modals/save-experiment-dialog/save-experiment-dialog.component.html b/frontend/src/app/_modals/save-experiment-dialog/save-experiment-dialog.component.html index a0b5d771..bac73e0a 100644 --- a/frontend/src/app/_modals/save-experiment-dialog/save-experiment-dialog.component.html +++ b/frontend/src/app/_modals/save-experiment-dialog/save-experiment-dialog.component.html @@ -1,10 +1,11 @@ <h1 mat-dialog-title>Čuvanje eksperimenta</h1> <div mat-dialog-content> - <p>Unesite naziv eksperimenta:</p> + <span>Unesi naziv eksperimenta:</span> <mat-form-field> <input type="text" matInput [(ngModel)]="selectedName"> </mat-form-field> - <p>Da li ste sigurni u izbor?</p> + <br><br> + <p>Sačuvaj eksperiment:</p> </div> <div mat-dialog-actions> <button mat-button [mat-dialog-close]="selectedName" cdkFocusInitial>Da</button> diff --git a/frontend/src/app/_pages/experiment/experiment.component.ts b/frontend/src/app/_pages/experiment/experiment.component.ts index 28552664..3c8d8651 100644 --- a/frontend/src/app/_pages/experiment/experiment.component.ts +++ b/frontend/src/app/_pages/experiment/experiment.component.ts @@ -120,7 +120,7 @@ export class ExperimentComponent implements AfterViewInit { columnTableChangedEvent() { //sta se desi kad se nesto promeni u column-table komponenti... - console.log("promenio se column-table"); + //console.log("promenio se column-table"); } setDataset(dataset: FolderFile) { diff --git a/frontend/src/app/_services/models.service.ts b/frontend/src/app/_services/models.service.ts index d79e2781..fc888556 100644 --- a/frontend/src/app/_services/models.service.ts +++ b/frontend/src/app/_services/models.service.ts @@ -53,4 +53,9 @@ export class ModelsService { deleteModel(model: Model) { return this.http.delete(`${Configuration.settings.apiURL}/model/` + model.name, { headers: this.authService.authHeader(), responseType: "text" }); } + + getPublicModels(): Observable<Model[]> { + return this.http.get<Model[]>(`${Configuration.settings.apiURL}/model/publicmodels`, { headers: this.authService.authHeader() }); + } + } |