diff options
author | Ognjen Cirkovic <ciraboxkg@gmail.com> | 2022-04-19 17:32:04 +0200 |
---|---|---|
committer | Ognjen Cirkovic <ciraboxkg@gmail.com> | 2022-04-19 17:32:04 +0200 |
commit | 0af2ddb9f7fbdb48b043ae030709eac8def794bb (patch) | |
tree | e343550dc358a66452efba034b4b267f987276f1 | |
parent | 054d567cef92cae42cd75f56c55e16febdac658c (diff) |
Promenjeno brisanje temp fajlova i dodato brisanje za tempKorisnika.
-rw-r--r-- | backend/api/api/Models/User.cs | 3 | ||||
-rw-r--r-- | backend/api/api/Services/AuthService.cs | 9 | ||||
-rw-r--r-- | backend/api/api/Services/IAuthService.cs | 1 | ||||
-rw-r--r-- | backend/api/api/Services/TempRemovalService.cs | 69 |
4 files changed, 43 insertions, 39 deletions
diff --git a/backend/api/api/Models/User.cs b/backend/api/api/Models/User.cs index ce289af1..bea467fa 100644 --- a/backend/api/api/Models/User.cs +++ b/backend/api/api/Models/User.cs @@ -26,6 +26,7 @@ namespace api.Models public string photoId { get; set; } public bool isPermament { get; set; } - + public DateTime dateCreated { get; set; } + } } diff --git a/backend/api/api/Services/AuthService.cs b/backend/api/api/Services/AuthService.cs index b734fa7a..7fd0c59f 100644 --- a/backend/api/api/Services/AuthService.cs +++ b/backend/api/api/Services/AuthService.cs @@ -38,6 +38,7 @@ namespace api.Services u.LastName = user.lastName; u.photoId = "1"; u.isPermament = true; + u.dateCreated= DateTime.Now.ToUniversalTime(); if (_users.Find(user => user.Username == u.Username).FirstOrDefault() != null) return "Username Already Exists"; if (_users.Find(user => user.Email == u.Email).FirstOrDefault() != null) @@ -46,13 +47,6 @@ namespace api.Services _users.InsertOne(u); return "User added"; } - public void RegisterGuest() - { - User u=new User(); - u._id = ""; - _users.InsertOne(u); - _jwt.GenGuestToken(u._id); - } public string RenewToken(string header) { @@ -70,6 +64,7 @@ namespace api.Services { User u = new User(); u._id = ""; + u.dateCreated = DateTime.Now.ToUniversalTime(); _users.InsertOne(u); return _jwt.GenGuestToken(u._id); diff --git a/backend/api/api/Services/IAuthService.cs b/backend/api/api/Services/IAuthService.cs index 4ed9a761..9a109208 100644 --- a/backend/api/api/Services/IAuthService.cs +++ b/backend/api/api/Services/IAuthService.cs @@ -8,6 +8,5 @@ namespace api.Services string Register(RegisterRequest user); string RenewToken(string token); public string GuestToken(); - public void RegisterGuest(); } }
\ No newline at end of file diff --git a/backend/api/api/Services/TempRemovalService.cs b/backend/api/api/Services/TempRemovalService.cs index 302ca974..9e6b7f96 100644 --- a/backend/api/api/Services/TempRemovalService.cs +++ b/backend/api/api/Services/TempRemovalService.cs @@ -10,6 +10,8 @@ namespace api.Services private readonly IMongoCollection<Model> _model; private readonly IMongoCollection<Dataset> _dataset; private readonly IMongoCollection<Experiment> _experiment; + private readonly IMongoCollection<User> _user; + private readonly IMongoCollection<Predictor> _predictor; public TempRemovalService(IUserStoreDatabaseSettings settings, IMongoClient mongoClient) { @@ -18,43 +20,42 @@ namespace api.Services _model= database.GetCollection<Model>(settings.ModelCollectionName); _dataset = database.GetCollection<Dataset>(settings.DatasetCollectionName); _experiment= database.GetCollection<Experiment>(settings.ExperimentCollectionName); + _user = database.GetCollection<User>(settings.CollectionName); + _predictor = database.GetCollection<Predictor>(settings.PredictorCollectionName); + } - public void DeleteTemps() + public void DeleteTemps() { - List<FileModel> files = _file.Find(file => file.uploaderId == "").ToList(); - foreach (var file in files) + List<User> tempUsers=_user.Find(u=>u.isPermament==false).ToList(); + foreach (User user in tempUsers) { - if ((DateTime.Now.ToUniversalTime() - file.date).TotalDays >= 1) + if ((DateTime.Now.ToUniversalTime() - user.dateCreated).TotalDays < 1) + continue; + List<Predictor> tempPredictors=_predictor.Find(p=>p.uploaderId==user._id).ToList(); + List<Model> tempModels=_model.Find(m=>m.uploaderId==user._id).ToList(); + List<Experiment> tempExperiment = _experiment.Find(e => e.uploaderId == user._id).ToList(); + List<Dataset> tempDatasets = _dataset.Find(d => d.uploaderId == user._id).ToList(); + List<FileModel> tempFiles = _file.Find(f => f.uploaderId == user._id).ToList(); + + + foreach (Predictor predictor in tempPredictors) + DeletePredictor(predictor._id); + foreach(Model model in tempModels) + DeleteModel(model._id); + foreach(Experiment experiment in tempExperiment) + DeleteExperiment(experiment._id); + foreach(Dataset dataset in tempDatasets) + DeleteDataset(dataset._id); + foreach(FileModel file in tempFiles) { DeleteFile(file._id); - List<Dataset> datasets = _dataset.Find(dataset => dataset.fileId == file._id && dataset.uploaderId=="").ToList(); - foreach(var dataset in datasets) - { - DeleteDataset(dataset._id); - List<Experiment> experiments = _experiment.Find(experiment=>experiment.datasetId== dataset._id && experiment.uploaderId=="").ToList(); - foreach(var experiment in experiments) - { - DeleteExperiment(experiment._id); - foreach(var modelId in experiment.ModelIds) - { - var delModel=_model.Find(model=> modelId== model._id && model.uploaderId=="").FirstOrDefault(); - if(delModel!= null) - DeleteModel(delModel._id); - } - } - } - if (File.Exists(file.path)) + if(File.Exists(file.path)) File.Delete(file.path); } - } - //Brisanje modela ukoliko gost koristi vec postojeci dataset - List<Model> models1= _model.Find(model =>model.uploaderId == "").ToList(); - foreach(var model in models1) - { - if ((DateTime.Now.ToUniversalTime() - model.dateCreated.ToUniversalTime()).TotalDays >= 1) - { - DeleteModel(model._id); - } + DeleteUser(user._id); + + + } @@ -79,6 +80,14 @@ namespace api.Services { _experiment.DeleteOne(experiment => experiment._id == id); } + public void DeletePredictor(string id) + { + _predictor.DeleteOne(predictor=> predictor._id == id); + } + public void DeleteUser(string id) + { + _user.DeleteOne(user=>user._id == id); + } } |