From a036f87a0bacc25f91661b2991b20b103aba8865 Mon Sep 17 00:00:00 2001 From: Noan07 <84435602+Noan07@users.noreply.github.com> Date: Tue, 28 Mar 2023 08:51:16 +0200 Subject: [PATCH 1/6] :hammer: test --- code/server/DataBase/Context/PongDbContext.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/server/DataBase/Context/PongDbContext.cs b/code/server/DataBase/Context/PongDbContext.cs index ee2de3c..7b98fec 100644 --- a/code/server/DataBase/Context/PongDbContext.cs +++ b/code/server/DataBase/Context/PongDbContext.cs @@ -28,7 +28,8 @@ namespace DataBase.Context var dbUser = Environment.GetEnvironmentVariable("MARIADB_USER", EnvironmentVariableTarget.Process); var dbPassword = Environment.GetEnvironmentVariable("MARIADB_PASSWORD", EnvironmentVariableTarget.Process); var dbServer = Environment.GetEnvironmentVariable("DB_SERVER", EnvironmentVariableTarget.Process); - optionsBuilder.UseMySql($"server=leap-hit-team-mysql;port=3306;user={dbUser};password={dbPassword};database={dbDatabase}", new MySqlServerVersion(new Version(10, 11, 1))); + Debug.WriteLine(dbPassword); + optionsBuilder.UseMySql($"server=leap-hit-team-mysql;port=3306;user=leaphit;password=leaphit;database=leaphit", new MySqlServerVersion(new Version(10, 11, 1))); } From 1d86edba7afe80a933565d5674e7fec85d49987e Mon Sep 17 00:00:00 2001 From: Noan07 <84435602+Noan07@users.noreply.github.com> Date: Tue, 28 Mar 2023 09:03:32 +0200 Subject: [PATCH 2/6] :hammer: test 2 BDD --- code/server/ApiLeapHit/Program.cs | 1 + code/server/DataBase/Context/PongDbContext.cs | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/code/server/ApiLeapHit/Program.cs b/code/server/ApiLeapHit/Program.cs index 958f98a..20dc444 100644 --- a/code/server/ApiLeapHit/Program.cs +++ b/code/server/ApiLeapHit/Program.cs @@ -9,6 +9,7 @@ builder.Services.AddControllers(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); builder.Services.AddSingleton(); +builder.Services.AddMvc(); //builder.Services.AddSingleton(); // Add logging diff --git a/code/server/DataBase/Context/PongDbContext.cs b/code/server/DataBase/Context/PongDbContext.cs index 7b98fec..60019d7 100644 --- a/code/server/DataBase/Context/PongDbContext.cs +++ b/code/server/DataBase/Context/PongDbContext.cs @@ -15,6 +15,15 @@ namespace DataBase.Context public PongDbContext() { } public PongDbContext(DbContextOptions options) : base(options) { } + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.Entity().ToTable("Players"); + modelBuilder.Entity().ToTable("Games"); + modelBuilder.Entity().ToTable("Messages"); + modelBuilder.Entity().ToTable("Chats"); + + } + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { base.OnConfiguring(optionsBuilder); @@ -30,17 +39,9 @@ namespace DataBase.Context var dbServer = Environment.GetEnvironmentVariable("DB_SERVER", EnvironmentVariableTarget.Process); Debug.WriteLine(dbPassword); optionsBuilder.UseMySql($"server=leap-hit-team-mysql;port=3306;user=leaphit;password=leaphit;database=leaphit", new MySqlServerVersion(new Version(10, 11, 1))); - + } } - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - modelBuilder.Entity().ToTable("Players"); - modelBuilder.Entity().ToTable("Games"); - modelBuilder.Entity().ToTable("Messages"); - modelBuilder.Entity().ToTable("Chats"); - - } } } From 86811a5cdfd906c686a94600c0e9cd39213e6e2c Mon Sep 17 00:00:00 2001 From: Noan07 <84435602+Noan07@users.noreply.github.com> Date: Tue, 28 Mar 2023 09:24:39 +0200 Subject: [PATCH 3/6] :hammer: test 3 bdd --- code/server/ApiLeapHit/Program.cs | 10 +++++++++- code/server/DataBase/Context/PongDbContext.cs | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/code/server/ApiLeapHit/Program.cs b/code/server/ApiLeapHit/Program.cs index 20dc444..3d8d882 100644 --- a/code/server/ApiLeapHit/Program.cs +++ b/code/server/ApiLeapHit/Program.cs @@ -1,4 +1,6 @@ +using DataBase.Context; using DataBase.DataManager; +using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; var builder = WebApplication.CreateBuilder(args); @@ -9,7 +11,13 @@ builder.Services.AddControllers(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); builder.Services.AddSingleton(); -builder.Services.AddMvc(); + + + +var context = new PongDbContext(); //ou une autre classe dérivant de TheDbContext +await context.Database.EnsureCreatedAsync(); + + //builder.Services.AddSingleton(); // Add logging diff --git a/code/server/DataBase/Context/PongDbContext.cs b/code/server/DataBase/Context/PongDbContext.cs index 60019d7..5b6b60c 100644 --- a/code/server/DataBase/Context/PongDbContext.cs +++ b/code/server/DataBase/Context/PongDbContext.cs @@ -24,7 +24,7 @@ namespace DataBase.Context } - protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + protected override async void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { base.OnConfiguring(optionsBuilder); @@ -39,7 +39,7 @@ namespace DataBase.Context var dbServer = Environment.GetEnvironmentVariable("DB_SERVER", EnvironmentVariableTarget.Process); Debug.WriteLine(dbPassword); optionsBuilder.UseMySql($"server=leap-hit-team-mysql;port=3306;user=leaphit;password=leaphit;database=leaphit", new MySqlServerVersion(new Version(10, 11, 1))); - + } } From ab1ab84abb9fc778b31e9947e7edb82540ea4075 Mon Sep 17 00:00:00 2001 From: Noan07 <84435602+Noan07@users.noreply.github.com> Date: Tue, 28 Mar 2023 09:51:22 +0200 Subject: [PATCH 4/6] :hammer: ajout d'un controleur --- .../Controllers/PlayersConnexionController.cs | 53 +++++++++++++++++++ .../Controllers/PlayersController.cs | 30 ----------- 2 files changed, 53 insertions(+), 30 deletions(-) create mode 100644 code/server/ApiLeapHit/Controllers/PlayersConnexionController.cs diff --git a/code/server/ApiLeapHit/Controllers/PlayersConnexionController.cs b/code/server/ApiLeapHit/Controllers/PlayersConnexionController.cs new file mode 100644 index 0000000..90a895f --- /dev/null +++ b/code/server/ApiLeapHit/Controllers/PlayersConnexionController.cs @@ -0,0 +1,53 @@ +using DataBase.DataManager; +using DataBase.Entity; +using DTO.Factory; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using System.Net; + +namespace ApiLeapHit.Controllers +{ + [Route("api/[controller]")] + [ApiController] + public class PlayersConnexionController : Controller + { + private readonly DbDataManager _dataManager; + private readonly ILogger _logger; + + public PlayersConnexionController(DbDataManager dataManager, ILogger logger) + { + _dataManager = dataManager; + _logger = logger; + } + + [HttpGet("{idIdentification}")] + public async Task>> CreatePlayer(string idIdentification) + { + try + { + if (!idIdentification.Equals("K02q7naLzjmodzAFfoSO4mPydr7W5hydPMrHtA6D")) + { + return StatusCode((int)HttpStatusCode.NotFound, new ApiResponse("Le numĂ©ro n'est pas correct.")); + } + var player = new Player(); + string id; + do + { + // GĂ©nĂ©rer un id unique avec des chiffres et des lettres + id = Guid.NewGuid().ToString("N"); + } + while (await _dataManager.GetPlayer(id) != null); + player.playerId = id; + await _dataManager.AddPlayer(player); + + var response = new ApiResponse($"Le joueur a Ă©tĂ© créé avec succès. Id du joueur : {id}.", id); + return Ok(response); + } + catch (Exception ex) + { + _logger.LogError(ex, "Une erreur est survenue lors de la crĂ©ation du joueur."); + return StatusCode((int)HttpStatusCode.InternalServerError, new ApiResponse("Une erreur est survenue lors de la crĂ©ation du joueur.")); + } + } + } +} diff --git a/code/server/ApiLeapHit/Controllers/PlayersController.cs b/code/server/ApiLeapHit/Controllers/PlayersController.cs index a835e97..96003d7 100644 --- a/code/server/ApiLeapHit/Controllers/PlayersController.cs +++ b/code/server/ApiLeapHit/Controllers/PlayersController.cs @@ -22,36 +22,6 @@ namespace ApiLeapHit.Controllers _logger = logger; } - [HttpGet("/clePlayer/{idIdentification}")] - public async Task>> CreatePlayer(string idIdentification) - { - try - { - if(!idIdentification.Equals("K02q7naLzjmodzAFfoSO4mPydr7W5hydPMrHtA6D")) - { - return StatusCode((int)HttpStatusCode.NotFound, new ApiResponse("Le numĂ©o n'est pas correct.")); - } - var player = new Player(); - string id; - do - { - // GĂ©nĂ©rer un id unique avec des chiffres et des lettres - id = Guid.NewGuid().ToString("N"); - } - while (await _dataManager.GetPlayer(id) != null); - player.playerId = id; - await _dataManager.AddPlayer(player); - - var response = new ApiResponse($"Le joueur a Ă©tĂ© créé avec succès. Id du joueur : {id}.", id); - return Ok(response); - } - catch (Exception ex) - { - _logger.LogError(ex, "Une erreur est survenue lors de la crĂ©ation du joueur."); - return StatusCode((int)HttpStatusCode.InternalServerError, new ApiResponse("Une erreur est survenue lors de la crĂ©ation du joueur.")); - } - } - [HttpGet("{id}")] public async Task>> GetPlayer(string id) { From 6a707509efa0738ad80bc032d433e19c21b9ac12 Mon Sep 17 00:00:00 2001 From: Noan07 <84435602+Noan07@users.noreply.github.com> Date: Tue, 28 Mar 2023 09:57:45 +0200 Subject: [PATCH 5/6] :hammer: test --- .../ApiLeapHit/Controllers/PlayersConnexionController.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/server/ApiLeapHit/Controllers/PlayersConnexionController.cs b/code/server/ApiLeapHit/Controllers/PlayersConnexionController.cs index 90a895f..82e5721 100644 --- a/code/server/ApiLeapHit/Controllers/PlayersConnexionController.cs +++ b/code/server/ApiLeapHit/Controllers/PlayersConnexionController.cs @@ -40,8 +40,8 @@ namespace ApiLeapHit.Controllers player.playerId = id; await _dataManager.AddPlayer(player); - var response = new ApiResponse($"Le joueur a Ă©tĂ© créé avec succès. Id du joueur : {id}.", id); - return Ok(response); + //var response = new ApiResponse($"Le joueur a Ă©tĂ© créé avec succès. Id du joueur : {id}.", id); + return Ok(id); } catch (Exception ex) { From 79522dea88c3d82f5db4922a5e2493ef68b2fdfe Mon Sep 17 00:00:00 2001 From: Noan07 <84435602+Noan07@users.noreply.github.com> Date: Tue, 28 Mar 2023 10:45:16 +0200 Subject: [PATCH 6/6] :hammer: modif controleur PlayersConnexion --- .../ApiLeapHit/Controllers/PlayersConnexionController.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/server/ApiLeapHit/Controllers/PlayersConnexionController.cs b/code/server/ApiLeapHit/Controllers/PlayersConnexionController.cs index 82e5721..aa099a5 100644 --- a/code/server/ApiLeapHit/Controllers/PlayersConnexionController.cs +++ b/code/server/ApiLeapHit/Controllers/PlayersConnexionController.cs @@ -38,6 +38,9 @@ namespace ApiLeapHit.Controllers } while (await _dataManager.GetPlayer(id) != null); player.playerId = id; + player.name = id; + player.timePlayed = 0; + player.nbBallTouchTotal = 0; await _dataManager.AddPlayer(player); //var response = new ApiResponse($"Le joueur a Ă©tĂ© créé avec succès. Id du joueur : {id}.", id);