diff --git a/src/main/java/com/uniovi/services/InsertSampleDataService.java b/src/main/java/com/uniovi/services/InsertSampleDataService.java
index c9dac71f..072d9c69 100644
--- a/src/main/java/com/uniovi/services/InsertSampleDataService.java
+++ b/src/main/java/com/uniovi/services/InsertSampleDataService.java
@@ -25,30 +25,39 @@ public class InsertSampleDataService {
private final QuestionService questionService;
private final CategoryService categoryService;
private final QuestionRepository questionRepository;
+ private final GameSessionRepository gameSessionRepository;
public InsertSampleDataService(PlayerService playerService, QuestionService questionService,
- CategoryService categoryService, QuestionRepository questionRepository) {
+ CategoryService categoryService, QuestionRepository questionRepository,
+ GameSessionRepository gameSessionRepository) {
this.playerService = playerService;
this.questionService = questionService;
this.categoryService = categoryService;
this.questionRepository = questionRepository;
+ this.gameSessionRepository = gameSessionRepository;
}
- @PostConstruct
- public void init() {
- if (playerService.getUserByEmail("test@test.com").isPresent())
- return;
-
- PlayerDto player = new PlayerDto();
- player.setEmail("test@test.com");
- player.setUsername("test");
- player.setPassword("test");
- player.setRoles(new String[]{"ROLE_USER"});
- playerService.generateApiKey(playerService.addNewPlayer(player));
- }
-
+ @Transactional
@EventListener(ApplicationReadyEvent.class) // Uncomment this line to insert sample data on startup
public void insertSampleQuestions() {
+ if (!playerService.getUserByEmail("test@test.com").isPresent()) {
+ PlayerDto player = new PlayerDto();
+ player.setEmail("test@test.com");
+ player.setUsername("test");
+ player.setPassword("test");
+ player.setRoles(new String[]{"ROLE_USER"});
+ playerService.generateApiKey(playerService.addNewPlayer(player));
+ }
+
+ GameSession gameSession = new GameSession();
+ gameSession.setFinishTime(LocalDateTime.now().plusMinutes(5));
+ gameSession.setCreatedAt(LocalDateTime.now());
+ gameSession.setTotalQuestions(40);
+ gameSession.setCorrectQuestions(10);
+ gameSession.setPlayer(playerService.getUserByEmail("test@test.com").get());
+ playerService.getUserByEmail("test@test.com").get().getGameSessions().add(gameSession);
+ gameSessionRepository.save(gameSession);
+
questionRepository.deleteAll();
QuestionGenerator border = new BorderQuestionGenerator(categoryService);
diff --git a/src/main/resources/messages.properties b/src/main/resources/messages.properties
index 59f22b3f..037fdbbd 100644
--- a/src/main/resources/messages.properties
+++ b/src/main/resources/messages.properties
@@ -59,3 +59,26 @@ signup.passwordConfirm.placeholder=Repita la contraseña
signup.submit=Registrarse
signup.title=Regístrate
+# -------------------Statements for the apiHome.html file---------------------
+api.doc.title=Documentación de la API
+api.doc.description=Esta es la documentación de la API de WIQ. Aquí puedes encontrar información sobre los recursos disponibles, los parámetros que aceptan y los ejemplos de uso.
+api.doc.table.parameters=Parámetros
+api.doc.table.description=Descripción
+api.doc.table.example=Ejemplo
+api.doc.endpoints.players.title=Extremo /api/players
+api.doc.endpoints.players.description=Devuelve una lista de jugadores filtrada por los criterios especificados.
+api.doc.endpoints.questions.title=Extremo /api/questions
+api.doc.endpoints.questions.description=Devuelve una lista de preguntas filtrada por los criterios especificados.
+api.doc.exampleRequest=Ejemplo de petición
+api.doc.exampleResponse=Ejemplo de respuesta
+api.doc.apikey=Clave de la API (obligatorio)
+
+api.doc.player.username=Nombre de usuario (opcional)
+api.doc.player.email=Correo electrónico (opcional)
+api.doc.player.id=ID del jugador en el sistema (opcional)
+api.doc.player.usernames=Nombre de usuario, separados por comas (opcional)
+api.doc.player.emails=Correos electrónicos, separados por comas (opcional)
+
+api.doc.question.category=Categorña (opcional). Nombre o ID de la categoría.
+api.doc.question.id=ID de la pregunta (opcional)
+api.doc.question.statement=Enunciado de la pregunta (opcional). Texto que debe contener el enunciado de la pregunta.
diff --git a/src/main/resources/messages_en.properties b/src/main/resources/messages_en.properties
index 1d11ec42..6b915010 100644
--- a/src/main/resources/messages_en.properties
+++ b/src/main/resources/messages_en.properties
@@ -5,7 +5,7 @@ navbar.play=Play
navbar.game1=Game 1
navbar.game2=Game 2
navbar.history=History
-navbar.changeLanguage=Idiom
+navbar.changeLanguage=Language
navbar.toEnglish=English
navbar.toSpanish=Spanish
@@ -57,6 +57,31 @@ signup.passwordConfirm.placeholder=Confirm your password
signup.submit=Sign up
signup.title=Sign up
+# -------------------Statements for the apiHome.html file---------------------
+api.doc.title=API Documentation
+api.doc.description=This document describes the REST API endpoints.
+api.doc.table.parameters=Parameters
+api.doc.table.description=Description
+api.doc.table.example=Example
+api.doc.endpoints.players.title=/api/players Endpoint
+api.doc.endpoints.players.description=Retrieves a list of players based on the given parameters.
+api.doc.endpoints.questions.title=/api/questions Endpoint
+api.doc.endpoints.questions.description=Fetches a list of questions filtered by the specified criteria.
+api.doc.exampleRequest=Example Request
+api.doc.exampleResponse=Example Response
+api.doc.apikey=Your API Key (required)
+
+api.doc.player.username=Username (optional)
+api.doc.player.email=Email (optional)
+api.doc.player.id=Player ID in the system (optional)
+api.doc.player.usernames=Usernames, comma separated (optional)
+api.doc.player.emails=Emails, comma separated (optional)
+
+api.doc.question.category=Category (optional). Category ID or name.
+api.doc.question.id=Question ID in the system (optional)
+api.doc.question.statement=Statement (optional). Text to search in the question statement.
+
+
diff --git a/src/main/resources/messages_es.properties b/src/main/resources/messages_es.properties
index 30eeeb9f..aa2431e4 100644
--- a/src/main/resources/messages_es.properties
+++ b/src/main/resources/messages_es.properties
@@ -58,4 +58,26 @@ signup.passwordConfirm.placeholder=Repita la contraseña
signup.submit=Registrarse
signup.title=Regístrate
+# -------------------Statements for the apiHome.html file---------------------
+api.doc.title=Documentación de la API
+api.doc.description=Esta es la documentación de la API de WIQ. Aquí puedes encontrar información sobre los recursos disponibles, los parámetros que aceptan y los ejemplos de uso.
+api.doc.table.parameters=Parámetros
+api.doc.table.description=Descripción
+api.doc.table.example=Ejemplo
+api.doc.endpoints.players.title=Extremo /api/players
+api.doc.endpoints.players.description=Devuelve una lista de jugadores filtrada por los criterios especificados.
+api.doc.endpoints.questions.title=Extremo /api/questions
+api.doc.endpoints.questions.description=Devuelve una lista de preguntas filtrada por los criterios especificados.
+api.doc.exampleRequest=Ejemplo de petición
+api.doc.exampleResponse=Ejemplo de respuesta
+api.doc.apikey=Clave de la API (obligatorio)
+api.doc.player.username=Nombre de usuario (opcional)
+api.doc.player.email=Correo electrónico (opcional)
+api.doc.player.id=ID del jugador en el sistema (opcional)
+api.doc.player.usernames=Nombre de usuario, separados por comas (opcional)
+api.doc.player.emails=Correos electrónicos, separados por comas (opcional)
+
+api.doc.question.category=Categorña (opcional). Nombre o ID de la categoría.
+api.doc.question.id=ID de la pregunta (opcional)
+api.doc.question.statement=Enunciado de la pregunta (opcional). Texto que debe contener el enunciado de la pregunta.
\ No newline at end of file
diff --git a/src/main/resources/templates/api/apiHome.html b/src/main/resources/templates/api/apiHome.html
index 566549bd..4cdf878d 100644
--- a/src/main/resources/templates/api/apiHome.html
+++ b/src/main/resources/templates/api/apiHome.html
@@ -1,10 +1,204 @@
-
-