From c3cc4c680bed2d2d00743bc03e6dc01501f90e25 Mon Sep 17 00:00:00 2001 From: Ivan Ljubisavljevic Date: Sun, 17 Apr 2022 23:53:42 +0200 Subject: Izbacen username iz datasetova, modela, prediktora itd (sa beka i fronta) #71 --- backend/api/api/Controllers/DatasetController.cs | 76 +++++++++------------- backend/api/api/Controllers/ModelController.cs | 69 ++++++++------------ backend/api/api/Controllers/PredictorController.cs | 55 ++++++++-------- backend/api/api/Models/Dataset.cs | 2 +- backend/api/api/Models/Model.cs | 2 +- backend/api/api/Models/Predictor.cs | 2 +- backend/api/api/Services/DatasetService.cs | 28 ++++---- backend/api/api/Services/IDatasetService.cs | 12 ++-- backend/api/api/Services/IModelService.cs | 10 +-- backend/api/api/Services/IPredictorService.cs | 8 +-- backend/api/api/Services/MlConnectionService.cs | 2 +- backend/api/api/Services/ModelService.cs | 22 +++---- backend/api/api/Services/PredictorService.cs | 16 ++--- backend/api/api/Services/TempRemovalService.cs | 6 +- backend/api/api/Services/UserService.cs | 12 ++-- 15 files changed, 145 insertions(+), 177 deletions(-) (limited to 'backend/api') diff --git a/backend/api/api/Controllers/DatasetController.cs b/backend/api/api/Controllers/DatasetController.cs index add85aba..bdac9ed9 100644 --- a/backend/api/api/Controllers/DatasetController.cs +++ b/backend/api/api/Controllers/DatasetController.cs @@ -25,22 +25,23 @@ namespace api.Controllers _fileService = fileService; jwtToken = Token; } - public string getUsername() + + public string getUserId() { - string username; + string userId; var header = Request.Headers[HeaderNames.Authorization]; if (AuthenticationHeaderValue.TryParse(header, out var headerValue)) { var scheme = headerValue.Scheme; var parameter = headerValue.Parameter; - username = jwtToken.TokenToUsername(parameter); - if (username == null) + userId = jwtToken.TokenToId(parameter); + if (userId == null) return null; } else return null; - return username; + return userId; } // GET: api//mydatasets @@ -48,17 +49,17 @@ namespace api.Controllers [Authorize(Roles = "User,Guest")] public ActionResult> Get() { - string username = getUsername(); + string userId = getUserId(); - if (username == null) + if (userId == null) return BadRequest(); - if (username == "") + if (userId == "") return _datasetService.GetGuestDatasets(); //ako bude trebao ID, samo iz baze uzeti - return _datasetService.GetMyDatasets(username); + return _datasetService.GetMyDatasets(userId); } // GET: api//datesort/{ascdsc}/{latest} @@ -69,12 +70,12 @@ namespace api.Controllers [Authorize(Roles = "User")] public ActionResult> SortDatasets(bool ascdsc, int latest) { - string username = getUsername(); + string userId = getUserId(); - if (username == null) + if (userId == null) return BadRequest(); - List lista = _datasetService.SortDatasets(username, ascdsc, latest); + List lista = _datasetService.SortDatasets(userId, ascdsc, latest); if (latest == 0) return lista; @@ -100,14 +101,7 @@ namespace api.Controllers [Authorize(Roles = "User")] public ActionResult> Search(string name) { - string username = getUsername(); - - if (username == null) - return BadRequest(); - - //ako bude trebao ID, samo iz baze uzeti - - return _datasetService.SearchDatasets(name, username); + return _datasetService.SearchDatasets(name); } @@ -117,12 +111,12 @@ namespace api.Controllers [Authorize(Roles = "User")] public ActionResult Get(string name) { - string username = getUsername(); + string userId = getUserId(); - if (username == null) + if (userId == null) return BadRequest(); - var dataset = _datasetService.GetOneDataset(username, name); + var dataset = _datasetService.GetOneDataset(userId, name); if (dataset == null) return NotFound($"Dataset with name = {name} not found or dataset is not public or not preprocessed"); @@ -134,22 +128,12 @@ namespace api.Controllers [Authorize(Roles = "User,Guest")] public async Task> Post([FromBody] Dataset dataset) { - string uploaderId; - var header = Request.Headers[HeaderNames.Authorization]; - if (AuthenticationHeaderValue.TryParse(header, out var headerValue)) - { - var scheme = headerValue.Scheme; - var parameter = headerValue.Parameter; - uploaderId = jwtToken.TokenToId(parameter); - if (uploaderId == null) - return null; - } - else - return BadRequest(); + string uploaderId = getUserId(); + //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.username, dataset.name); + var existingDataset = _datasetService.GetOneDataset(dataset.uploaderId, dataset.name); if (existingDataset != null) return NotFound($"Dateset with name = {dataset.name} exisits"); @@ -169,20 +153,20 @@ namespace api.Controllers [Authorize(Roles = "User")] public ActionResult Put(string name, [FromBody] Dataset dataset) { - string username = getUsername(); + string uploaderId = getUserId(); - if (username == null) + if (uploaderId == null) return BadRequest(); - var existingDataset = _datasetService.GetOneDataset(username, name); + var existingDataset = _datasetService.GetOneDataset(uploaderId, name); //ne mora da se proverava if (existingDataset == null) - return NotFound($"Dataset with name = {name} or user with username = {username} not found"); + return NotFound($"Dataset with name = {name} or user with ID = {uploaderId} not found"); dataset.lastUpdated = DateTime.UtcNow; - _datasetService.Update(username, name, dataset); + _datasetService.Update(uploaderId, name, dataset); return Ok($"Dataset with name = {name} updated"); } @@ -192,17 +176,17 @@ namespace api.Controllers [Authorize(Roles = "User")] public ActionResult Delete(string name) { - string username = getUsername(); + string uploaderId = getUserId(); - if (username == null) + if (uploaderId == null) return BadRequest(); - var dataset = _datasetService.GetOneDataset(username, name); + var dataset = _datasetService.GetOneDataset(uploaderId, name); if (dataset == null) - return NotFound($"Dataset with name = {name} or user with username = {username} not found"); + return NotFound($"Dataset with name = {name} or user with ID = {uploaderId} not found"); - _datasetService.Delete(dataset.username, dataset.name); + _datasetService.Delete(dataset.uploaderId, dataset.name); return Ok($"Dataset with name = {name} deleted"); diff --git a/backend/api/api/Controllers/ModelController.cs b/backend/api/api/Controllers/ModelController.cs index 04c072da..1ec01ab8 100644 --- a/backend/api/api/Controllers/ModelController.cs +++ b/backend/api/api/Controllers/ModelController.cs @@ -56,23 +56,6 @@ namespace api.Controllers return uploaderId; } - public string getUsername() - { - string username; - var header = Request.Headers[HeaderNames.Authorization]; - if (AuthenticationHeaderValue.TryParse(header, out var headerValue)) - { - var scheme = headerValue.Scheme; - var parameter = headerValue.Parameter; - username = jwtToken.TokenToUsername(parameter); - if (username == null) - return null; - } - else - return null; - - return username; - } [HttpPost("trainModel")] [Authorize(Roles = "User,Guest")] @@ -81,16 +64,16 @@ namespace api.Controllers string experimentId = trainModelObject.ExperimentId; string modelId = trainModelObject.ModelId; - string uploaderId = getUserId(); + string userId = getUserId(); - if (uploaderId == null) + if (userId == null) return BadRequest(); var experiment=_experimentService.Get(experimentId); var dataset = _datasetService.GetOneDataset(experiment.datasetId); - var filepath = _fileService.GetFilePath(dataset.fileId, uploaderId); + var filepath = _fileService.GetFilePath(dataset.fileId, userId); var model = _modelService.GetOneModel(modelId); - _mlService.TrainModel(model,experiment,filepath,dataset,uploaderId);//To do Obavestiti korisnika kada se model istrenira + _mlService.TrainModel(model,experiment,filepath,dataset, userId);//To do Obavestiti korisnika kada se model istrenira return Ok(); } @@ -99,7 +82,7 @@ namespace api.Controllers { var model=_modelService.GetOneModel(info.ModelId); - var user = _userService.GetUserByUsername(model.username); + var user = _userService.GetUserByUsername(model.uploaderId); if (ChatHub.CheckUser(user._id)) await _ichat.Clients.Client(ChatHub.Users[user._id]).SendAsync("NotifyEpoch",model.name,info.ModelId,info.Stat,model.epochs,info.EpochNum); @@ -117,12 +100,12 @@ namespace api.Controllers [Authorize(Roles = "User")] public ActionResult> Get() { - string username = getUsername(); - - if (username == null) + string uploaderId = getUserId(); + + if (uploaderId == null) return BadRequest(); - return _modelService.GetMyModels(username); + return _modelService.GetMyModels(uploaderId); } // vraca svoj model prema nekom imenu @@ -131,12 +114,12 @@ namespace api.Controllers [Authorize(Roles = "User")] public ActionResult Get(string name) { - string username = getUsername(); + string userId = getUserId(); - if (username == null) + if (userId == null) return BadRequest(); - var model = _modelService.GetOneModel(username, name); + var model = _modelService.GetOneModel(userId, name); if (model == null) return NotFound($"Model with name = {name} not found"); @@ -155,14 +138,14 @@ namespace api.Controllers [Authorize(Roles = "User")] public ActionResult> GetLatestModels(int latest) { - string username = getUsername(); + string userId = getUserId(); - if (username == null) + if (userId == null) return BadRequest(); //ako bude trebao ID, samo iz baze uzeti - List lista = _modelService.GetLatestModels(username); + List lista = _modelService.GetLatestModels(userId); List novaLista = new List(); @@ -185,7 +168,7 @@ namespace api.Controllers /*if (_modelService.CheckHyperparameters(1, model.hiddenLayerNeurons, model.hiddenLayers, model.outputNeurons) == false) return BadRequest("Bad parameters!");*/ - var existingModel = _modelService.GetOneModel(model.username, model.name); + var existingModel = _modelService.GetOneModel(model.uploaderId, model.name); if (existingModel != null && !overwrite) return NotFound($"Model with name = {model.name} exisits"); @@ -209,18 +192,18 @@ namespace api.Controllers [Authorize(Roles = "User")] public ActionResult Put(string name, [FromBody] Model model) { - string username = getUsername(); + string userId = getUserId(); - if (username == null) + if (userId == null) return BadRequest(); - var existingModel = _modelService.GetOneModel(username, name); + var existingModel = _modelService.GetOneModel(userId, name); if (existingModel == null) - return NotFound($"Model with name = {name} or user with username = {username} not found"); + return NotFound($"Model with name = {name} or user with ID = {userId} not found"); - _modelService.Update(username, name, model); + _modelService.Update(userId, name, model); return NoContent(); } @@ -229,17 +212,17 @@ namespace api.Controllers [Authorize(Roles = "User")] public ActionResult Delete(string name) { - string username = getUsername(); + string userId = getUserId(); - if (username == null) + if (userId == null) return BadRequest(); - var model = _modelService.GetOneModel(username, name); + var model = _modelService.GetOneModel(userId, name); if (model == null) - return NotFound($"Model with name = {name} or user with username = {username} not found"); + return NotFound($"Model with name = {name} or user with ID = {userId} not found"); - _modelService.Delete(model.username, model.name); + _modelService.Delete(model.uploaderId, model.name); return Ok($"Model with name = {name} deleted"); diff --git a/backend/api/api/Controllers/PredictorController.cs b/backend/api/api/Controllers/PredictorController.cs index 64907dac..26fe8f1d 100644 --- a/backend/api/api/Controllers/PredictorController.cs +++ b/backend/api/api/Controllers/PredictorController.cs @@ -32,22 +32,22 @@ namespace api.Controllers _modelService = modelService; } - public string getUsername() + public string getUserId() { - string username; + string uploaderId; var header = Request.Headers[HeaderNames.Authorization]; if (AuthenticationHeaderValue.TryParse(header, out var headerValue)) { var scheme = headerValue.Scheme; var parameter = headerValue.Parameter; - username = jwtToken.TokenToUsername(parameter); - if (username == null) + uploaderId = jwtToken.TokenToId(parameter); + if (uploaderId == null) return null; } else return null; - return username; + return uploaderId; } // GET: api//mypredictors @@ -55,12 +55,12 @@ namespace api.Controllers [Authorize(Roles = "User")] public ActionResult> Get() { - string username = getUsername(); + string userId = getUserId(); - if (username == null) + if (userId == null) return BadRequest(); - return _predictorService.GetMyPredictors(username); + return _predictorService.GetMyPredictors(userId); } // GET: api//publicpredictors @@ -90,12 +90,12 @@ namespace api.Controllers [Authorize(Roles = "User,Guest")] public ActionResult GetPredictor(string id) { - string username = getUsername(); + string userId = getUserId(); - if (username == null) + if (userId == null) return BadRequest(); - Predictor predictor = _predictorService.GetPredictor(username, id); + Predictor predictor = _predictorService.GetPredictor(userId, id); if (predictor == null) return NotFound($"Predictor with id = {id} not found"); @@ -108,11 +108,12 @@ namespace api.Controllers [Authorize(Roles = "User")] public ActionResult Get(string id) { - string username = getUsername(); + string userId = getUserId(); - if (username == null) + if (userId == null) return BadRequest(); + //treba userId da se salje GetOnePredictor var predictor = _predictorService.GetOnePredictor(id); if (predictor == null) @@ -130,12 +131,12 @@ namespace api.Controllers [Authorize(Roles = "User")] public ActionResult> SortPredictors(bool ascdsc, int latest) { - string username = getUsername(); + string userId = getUserId(); - if (username == null) + if (userId == null) return BadRequest(); - List lista = _predictorService.SortPredictors(username, ascdsc, latest); + List lista = _predictorService.SortPredictors(userId, ascdsc, latest); if(latest == 0) return lista; @@ -154,7 +155,7 @@ namespace api.Controllers [HttpPost("add")] public async Task> Post([FromBody] Predictor predictor) { - var user=_userService.GetUserByUsername(predictor.username); + var user=_userService.GetUserById(predictor.uploaderId); predictor.dateCreated = DateTime.Now.ToUniversalTime(); var model = _modelService.GetOneModel(predictor.modelId); if (model == null || user==null) @@ -171,12 +172,12 @@ namespace api.Controllers [Authorize(Roles = "User,Guest")] public async Task UsePredictor(String id, [FromBody] PredictorColumns[] inputs) { - string username = getUsername(); + string userId = getUserId(); - if (username == null) + if (userId == null) return BadRequest(); - Predictor predictor = _predictorService.GetPredictor(username, id); + Predictor predictor = _predictorService.GetPredictor(userId, id); Experiment e = _experimentService.Get(predictor.experimentId); @@ -195,16 +196,16 @@ namespace api.Controllers [Authorize(Roles = "User")] public ActionResult Put(string id, [FromBody] Predictor predictor) { - string username = getUsername(); + string userId = getUserId(); - if (username == null) + if (userId == null) return BadRequest(); var existingPredictor = _predictorService.GetOnePredictor(id); //ne mora da se proverava if (existingPredictor == null) - return NotFound($"Predictor with id = {id} or user with username = {username} not found"); + return NotFound($"Predictor with id = {id} or user with ID = {userId} not found"); _predictorService.Update(id, predictor); @@ -216,17 +217,17 @@ namespace api.Controllers [Authorize(Roles = "User")] public ActionResult Delete(string id) { - string username = getUsername(); + string userId = getUserId(); - if (username == null) + if (userId == null) return BadRequest(); var predictor = _predictorService.GetOnePredictor(id); if (predictor == null) - return NotFound($"Predictor with id = {id} or user with username = {username} not found"); + return NotFound($"Predictor with id = {id} or user with ID = {userId} not found"); - _predictorService.Delete(id); + _predictorService.Delete(id, userId); return Ok($"Predictor with id = {id} deleted"); diff --git a/backend/api/api/Models/Dataset.cs b/backend/api/api/Models/Dataset.cs index 47814449..cc7185f0 100644 --- a/backend/api/api/Models/Dataset.cs +++ b/backend/api/api/Models/Dataset.cs @@ -7,7 +7,7 @@ namespace api.Models public class Dataset { public Dataset() { } - public string username { get; set; } + public string uploaderId { get; set; } [BsonId] [BsonRepresentation(BsonType.ObjectId)]//mongo data type to .net diff --git a/backend/api/api/Models/Model.cs b/backend/api/api/Models/Model.cs index 72ee093b..a9dbfbdd 100644 --- a/backend/api/api/Models/Model.cs +++ b/backend/api/api/Models/Model.cs @@ -9,7 +9,7 @@ namespace api.Models [BsonId] [BsonRepresentation(BsonType.ObjectId)]//mongo data type to .net public string _id { get; set; } - public string username { get; set; } + public string uploaderId { get; set; } public string name { get; set; } diff --git a/backend/api/api/Models/Predictor.cs b/backend/api/api/Models/Predictor.cs index 26371d2a..8608d766 100644 --- a/backend/api/api/Models/Predictor.cs +++ b/backend/api/api/Models/Predictor.cs @@ -9,7 +9,7 @@ namespace api.Models [BsonId] [BsonRepresentation(BsonType.ObjectId)]//mongo data type to .net public string _id { get; set; } - public string username { get; set; } + public string uploaderId { get; set; } //public string name { get; set; } //public string description { get; set; } public string[] inputs { get; set; } diff --git a/backend/api/api/Services/DatasetService.cs b/backend/api/api/Services/DatasetService.cs index 176ab424..33026687 100644 --- a/backend/api/api/Services/DatasetService.cs +++ b/backend/api/api/Services/DatasetService.cs @@ -14,7 +14,7 @@ namespace api.Services _dataset = database.GetCollection(settings.DatasetCollectionName); } - public List SearchDatasets(string name, string username) + public List SearchDatasets(string name) { return _dataset.Find(dataset => dataset.name == name && dataset.isPublic == true && dataset.isPreProcess).ToList(); } @@ -27,27 +27,27 @@ namespace api.Services } //brisanje odredjenog name-a - public void Delete(string username, string name) + public void Delete(string userId, string name) { - _dataset.DeleteOne(dataset => (dataset.username == username && dataset.name == name)); + _dataset.DeleteOne(dataset => (dataset.uploaderId == userId && dataset.name == name)); } - public List GetMyDatasets(string username) + public List GetMyDatasets(string userId) { - return _dataset.Find(dataset => dataset.username == username && dataset.isPreProcess).ToList(); + return _dataset.Find(dataset => dataset.uploaderId == userId && dataset.isPreProcess).ToList(); } public List GetGuestDatasets() { //Join Igranonica public datasetove sa svim temp uploadanim datasetovima - List datasets= _dataset.Find(dataset => dataset.username == "Igrannonica" && dataset.isPublic == true && dataset.isPreProcess).ToList(); - datasets.AddRange(_dataset.Find(dataset => dataset.username == "" && dataset.isPreProcess).ToList()); + List datasets= _dataset.Find(dataset => dataset.uploaderId == "Igrannonica" && dataset.isPublic == true && dataset.isPreProcess).ToList(); + datasets.AddRange(_dataset.Find(dataset => dataset.uploaderId == "" && dataset.isPreProcess).ToList()); return datasets; } //poslednji datasetovi - public List SortDatasets(string username, bool ascdsc, int latest) + public List SortDatasets(string userId, bool ascdsc, int latest) { - List list = _dataset.Find(dataset => dataset.username == username && dataset.isPreProcess).ToList(); + List list = _dataset.Find(dataset => dataset.uploaderId == userId && dataset.isPreProcess).ToList(); if(ascdsc) list = list.OrderBy(dataset => dataset.lastUpdated).ToList(); @@ -62,9 +62,9 @@ namespace api.Services return _dataset.Find(dataset => dataset.isPublic == true && dataset.isPreProcess).ToList(); } - public Dataset GetOneDataset(string username, string name) + public Dataset GetOneDataset(string userId, string name) { - return _dataset.Find(dataset => dataset.username == username && dataset.name == name && dataset.isPreProcess).FirstOrDefault(); + return _dataset.Find(dataset => dataset.uploaderId == userId && dataset.name == name && dataset.isPreProcess).FirstOrDefault(); } //odraditi za pretragu getOne @@ -74,9 +74,9 @@ namespace api.Services } //ako je potrebno da se zameni name ili ekstenzija - public void Update(string username, string name, Dataset dataset ) + public void Update(string userId, string name, Dataset dataset ) { - _dataset.ReplaceOne(dataset => dataset.username == username && dataset.name == name, dataset); + _dataset.ReplaceOne(dataset => dataset.uploaderId == userId && dataset.name == name, dataset); } public void Update(Dataset dataset) { @@ -85,7 +85,7 @@ namespace api.Services public string GetDatasetId(string fileId) { - Dataset dataset = _dataset.Find(dataset => dataset.fileId == fileId && dataset.username == "Igrannonica").FirstOrDefault(); + Dataset dataset = _dataset.Find(dataset => dataset.fileId == fileId && dataset.uploaderId == "Igrannonica").FirstOrDefault(); return dataset._id; } diff --git a/backend/api/api/Services/IDatasetService.cs b/backend/api/api/Services/IDatasetService.cs index c6138943..b700e87c 100644 --- a/backend/api/api/Services/IDatasetService.cs +++ b/backend/api/api/Services/IDatasetService.cs @@ -5,15 +5,15 @@ namespace api.Services { public interface IDatasetService { - Dataset GetOneDataset(string username, string name); + Dataset GetOneDataset(string userId, string name); Dataset GetOneDataset(string id); - List SearchDatasets(string name, string username); - List GetMyDatasets(string username); - List SortDatasets(string username, bool ascdsc, int latest); + List SearchDatasets(string name); + List GetMyDatasets(string userId); + List SortDatasets(string userId, bool ascdsc, int latest); List GetPublicDatasets(); Dataset Create(Dataset dataset); - void Update(string username, string name, Dataset dataset); - void Delete(string username, string name); + void Update(string userId, string name, Dataset dataset); + void Delete(string userId, string name); public List GetGuestDatasets(); public void Update(Dataset dataset); string GetDatasetId(string fileId); diff --git a/backend/api/api/Services/IModelService.cs b/backend/api/api/Services/IModelService.cs index e10b8f3b..bcb82e2d 100644 --- a/backend/api/api/Services/IModelService.cs +++ b/backend/api/api/Services/IModelService.cs @@ -5,16 +5,16 @@ namespace api.Services { public interface IModelService { - Model GetOneModel(string username, string name); + Model GetOneModel(string userId, string name); Model GetOneModel(string id); - List GetMyModels(string username); - List GetLatestModels(string username); + List GetMyModels(string userId); + List GetLatestModels(string userId); //List GetPublicModels(); Model Create(Model model); Model Replace(Model model); - void Update(string username, string name, Model model); + void Update(string userId, string name, Model model); public void Update(string id, Model model); - void Delete(string username, string name); + void Delete(string userId, string name); bool CheckHyperparameters(int inputNeurons, int hiddenLayerNeurons, int hiddenLayers, int outputNeurons); bool CheckDb(); } diff --git a/backend/api/api/Services/IPredictorService.cs b/backend/api/api/Services/IPredictorService.cs index 7c31215e..16f0432a 100644 --- a/backend/api/api/Services/IPredictorService.cs +++ b/backend/api/api/Services/IPredictorService.cs @@ -5,12 +5,12 @@ namespace api.Services public interface IPredictorService { Predictor Create(Predictor predictor); - void Delete(string id); - List GetMyPredictors(string username); + void Delete(string id, string userId); + List GetMyPredictors(string userId); Predictor GetOnePredictor(string id); - Predictor GetPredictor(string username, string id); + Predictor GetPredictor(string userId, string id); List GetPublicPredictors(); - List SortPredictors(string username, bool ascdsc, int latest); + List SortPredictors(string userId, bool ascdsc, int latest); void Update(string id, Predictor predictor); } } \ No newline at end of file diff --git a/backend/api/api/Services/MlConnectionService.cs b/backend/api/api/Services/MlConnectionService.cs index 22db0aea..17c0f8b8 100644 --- a/backend/api/api/Services/MlConnectionService.cs +++ b/backend/api/api/Services/MlConnectionService.cs @@ -67,7 +67,7 @@ namespace api.Services public async Task Predict(Predictor predictor, Experiment experiment, PredictorColumns[] inputs) { - string filePath = _fileService.GetFilePath(predictor.h5FileId, predictor.username); + string filePath = _fileService.GetFilePath(predictor.h5FileId, predictor.uploaderId); var request = new RestRequest("predict", Method.Post); request.AddParameter("predictor", JsonConvert.SerializeObject(predictor)); diff --git a/backend/api/api/Services/ModelService.cs b/backend/api/api/Services/ModelService.cs index c21844f7..d3ff9bf9 100644 --- a/backend/api/api/Services/ModelService.cs +++ b/backend/api/api/Services/ModelService.cs @@ -26,18 +26,18 @@ namespace api.Services return model; } - public void Delete(string username, string name) + public void Delete(string userId, string name) { - _model.DeleteOne(model => (model.username == username && model.name == name)); + _model.DeleteOne(model => (model.uploaderId == userId && model.name == name)); } - public List GetMyModels(string username) + public List GetMyModels(string userId) { - return _model.Find(model => model.username == username).ToList(); + return _model.Find(model => model.uploaderId == userId).ToList(); } - public List GetLatestModels(string username) + public List GetLatestModels(string userId) { - List list = _model.Find(model => model.username == username).ToList(); + List list = _model.Find(model => model.uploaderId == userId).ToList(); list = list.OrderByDescending(model => model.lastUpdated).ToList(); @@ -50,9 +50,9 @@ namespace api.Services return _model.Find(model => model.isPublic == true).ToList(); } */ - public Model GetOneModel(string username, string name) + public Model GetOneModel(string userId, string name) { - return _model.Find(model => model.username == username && model.name == name).FirstOrDefault(); + return _model.Find(model => model.uploaderId == userId && model.name == name).FirstOrDefault(); } public Model GetOneModel(string id) @@ -60,9 +60,9 @@ namespace api.Services return _model.Find(model => model._id == id).FirstOrDefault(); } - public void Update(string username, string name, Model model) + public void Update(string userId, string name, Model model) { - _model.ReplaceOne(model => model.username == username && model.name == name, model); + _model.ReplaceOne(model => model.uploaderId == userId && model.name == name, model); } public void Update(string id, Model model) { @@ -83,7 +83,7 @@ namespace api.Services public bool CheckDb() { Model? model = null; - model = _model.Find(model => model.username == "igrannonica").FirstOrDefault(); + model = _model.Find(model => model.uploaderId == "Igrannonica").FirstOrDefault(); if (model != null) return false; diff --git a/backend/api/api/Services/PredictorService.cs b/backend/api/api/Services/PredictorService.cs index 144248d4..756cc943 100644 --- a/backend/api/api/Services/PredictorService.cs +++ b/backend/api/api/Services/PredictorService.cs @@ -21,14 +21,14 @@ namespace api.Services return predictor; } - public void Delete(string id) + public void Delete(string id, string userId) { - _predictor.DeleteOne(predictor => (predictor._id == id)); + _predictor.DeleteOne(predictor => (predictor._id == id && predictor.uploaderId == userId)); } - public List GetMyPredictors(string username) + public List GetMyPredictors(string userId) { - return _predictor.Find(predictor => predictor.username == username).ToList(); + return _predictor.Find(predictor => predictor.uploaderId == userId).ToList(); } public Predictor GetOnePredictor(string id) @@ -36,15 +36,15 @@ namespace api.Services return _predictor.Find(predictor => predictor._id == id).FirstOrDefault(); } - public Predictor GetPredictor(string username, string id) + public Predictor GetPredictor(string userId, string id) { - return _predictor.Find(predictor => predictor._id == id && (predictor.username == username || predictor.isPublic == true)).FirstOrDefault(); + return _predictor.Find(predictor => predictor._id == id && (predictor.uploaderId == userId || predictor.isPublic == true)).FirstOrDefault(); } - public List SortPredictors(string username, bool ascdsc, int latest) + public List SortPredictors(string userId, bool ascdsc, int latest) { - List list = _predictor.Find(predictor => predictor.username == username).ToList(); + List list = _predictor.Find(predictor => predictor.uploaderId == userId).ToList(); if (ascdsc) list = list.OrderBy(predictor => predictor.dateCreated).ToList(); diff --git a/backend/api/api/Services/TempRemovalService.cs b/backend/api/api/Services/TempRemovalService.cs index e7f366a3..302ca974 100644 --- a/backend/api/api/Services/TempRemovalService.cs +++ b/backend/api/api/Services/TempRemovalService.cs @@ -27,7 +27,7 @@ namespace api.Services if ((DateTime.Now.ToUniversalTime() - file.date).TotalDays >= 1) { DeleteFile(file._id); - List datasets = _dataset.Find(dataset => dataset.fileId == file._id && dataset.username=="").ToList(); + List datasets = _dataset.Find(dataset => dataset.fileId == file._id && dataset.uploaderId=="").ToList(); foreach(var dataset in datasets) { DeleteDataset(dataset._id); @@ -37,7 +37,7 @@ namespace api.Services DeleteExperiment(experiment._id); foreach(var modelId in experiment.ModelIds) { - var delModel=_model.Find(model=> modelId== model._id && model.username=="").FirstOrDefault(); + var delModel=_model.Find(model=> modelId== model._id && model.uploaderId=="").FirstOrDefault(); if(delModel!= null) DeleteModel(delModel._id); } @@ -48,7 +48,7 @@ namespace api.Services } } //Brisanje modela ukoliko gost koristi vec postojeci dataset - List models1= _model.Find(model =>model.username == "").ToList(); + List models1= _model.Find(model =>model.uploaderId == "").ToList(); foreach(var model in models1) { if ((DateTime.Now.ToUniversalTime() - model.dateCreated.ToUniversalTime()).TotalDays >= 1) diff --git a/backend/api/api/Services/UserService.cs b/backend/api/api/Services/UserService.cs index 7fc4bdb1..b53f5fdc 100644 --- a/backend/api/api/Services/UserService.cs +++ b/backend/api/api/Services/UserService.cs @@ -51,17 +51,17 @@ namespace api.Services using (var session = _client.StartSession()) { if(username!=user.Username) - if(_users.Find(u => u.Username == user.Username).FirstOrDefault()!=null) - { - return false; - } + if(_users.Find(u => u.Username == user.Username).FirstOrDefault()!=null) + { + return false; + } //Trenutan MongoDB Server ne podrzava transakcije.Omoguciti Podrsku //session.StartTransaction(); try { _users.ReplaceOne(user => user.Username == username, user); - if (username != user.Username) + /*if (username != user.Username) { var builderModel = Builders.Update; var builderDataset = Builders.Update; @@ -70,7 +70,7 @@ namespace api.Services _datasets.UpdateMany(x => x.username == username, builderDataset.Set(x => x.username, user.Username)); _predictors.UpdateMany(x => x.username == username, builderPredictor.Set(x => x.username, user.Username)); } - + */ //session.AbortTransaction(); -- cgit v1.2.3 From 208394ff08cba0880746d9c7841be08e127f66d6 Mon Sep 17 00:00:00 2001 From: Ivan Ljubisavljevic Date: Mon, 18 Apr 2022 01:14:31 +0200 Subject: Izmena na frontu i ml-u(username -> userId) #71 --- backend/api/api/Controllers/DatasetController.cs | 24 +++++++++++----------- backend/api/api/Controllers/ModelController.cs | 2 +- backend/api/api/Controllers/PredictorController.cs | 2 +- backend/api/api/Services/DatasetService.cs | 12 +++++------ backend/api/api/Services/IDatasetService.cs | 6 +++--- backend/microservice/api/controller.py | 2 +- frontend/src/app/_data/Dataset.ts | 2 +- frontend/src/app/_data/Model.ts | 2 +- frontend/src/app/_data/Predictor.ts | 3 ++- .../add-new-dataset/add-new-dataset.component.ts | 2 +- .../_elements/model-load/model-load.component.ts | 2 +- .../filter-datasets/filter-datasets.component.ts | 2 +- .../app/_pages/my-models/my-models.component.html | 2 +- .../app/_pages/my-models/my-models.component.ts | 8 +++++++- frontend/src/app/_services/datasets.service.ts | 4 ++-- frontend/src/app/_services/predictors.service.ts | 2 +- 16 files changed, 42 insertions(+), 35 deletions(-) (limited to 'backend/api') diff --git a/backend/api/api/Controllers/DatasetController.cs b/backend/api/api/Controllers/DatasetController.cs index bdac9ed9..58a903eb 100644 --- a/backend/api/api/Controllers/DatasetController.cs +++ b/backend/api/api/Controllers/DatasetController.cs @@ -149,46 +149,46 @@ namespace api.Controllers // PUT api//{name} - [HttpPut("{name}")] + [HttpPut("{id}")] [Authorize(Roles = "User")] - public ActionResult Put(string name, [FromBody] Dataset dataset) + public ActionResult Put(string id, [FromBody] Dataset dataset) { string uploaderId = getUserId(); if (uploaderId == null) return BadRequest(); - var existingDataset = _datasetService.GetOneDataset(uploaderId, name); + var existingDataset = _datasetService.GetOneDataset(uploaderId, id); //ne mora da se proverava if (existingDataset == null) - return NotFound($"Dataset with name = {name} or user with ID = {uploaderId} not found"); + return NotFound($"Dataset with ID = {id} or user with ID = {uploaderId} not found"); dataset.lastUpdated = DateTime.UtcNow; - _datasetService.Update(uploaderId, name, dataset); + _datasetService.Update(uploaderId, id, dataset); - return Ok($"Dataset with name = {name} updated"); + return Ok($"Dataset with ID = {id} updated"); } // DELETE api//name - [HttpDelete("{name}")] + [HttpDelete("{id}")] [Authorize(Roles = "User")] - public ActionResult Delete(string name) + public ActionResult Delete(string id) { string uploaderId = getUserId(); if (uploaderId == null) return BadRequest(); - var dataset = _datasetService.GetOneDataset(uploaderId, name); + var dataset = _datasetService.GetOneDataset(uploaderId, id); if (dataset == null) - return NotFound($"Dataset with name = {name} or user with ID = {uploaderId} not found"); + return NotFound($"Dataset with ID = {id} or user with ID = {uploaderId} not found"); - _datasetService.Delete(dataset.uploaderId, dataset.name); + _datasetService.Delete(dataset.uploaderId, dataset._id); - return Ok($"Dataset with name = {name} deleted"); + return Ok($"Dataset with ID = {id} deleted"); } } diff --git a/backend/api/api/Controllers/ModelController.cs b/backend/api/api/Controllers/ModelController.cs index 1ec01ab8..fe16507b 100644 --- a/backend/api/api/Controllers/ModelController.cs +++ b/backend/api/api/Controllers/ModelController.cs @@ -82,7 +82,7 @@ namespace api.Controllers { var model=_modelService.GetOneModel(info.ModelId); - var user = _userService.GetUserByUsername(model.uploaderId); + var user = _userService.GetUserById(model.uploaderId); if (ChatHub.CheckUser(user._id)) await _ichat.Clients.Client(ChatHub.Users[user._id]).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 26fe8f1d..dd5aa5fd 100644 --- a/backend/api/api/Controllers/PredictorController.cs +++ b/backend/api/api/Controllers/PredictorController.cs @@ -213,7 +213,7 @@ namespace api.Controllers } // DELETE api//name - [HttpDelete("{name}")] + [HttpDelete("{id}")] [Authorize(Roles = "User")] public ActionResult Delete(string id) { diff --git a/backend/api/api/Services/DatasetService.cs b/backend/api/api/Services/DatasetService.cs index 33026687..6c2efe14 100644 --- a/backend/api/api/Services/DatasetService.cs +++ b/backend/api/api/Services/DatasetService.cs @@ -27,9 +27,9 @@ namespace api.Services } //brisanje odredjenog name-a - public void Delete(string userId, string name) + public void Delete(string userId, string id) { - _dataset.DeleteOne(dataset => (dataset.uploaderId == userId && dataset.name == name)); + _dataset.DeleteOne(dataset => (dataset.uploaderId == userId && dataset._id == id)); } public List GetMyDatasets(string userId) @@ -62,9 +62,9 @@ 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.name == name && dataset.isPreProcess).FirstOrDefault(); + return _dataset.Find(dataset => dataset.uploaderId == userId && dataset._id == id && dataset.isPreProcess).FirstOrDefault(); } //odraditi za pretragu getOne @@ -74,9 +74,9 @@ namespace api.Services } //ako je potrebno da se zameni name ili ekstenzija - public void Update(string userId, string name, Dataset dataset ) + public void Update(string userId, string id, Dataset dataset ) { - _dataset.ReplaceOne(dataset => dataset.uploaderId == userId && dataset.name == name, dataset); + _dataset.ReplaceOne(dataset => dataset.uploaderId == userId && dataset._id == id, dataset); } public void Update(Dataset dataset) { diff --git a/backend/api/api/Services/IDatasetService.cs b/backend/api/api/Services/IDatasetService.cs index b700e87c..bb06208d 100644 --- a/backend/api/api/Services/IDatasetService.cs +++ b/backend/api/api/Services/IDatasetService.cs @@ -5,15 +5,15 @@ namespace api.Services { public interface IDatasetService { - Dataset GetOneDataset(string userId, string name); + Dataset GetOneDataset(string userId, string id); Dataset GetOneDataset(string id); List SearchDatasets(string name); List GetMyDatasets(string userId); List SortDatasets(string userId, bool ascdsc, int latest); List GetPublicDatasets(); Dataset Create(Dataset dataset); - void Update(string userId, string name, Dataset dataset); - void Delete(string userId, string name); + void Update(string userId, string id, Dataset dataset); + void Delete(string userId, string id); public List GetGuestDatasets(); public void Update(Dataset dataset); string GetDatasetId(string fileId); diff --git a/backend/microservice/api/controller.py b/backend/microservice/api/controller.py index e6515e7b..9b83b8e7 100644 --- a/backend/microservice/api/controller.py +++ b/backend/microservice/api/controller.py @@ -78,7 +78,7 @@ def train(): m.append({"Name" : attribute, "JsonValue" : value}) predictor = { "_id" : "", - "username" : paramsModel["username"], + "uploaderId" : paramsModel["uploaderId"], "inputs" : paramsExperiment["inputColumns"], "output" : paramsExperiment["outputColumn"], "isPublic" : False, diff --git a/frontend/src/app/_data/Dataset.ts b/frontend/src/app/_data/Dataset.ts index 732d1c56..766040a3 100644 --- a/frontend/src/app/_data/Dataset.ts +++ b/frontend/src/app/_data/Dataset.ts @@ -10,7 +10,7 @@ export default class Dataset { public accessibleByLink: boolean = false, public dateCreated: Date = new Date(), public lastUpdated: Date = new Date(), - public username: string = '', + public uploaderId: string = '', public delimiter: string = '', public hasHeader: boolean = true, diff --git a/frontend/src/app/_data/Model.ts b/frontend/src/app/_data/Model.ts index 1af3fe30..b273f56a 100644 --- a/frontend/src/app/_data/Model.ts +++ b/frontend/src/app/_data/Model.ts @@ -19,7 +19,7 @@ export default class Model { public batchSize: number = 5, public hiddenLayerActivationFunctions: string[] = ['sigmoid'], public outputLayerActivationFunction: ActivationFunction = ActivationFunction.Sigmoid, - public username: string = '', + public uploaderId: string = '', public metrics: string[] = [], // TODO add to add-model form public epochs: number = 5 // TODO add to add-model form ) { } diff --git a/frontend/src/app/_data/Predictor.ts b/frontend/src/app/_data/Predictor.ts index 7e902eae..8aa2b6cb 100644 --- a/frontend/src/app/_data/Predictor.ts +++ b/frontend/src/app/_data/Predictor.ts @@ -7,6 +7,7 @@ export default class Predictor { public output: string = '', public isPublic: boolean = false, public accessibleByLink: boolean = false, - public dateCreated: Date = new Date() + public dateCreated: Date = new Date(), + public uploaderId: string = '' ) { } } \ No newline at end of file diff --git a/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.ts b/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.ts index 6ff108ce..3e1b5c73 100644 --- a/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.ts +++ b/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.ts @@ -90,7 +90,7 @@ export class AddNewDatasetComponent { this.modelsService.uploadData(this.files[0]).subscribe((file) => { //console.log('ADD MODEL: STEP 2 - ADD DATASET WITH FILE ID ' + file._id); this.dataset.fileId = file._id; - this.dataset.username = shared.username; + this.dataset.uploaderId = shared.userId; this.datasetsService.addDataset(this.dataset).subscribe((dataset) => { this.newDatasetAdded.emit("added"); diff --git a/frontend/src/app/_elements/model-load/model-load.component.ts b/frontend/src/app/_elements/model-load/model-load.component.ts index 9bd81f95..dbca3d17 100644 --- a/frontend/src/app/_elements/model-load/model-load.component.ts +++ b/frontend/src/app/_elements/model-load/model-load.component.ts @@ -69,7 +69,7 @@ export class ModelLoadComponent implements OnInit { uploadModel() { this.getMetrics(); - this.newModel.username = Shared.username; + this.newModel.uploaderId = Shared.userId; this.modelsService.addModel(this.newModel).subscribe((response) => { Shared.openDialog('Model dodat', 'Model je uspešno dodat u bazu.'); diff --git a/frontend/src/app/_pages/filter-datasets/filter-datasets.component.ts b/frontend/src/app/_pages/filter-datasets/filter-datasets.component.ts index c83bf208..66b3755e 100644 --- a/frontend/src/app/_pages/filter-datasets/filter-datasets.component.ts +++ b/frontend/src/app/_pages/filter-datasets/filter-datasets.component.ts @@ -33,7 +33,7 @@ export class FilterDatasetsComponent implements OnInit { newDataset._id = ""; newDataset.isPublic = false; newDataset.lastUpdated = new Date(); - newDataset.username = decodedToken.name; + newDataset.uploaderId = decodedToken.uploaderId; let name=prompt("Unesite naziv dataset-a",newDataset.name); newDataset.name=name as string; if(name!=null && name!="") diff --git a/frontend/src/app/_pages/my-models/my-models.component.html b/frontend/src/app/_pages/my-models/my-models.component.html index b0e9c4ef..9b281239 100644 --- a/frontend/src/app/_pages/my-models/my-models.component.html +++ b/frontend/src/app/_pages/my-models/my-models.component.html @@ -15,7 +15,7 @@