ajout du service API

serviceApiJean
Siwa12100 1 year ago
parent a572d7e517
commit 016e0e5194

@ -19,6 +19,7 @@ builder.Services.AddHttpClient();
// Ajout du service de gestion des utilisateurs : // Ajout du service de gestion des utilisateurs :
// On le met scoped, car c'est comme <20>a qu'est le service du localStorage alors sinon <20>a marche pas... // On le met scoped, car c'est comme <20>a qu'est le service du localStorage alors sinon <20>a marche pas...
builder.Services.AddScoped<IUtilisateursDataService, UtilisateursDataServiceFactice>(); builder.Services.AddScoped<IUtilisateursDataService, UtilisateursDataServiceFactice>();
//builder.Services.AddScoped<IUtilisateursDataService, UtilisateursDataServiceApi>();
// Ajout du service pour le Blazored LocalStorage : // Ajout du service pour le Blazored LocalStorage :
builder.Services.AddBlazoredLocalStorage(); builder.Services.AddBlazoredLocalStorage();

@ -30,9 +30,6 @@ namespace VeraxShield.composants.formulaires.modeles.attributsValidationCustoms
return new ValidationResult("Le pseudo existe deja, choississez en un autre."); return new ValidationResult("Le pseudo existe deja, choississez en un autre.");
} }
} }
} }
} }

@ -12,7 +12,11 @@ namespace VeraxShield.factories
modele.Nom, modele.Nom,
modele.Prenom, modele.Prenom,
modele.Role, modele.Role,
// ici hash
modele.Mdp, modele.Mdp,
modele.Mail, modele.Mail,
modele.IsBan); modele.IsBan);
@ -25,23 +29,16 @@ namespace VeraxShield.factories
temp.Pseudo = u.Pseudo; temp.Pseudo = u.Pseudo;
temp.Nom = u.Nom; temp.Nom = u.Nom;
temp.Prenom = u.Prenom; temp.Prenom = u.Prenom;
// ici dehash
temp.Mdp = u.Mdp; temp.Mdp = u.Mdp;
temp.Role = u.Role; temp.Role = u.Role;
temp.Mail = u.Mail; temp.Mail = u.Mail;
temp.IsBan = u.IsBan; temp.IsBan = u.IsBan;
return temp; 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);
}
} }
} }

@ -8,7 +8,6 @@ namespace VeraxShield.services.UtilisateursDataService
public Task SaveAllUtilisateurs(List<Utilisateur> list); public Task SaveAllUtilisateurs(List<Utilisateur> list);
public Task resetDataUtilisateurs();
public Task AjouterUtilisateur(Utilisateur u); public Task AjouterUtilisateur(Utilisateur u);
public Task SupprimerUtilisateur(Utilisateur u); public Task SupprimerUtilisateur(Utilisateur u);

@ -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<Utilisateur> data = await this.getAllUtilisateurs();
data.Add(u);
await this.SaveAllUtilisateurs(data);
}
public async Task<List<Utilisateur>> getAllUtilisateurs()
{
List<Utilisateur> lUtilisateurs = new List<Utilisateur>();
var data = await this._clientHttp.GetFromJsonAsync<Utilisateur[]>(this.EmplacementRecuperation);
if (data != null)
{
lUtilisateurs = data.ToList();
}
return lUtilisateurs;
}
public async Task<Utilisateur> getUtilisateurFromPseudo(string pseudo)
{
List<Utilisateur> 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<Utilisateur> list)
{
await this._clientHttp.PutAsJsonAsync(this.EmplacementModification, list);
}
public async Task SupprimerUtilisateur(Utilisateur u)
{
List<Utilisateur> 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);
}
}
}

@ -60,15 +60,6 @@ namespace VeraxShield.services.UtilisateursDataService
return lUtilisateurs; return lUtilisateurs;
} }
public async Task resetDataUtilisateurs()
{
List<Utilisateur> lUtilisateurs = new List<Utilisateur>();
lUtilisateurs = await this.getUtilisateursFromJson(this.EmplacementJson);
await this.saveUtilisateursLocalStorage(lUtilisateurs);
Console.WriteLine("Local storage reset !");
}
public async Task SaveAllUtilisateurs(List<Utilisateur> list) public async Task SaveAllUtilisateurs(List<Utilisateur> list)
{ {
await this.saveUtilisateursLocalStorage(list); await this.saveUtilisateursLocalStorage(list);
@ -84,39 +75,22 @@ namespace VeraxShield.services.UtilisateursDataService
public async Task SupprimerUtilisateur(Utilisateur u) public async Task SupprimerUtilisateur(Utilisateur u)
{ {
List<Utilisateur> data = await this.getAllUtilisateurs(); List<Utilisateur> data = await this.getAllUtilisateurs();
foreach (Utilisateur temp in data)
{
Console.WriteLine(" - d : " + temp.Pseudo);
}
int index = -1; int index = -1;
foreach(Utilisateur temp in data) foreach(Utilisateur utilisateurTemporaire in data)
{ {
if (temp.Pseudo == u.Pseudo) if (utilisateurTemporaire.Pseudo == u.Pseudo)
{ {
index = data.IndexOf(temp); index = data.IndexOf(utilisateurTemporaire);
} }
} }
Console.WriteLine("Index : " + index);
if (index != -1) if (index != -1)
{ {
data.RemoveAt(index); data.RemoveAt(index);
} }
await this.SaveAllUtilisateurs(data); 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) public async Task MettreAJourUtilisateur(Utilisateur u)
@ -162,30 +136,20 @@ namespace VeraxShield.services.UtilisateursDataService
public async Task<Utilisateur> getUtilisateurFromPseudo(String pseudo) public async Task<Utilisateur> getUtilisateurFromPseudo(String pseudo)
{ {
Console.WriteLine("Passage dans le getFromPseudo...");
List<Utilisateur> utilisateurs = await this.getAllUtilisateurs(); List<Utilisateur> utilisateurs = await this.getAllUtilisateurs();
Utilisateur temp = null; Utilisateur utilisateurTemporaire = null;
foreach (Utilisateur u in utilisateurs) foreach (Utilisateur u in utilisateurs)
{ {
if (u.Pseudo == pseudo) if (u.Pseudo == pseudo)
{ {
temp = u; utilisateurTemporaire = u;
} }
} }
if (temp == null) return utilisateurTemporaire;
{
Console.WriteLine("Aucun u. par pseudo trouve...");
} else
{
Console.WriteLine("Utilisateur trouvé : " + temp.Pseudo);
}
return temp;
} }
private async Task saveUtilisateursLocalStorage(List<Utilisateur> lUtilisateurs) private async Task saveUtilisateursLocalStorage(List<Utilisateur> lUtilisateurs)
{ {
await _localStorage.SetItemAsync(this.EmplacementLocalStorage, lUtilisateurs); await _localStorage.SetItemAsync(this.EmplacementLocalStorage, lUtilisateurs);

Loading…
Cancel
Save