diff --git a/VeraxShield/VeraxShield/Program.cs b/VeraxShield/VeraxShield/Program.cs index eb1cf66..9f8c221 100644 --- a/VeraxShield/VeraxShield/Program.cs +++ b/VeraxShield/VeraxShield/Program.cs @@ -19,6 +19,7 @@ builder.Services.AddHttpClient(); // Ajout du service de gestion des utilisateurs : // On le met scoped, car c'est comme �a qu'est le service du localStorage alors sinon �a marche pas... builder.Services.AddScoped(); +//builder.Services.AddScoped(); // Ajout du service pour le Blazored LocalStorage : builder.Services.AddBlazoredLocalStorage(); diff --git a/VeraxShield/VeraxShield/composants/formulaires/modeles/attributsValidationCustoms/PseudoCorrectAttribute.cs b/VeraxShield/VeraxShield/composants/formulaires/modeles/attributsValidationCustoms/PseudoCorrectAttribute.cs index 1d17a23..f450d11 100644 --- a/VeraxShield/VeraxShield/composants/formulaires/modeles/attributsValidationCustoms/PseudoCorrectAttribute.cs +++ b/VeraxShield/VeraxShield/composants/formulaires/modeles/attributsValidationCustoms/PseudoCorrectAttribute.cs @@ -30,9 +30,6 @@ namespace VeraxShield.composants.formulaires.modeles.attributsValidationCustoms return new ValidationResult("Le pseudo existe deja, choississez en un autre."); } } - - - } } diff --git a/VeraxShield/VeraxShield/factories/UtilisateursFactory.cs b/VeraxShield/VeraxShield/factories/UtilisateursFactory.cs index 34c2cc2..411b2f0 100644 --- a/VeraxShield/VeraxShield/factories/UtilisateursFactory.cs +++ b/VeraxShield/VeraxShield/factories/UtilisateursFactory.cs @@ -12,7 +12,11 @@ namespace VeraxShield.factories modele.Nom, modele.Prenom, modele.Role, + + // ici hash modele.Mdp, + + modele.Mail, modele.IsBan); @@ -25,23 +29,16 @@ namespace VeraxShield.factories temp.Pseudo = u.Pseudo; temp.Nom = u.Nom; temp.Prenom = u.Prenom; + + // ici dehash temp.Mdp = u.Mdp; + + temp.Role = u.Role; temp.Mail = u.Mail; temp.IsBan = u.IsBan; return temp; } - - // public static Utilisateur toUtilisateur(UtilisateurCourant appUtilisateur) - // { - // return new Utilisateur(appUtilisateur.Pseudo, appUtilisateur.Nom, appUtilisateur.Prenom, - // appUtilisateur.Roles[0], appUtilisateur.MotDePasse, appUtilisateur.Mail, false); - // } - - public static AppUtilisateur toAppUtilisateur(Utilisateur u) - { - return new AppUtilisateur(u.Pseudo, u.Nom, u.Prenom, u.Mail, u.Mdp, u.Role); - } } } diff --git a/VeraxShield/VeraxShield/services/UtilisateursDataService/IUtilisateursDataService.cs b/VeraxShield/VeraxShield/services/UtilisateursDataService/IUtilisateursDataService.cs index 016b7e1..a1a8520 100644 --- a/VeraxShield/VeraxShield/services/UtilisateursDataService/IUtilisateursDataService.cs +++ b/VeraxShield/VeraxShield/services/UtilisateursDataService/IUtilisateursDataService.cs @@ -8,7 +8,6 @@ namespace VeraxShield.services.UtilisateursDataService public Task SaveAllUtilisateurs(List list); - public Task resetDataUtilisateurs(); public Task AjouterUtilisateur(Utilisateur u); public Task SupprimerUtilisateur(Utilisateur u); diff --git a/VeraxShield/VeraxShield/services/UtilisateursDataService/UtilisateursDataServiceApi.cs b/VeraxShield/VeraxShield/services/UtilisateursDataService/UtilisateursDataServiceApi.cs new file mode 100644 index 0000000..cdd811c --- /dev/null +++ b/VeraxShield/VeraxShield/services/UtilisateursDataService/UtilisateursDataServiceApi.cs @@ -0,0 +1,102 @@ +using Microsoft.AspNetCore.Components; +using VeraxShield.modele.utilisateurs; + +namespace VeraxShield.services.UtilisateursDataService +{ + public class UtilisateursDataServiceApi : IUtilisateursDataService + { + [Inject] + private HttpClient _clientHttp { get; set; } + + [Inject] + public NavigationManager _navigationManager { get; set; } + + private string EmplacementModification {get; set;} + private string EmplacementRecuperation {get; set;} + + public UtilisateursDataServiceApi(HttpClient clientHttp, NavigationManager navigationManager) + { + this._clientHttp = clientHttp; + this._navigationManager = navigationManager; + + // Le site PHP n'étant pas encore mis en ligne. Ces urls n'existent pas encore à l'heure actuelle... + this.EmplacementModification = "https://Verax.com/api/utilisateurs/modifier"; + this.EmplacementRecuperation = "https://Verax.com/api/utilisateurs/recuperer"; + } + + + public async Task AjouterUtilisateur(Utilisateur u) + { + List data = await this.getAllUtilisateurs(); + data.Add(u); + await this.SaveAllUtilisateurs(data); + } + + public async Task> getAllUtilisateurs() + { + List lUtilisateurs = new List(); + var data = await this._clientHttp.GetFromJsonAsync(this.EmplacementRecuperation); + + if (data != null) + { + lUtilisateurs = data.ToList(); + } + + return lUtilisateurs; + } + + public async Task getUtilisateurFromPseudo(string pseudo) + { + List utilisateurs = await this.getAllUtilisateurs(); + Utilisateur utilisateurTemporaire = null; + + foreach (Utilisateur u in utilisateurs) + { + if (u.Pseudo == pseudo) + { + utilisateurTemporaire = u; + } + } + + return utilisateurTemporaire; + } + + public async Task MettreAJourUtilisateur(Utilisateur u) + { + await this.SupprimerUtilisateur(u); + await this.AjouterUtilisateur(u); + } + + public async Task MettreAJourUtilisateur(Utilisateur ancienneVersion, Utilisateur nouvelleVersion) + { + await this.SupprimerUtilisateur(ancienneVersion); + await this.AjouterUtilisateur(nouvelleVersion); + } + + public async Task SaveAllUtilisateurs(List list) + { + await this._clientHttp.PutAsJsonAsync(this.EmplacementModification, list); + } + + public async Task SupprimerUtilisateur(Utilisateur u) + { + List data = await this.getAllUtilisateurs(); + int index = -1; + + foreach(Utilisateur temp in data) + { + if (temp.Pseudo == u.Pseudo) + { + index = data.IndexOf(temp); + } + } + + if (index != -1) + { + data.RemoveAt(index); + } + + await this.SaveAllUtilisateurs(data); + } + } +} \ No newline at end of file diff --git a/VeraxShield/VeraxShield/services/UtilisateursDataService/UtilisateursDataServiceFactice.cs b/VeraxShield/VeraxShield/services/UtilisateursDataService/UtilisateursDataServiceFactice.cs index d6ce64a..0166bf2 100644 --- a/VeraxShield/VeraxShield/services/UtilisateursDataService/UtilisateursDataServiceFactice.cs +++ b/VeraxShield/VeraxShield/services/UtilisateursDataService/UtilisateursDataServiceFactice.cs @@ -39,92 +39,66 @@ namespace VeraxShield.services.UtilisateursDataService { lUtilisateurs = await this.getUtilisateursFromJson(this.EmplacementJson); // Cette boucle permet de hach les mdp des user du json - foreach (var user in lUtilisateurs) + foreach (var user in lUtilisateurs) { var motDePasseClair = user.Mdp; // Hach du mot de passe user.Mdp = BCrypt.Net.BCrypt.HashPassword(motDePasseClair); System.Console.WriteLine(user); - + } System.Console.WriteLine(lUtilisateurs); - - await this.saveUtilisateursLocalStorage(lUtilisateurs); - - Console.WriteLine("--> Le contenu du local storage a été écrasé !"); + + await this.saveUtilisateursLocalStorage(lUtilisateurs); + + Console.WriteLine("--> Le contenu du local storage a été écrasé !"); } - return lUtilisateurs; - } - - public async Task resetDataUtilisateurs() - { - List lUtilisateurs = new List(); - lUtilisateurs = await this.getUtilisateursFromJson(this.EmplacementJson); - await this.saveUtilisateursLocalStorage(lUtilisateurs); - - Console.WriteLine("Local storage reset !"); - } - - public async Task SaveAllUtilisateurs(List list) - { - await this.saveUtilisateursLocalStorage(list); - } - - public async Task AjouterUtilisateur(Utilisateur u) - { - List data = await this.getAllUtilisateurs(); - data.Add(u); - await this.SaveAllUtilisateurs(data); - } - - public async Task SupprimerUtilisateur(Utilisateur u) - { - List data = await this.getAllUtilisateurs(); - - foreach (Utilisateur temp in data) - { - Console.WriteLine(" - d : " + temp.Pseudo); - } - - int index = -1; - - foreach(Utilisateur temp in data) - { - if (temp.Pseudo == u.Pseudo) - { - index = data.IndexOf(temp); - } - } - - Console.WriteLine("Index : " + index); - - if (index != -1) - { - data.RemoveAt(index); - } - - await this.SaveAllUtilisateurs(data); - - Console.WriteLine("L'utilisateur " + u.Pseudo + "supprimé !"); - - data = await this.getAllUtilisateurs(); - - foreach (Utilisateur temp in data) - { - Console.WriteLine(temp.Pseudo); - } - } - - public async Task MettreAJourUtilisateur(Utilisateur u) - { - await this.SupprimerUtilisateur(u); - await this.AjouterUtilisateur(u); - } - + return lUtilisateurs; + } + + public async Task SaveAllUtilisateurs(List list) + { + await this.saveUtilisateursLocalStorage(list); + } + + public async Task AjouterUtilisateur(Utilisateur u) + { + List data = await this.getAllUtilisateurs(); + data.Add(u); + await this.SaveAllUtilisateurs(data); + } + + public async Task SupprimerUtilisateur(Utilisateur u) + { + List data = await this.getAllUtilisateurs(); + int index = -1; + + foreach(Utilisateur utilisateurTemporaire in data) + { + if (utilisateurTemporaire.Pseudo == u.Pseudo) + { + index = data.IndexOf(utilisateurTemporaire); + } + } + + if (index != -1) + { + data.RemoveAt(index); + } + + await this.SaveAllUtilisateurs(data); + } + + public async Task MettreAJourUtilisateur(Utilisateur u) + { + await this.SupprimerUtilisateur(u); + await this.AjouterUtilisateur(u); + } + public async Task MettreAJourUtilisateur(Utilisateur ancienneVersion, Utilisateur nouvelleVersion) { await this.SupprimerUtilisateur(ancienneVersion); @@ -162,30 +136,20 @@ namespace VeraxShield.services.UtilisateursDataService public async Task getUtilisateurFromPseudo(String pseudo) { - Console.WriteLine("Passage dans le getFromPseudo..."); List utilisateurs = await this.getAllUtilisateurs(); - Utilisateur temp = null; + Utilisateur utilisateurTemporaire = null; foreach (Utilisateur u in utilisateurs) { if (u.Pseudo == pseudo) { - temp = u; + utilisateurTemporaire = u; } } - if (temp == null) - { - Console.WriteLine("Aucun u. par pseudo trouve..."); - } else - { - Console.WriteLine("Utilisateur trouvé : " + temp.Pseudo); - } - - return temp; + return utilisateurTemporaire; } - private async Task saveUtilisateursLocalStorage(List lUtilisateurs) { await _localStorage.SetItemAsync(this.EmplacementLocalStorage, lUtilisateurs);