Merge branch 'master' of https://codefirst.iut.uca.fr/git/LeapHitTeam/LeapHitServer
continuous-integration/drone/push Build is passing Details

ApiTests
Hugo LIVET 2 years ago
commit df2e5f131a

@ -0,0 +1,56 @@
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<PlayersConnexionController> _logger;
public PlayersConnexionController(DbDataManager dataManager, ILogger<PlayersConnexionController> logger)
{
_dataManager = dataManager;
_logger = logger;
}
[HttpGet("{idIdentification}")]
public async Task<ActionResult<ApiResponse<string>>> 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;
player.name = id;
player.timePlayed = 0;
player.nbBallTouchTotal = 0;
await _dataManager.AddPlayer(player);
//var response = new ApiResponse<string>($"Le joueur a été créé avec succès. Id du joueur : {id}.", id);
return Ok(id);
}
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."));
}
}
}
}

@ -22,36 +22,6 @@ namespace ApiLeapHit.Controllers
_logger = logger;
}
[HttpGet("/clePlayer/{idIdentification}")]
public async Task<ActionResult<ApiResponse<string>>> 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<string>($"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<ActionResult<ApiResponse<DTOPlayer>>> GetPlayer(string id)
{

@ -1,4 +1,6 @@
using DataBase.Context;
using DataBase.DataManager;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
var builder = WebApplication.CreateBuilder(args);
@ -9,6 +11,13 @@ builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddSingleton<DbDataManager>();
var context = new PongDbContext(); //ou une autre classe dérivant de TheDbContext
await context.Database.EnsureCreatedAsync();
//builder.Services.AddSingleton<IDataManager, StubData>();
// Add logging

@ -15,7 +15,16 @@ namespace DataBase.Context
public PongDbContext() { }
public PongDbContext(DbContextOptions<PongDbContext> options) : base(options) { }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Player>().ToTable("Players");
modelBuilder.Entity<Game>().ToTable("Games");
modelBuilder.Entity<Message>().ToTable("Messages");
modelBuilder.Entity<Chat>().ToTable("Chats");
}
protected override async void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
@ -28,18 +37,11 @@ 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)));
}
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Player>().ToTable("Players");
modelBuilder.Entity<Game>().ToTable("Games");
modelBuilder.Entity<Message>().ToTable("Messages");
modelBuilder.Entity<Chat>().ToTable("Chats");
}
}
}

Loading…
Cancel
Save