From b61e33dde7ac227199de67d4ec417aa1cfb14176 Mon Sep 17 00:00:00 2001 From: Emre Date: Sat, 22 Apr 2023 20:36:54 +0200 Subject: [PATCH] Better cleanliness of the code (removal of unused dependencies and application of naming conventions) and improvement of the user controller (with addition of 2 new routes) :white_check_mark: --- .../main/java/org/acme/Api/BowlDbContext.java | 5 +- .../main/java/org/acme/Api/DTO/GameDto.java | 22 +++----- .../java/org/acme/Api/DTO/ParticipeDto.java | 6 +-- .../main/java/org/acme/Api/DTO/RoundDto.java | 2 +- .../main/java/org/acme/Api/DTO/UserDTO.java | 5 +- .../java/org/acme/Api/DTO/UserStatsDTO.java | 4 +- .../java/org/acme/Api/DTO/UserTinyDTO.java | 2 +- .../java/org/acme/Api/Manager/DbManager.java | 5 +- .../org/acme/Api/Manager/GameManager.java | 7 ++- .../java/org/acme/Api/Mappeur/Extensions.java | 10 ++-- .../org/acme/Api/Mappeur/GameMappeur.java | 17 ++---- .../acme/Api/Mappeur/ParticipeMappeur.java | 7 ++- .../org/acme/Api/Mappeur/RoundMappeur.java | 8 +-- .../org/acme/Api/Mappeur/TrhowMappeur.java | 2 +- .../org/acme/Api/Mappeur/UserMappeur.java | 8 +-- .../acme/Api/controllers/GameController.java | 16 ++---- .../acme/Api/controllers/UserController.java | 52 ++++++++++++------- .../org/acme/Api/service/GameRepository.java | 8 ++- .../acme/Api/service/ParticipeRepository.java | 6 +-- .../org/acme/Api/service/RoundRepository.java | 5 +- .../org/acme/Api/service/ThrowRepository.java | 4 +- .../org/acme/Api/service/UserRepository.java | 23 ++++---- .../acme/Hibernates/entities/GameEntity.java | 2 +- .../Hibernates/entities/ParticipeEntity.java | 2 +- .../acme/Hibernates/entities/ParticipeId.java | 2 +- .../acme/Hibernates/entities/RoundEntity.java | 2 +- .../org/acme/Hibernates/entities/RoundId.java | 2 +- .../acme/Hibernates/entities/ThrowEntity.java | 2 +- .../org/acme/Hibernates/entities/ThrowId.java | 2 +- .../acme/Hibernates/entities/UserEntity.java | 7 +-- .../Hibernates/entities/UserStatsEntity.java | 2 +- .../src/main/resources/application.properties | 6 +-- .../API/Quarkus/src/main/resources/import.sql | 6 +-- 33 files changed, 113 insertions(+), 146 deletions(-) diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/BowlDbContext.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/BowlDbContext.java index 8f375db..1f53626 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/BowlDbContext.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/BowlDbContext.java @@ -1,10 +1,9 @@ -package org.acme.Api; +package org.acme.api; -import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; import javax.inject.Singleton; -import org.acme.Api.service.*; +import org.acme.api.service.*; @Singleton public class BowlDbContext { diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/GameDto.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/GameDto.java index bcfe101..475830c 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/GameDto.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/GameDto.java @@ -1,25 +1,17 @@ -package org.acme.Api.DTO; +package org.acme.api.dto; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; import java.util.List; -import java.util.Map; -import org.acme.Hibernates.entities.GameEntity; -import org.acme.Hibernates.entities.ParticipeEntity; import org.eclipse.microprofile.openapi.annotations.media.Schema; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; -import io.quarkus.hibernate.reactive.panache.common.ProjectedFieldName; import io.quarkus.runtime.annotations.RegisterForReflection; import io.smallrye.mutiny.Uni; -import io.quarkus.runtime.annotations.RegisterForReflection; + import java.time.LocalDate; -import java.util.List; // @RegisterForReflection // @Schema(description = "A DTO for transferring game details") @@ -77,11 +69,11 @@ public class GameDto { // Constructeur avec tous les champs sauf l'ID (généré automatiquement) public GameDto(Long id, - Uni> players, - LocalDate time, - Long ownerGame, - UserTinyDTO winner, - Uni> rounds) { + Uni> players, + LocalDate time, + Long ownerGame, + UserTinyDTO winner, + Uni> rounds) { this.players = players; this.date = time; this.hostID = ownerGame; diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/ParticipeDto.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/ParticipeDto.java index 54b89cc..361319b 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/ParticipeDto.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/ParticipeDto.java @@ -1,9 +1,5 @@ -package org.acme.Api.DTO; +package org.acme.api.dto; -import java.util.UUID; - -import org.acme.Hibernates.entities.ParticipeEntity; -import org.acme.Hibernates.entities.ParticipeId; import org.eclipse.microprofile.openapi.annotations.media.Schema; import io.quarkus.runtime.annotations.RegisterForReflection; diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/RoundDto.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/RoundDto.java index 33228c3..3bfb51f 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/RoundDto.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/RoundDto.java @@ -1,4 +1,4 @@ -package org.acme.Api.DTO; +package org.acme.api.dto; import io.quarkus.runtime.annotations.RegisterForReflection; diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/UserDTO.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/UserDTO.java index 477acfd..0bbb565 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/UserDTO.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/UserDTO.java @@ -1,13 +1,12 @@ -package org.acme.Api.DTO; +package org.acme.api.dto; -import io.quarkus.hibernate.reactive.panache.common.ProjectedFieldName; import io.quarkus.runtime.annotations.RegisterForReflection; -import org.acme.Hibernates.entities.UserStatsEntity; import org.eclipse.microprofile.openapi.annotations.media.Schema; @RegisterForReflection @Schema(description = "A DTO for transferring user details") public class UserDTO { + public Long id; public String name; public String image; diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/UserStatsDTO.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/UserStatsDTO.java index 02c53ac..b23617c 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/UserStatsDTO.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/UserStatsDTO.java @@ -1,9 +1,7 @@ -package org.acme.Api.DTO; +package org.acme.api.dto; import io.quarkus.runtime.annotations.RegisterForReflection; -import org.acme.Hibernates.entities.UserStatsEntity; import org.eclipse.microprofile.openapi.annotations.media.Schema; -import org.hibernate.annotations.ColumnDefault; @RegisterForReflection @Schema(description = "A DTO describing the stats of a User") diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/UserTinyDTO.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/UserTinyDTO.java index e521147..ec6ab99 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/UserTinyDTO.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/UserTinyDTO.java @@ -1,4 +1,4 @@ -package org.acme.Api.DTO; +package org.acme.api.dto; import io.quarkus.hibernate.reactive.panache.common.ProjectedFieldName; import io.quarkus.runtime.annotations.RegisterForReflection; diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/Manager/DbManager.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/Manager/DbManager.java index 2d8512c..e7fefad 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/Manager/DbManager.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/Manager/DbManager.java @@ -1,10 +1,9 @@ -package org.acme.Api.Manager; +package org.acme.api.manager; -import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; import javax.inject.Singleton; -import org.acme.Api.BowlDbContext; +import org.acme.api.BowlDbContext; @Singleton public class DbManager { diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/Manager/GameManager.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/Manager/GameManager.java index b14aafc..c318323 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/Manager/GameManager.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/Manager/GameManager.java @@ -1,13 +1,12 @@ -package org.acme.Api.Manager; +package org.acme.api.manager; import java.util.List; import java.util.stream.Collectors; -import javax.enterprise.context.ApplicationScoped; import javax.ws.rs.NotFoundException; -import org.acme.Api.DTO.GameDto; -import org.acme.Api.Mappeur.GameMappeur; +import org.acme.api.dto.GameDto; +import org.acme.api.mappeur.GameMappeur; import io.smallrye.mutiny.Uni; diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/Extensions.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/Extensions.java index 8814f88..093af1c 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/Extensions.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/Extensions.java @@ -1,4 +1,4 @@ -package org.acme.Api.Mappeur; +package org.acme.api.mappeur; import java.time.LocalDate; import java.time.ZoneId; @@ -7,10 +7,10 @@ import java.util.Date; import java.util.List; import java.util.stream.Collectors; -import org.acme.Api.DTO.ParticipeDto; -import org.acme.Api.DTO.RoundDto; -import org.acme.Hibernates.entities.ParticipeEntity; -import org.acme.Hibernates.entities.RoundEntity; +import org.acme.api.dto.ParticipeDto; +import org.acme.api.dto.RoundDto; +import org.acme.hibernates.entities.ParticipeEntity; +import org.acme.hibernates.entities.RoundEntity; import io.smallrye.mutiny.Uni; diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/GameMappeur.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/GameMappeur.java index 05fe399..eb4ed5a 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/GameMappeur.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/GameMappeur.java @@ -1,17 +1,8 @@ -package org.acme.Api.Mappeur; +package org.acme.api.mappeur; -import java.time.LocalDate; -import java.time.ZoneId; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.acme.Api.BowlDbContext; -import org.acme.Api.DTO.GameDto; -import org.acme.Api.DTO.UserTinyDTO; -import org.acme.Hibernates.entities.GameEntity; +import org.acme.api.BowlDbContext; +import org.acme.api.dto.GameDto; +import org.acme.hibernates.entities.GameEntity; public class GameMappeur { diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/ParticipeMappeur.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/ParticipeMappeur.java index a665774..597797a 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/ParticipeMappeur.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/ParticipeMappeur.java @@ -1,8 +1,7 @@ -package org.acme.Api.Mappeur; +package org.acme.api.mappeur; -import org.acme.Api.DTO.ParticipeDto; -import org.acme.Api.DTO.RoundDto; -import org.acme.Hibernates.entities.ParticipeEntity; +import org.acme.api.dto.ParticipeDto; +import org.acme.hibernates.entities.ParticipeEntity; public class ParticipeMappeur { public static ParticipeDto toDto(ParticipeEntity entity) { diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/RoundMappeur.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/RoundMappeur.java index 51b159d..bbd7e8e 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/RoundMappeur.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/RoundMappeur.java @@ -1,10 +1,10 @@ -package org.acme.Api.Mappeur; +package org.acme.api.mappeur; import java.util.List; -import org.acme.Api.DTO.RoundDto; -import org.acme.Hibernates.entities.RoundEntity; -import org.acme.Hibernates.entities.ThrowEntity; +import org.acme.api.dto.RoundDto; +import org.acme.hibernates.entities.RoundEntity; +import org.acme.hibernates.entities.ThrowEntity; public class RoundMappeur { diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/TrhowMappeur.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/TrhowMappeur.java index a6b558e..5f157c7 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/TrhowMappeur.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/TrhowMappeur.java @@ -1,4 +1,4 @@ -package org.acme.Api.Mappeur; +package org.acme.api.mappeur; public class TrhowMappeur { diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/UserMappeur.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/UserMappeur.java index 8747bbf..1baff6d 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/UserMappeur.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/Mappeur/UserMappeur.java @@ -1,8 +1,8 @@ -package org.acme.Api.Mappeur; +package org.acme.api.mappeur; -import org.acme.Api.DTO.UserDTO; -import org.acme.Api.DTO.UserTinyDTO; -import org.acme.Hibernates.entities.UserEntity; +import org.acme.api.dto.UserDTO; +import org.acme.api.dto.UserTinyDTO; +import org.acme.hibernates.entities.UserEntity; public class UserMappeur { public static UserDTO toUserDto(UserEntity entity) { diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/controllers/GameController.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/controllers/GameController.java index 31a10c4..fa98c5f 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/controllers/GameController.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/controllers/GameController.java @@ -1,17 +1,13 @@ -package org.acme.Api.controllers; +package org.acme.api.controllers; import java.net.URI; import java.util.List; import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; -import javax.transaction.Transactional; import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; import javax.ws.rs.GET; -import javax.ws.rs.NotFoundException; import javax.ws.rs.POST; -import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; @@ -20,17 +16,11 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; -import org.acme.Api.DTO.GameDto; -import org.acme.Api.DTO.UserTinyDTO; -import org.acme.Api.Manager.DbManager; -import org.acme.Api.Manager.GameManager; -import org.acme.Api.service.GameRepository; -import org.acme.Hibernates.entities.GameEntity; -import org.acme.Hibernates.entities.UserEntity; +import org.acme.api.dto.GameDto; +import org.acme.api.manager.DbManager; import org.jboss.logging.Logger; import io.quarkus.hibernate.reactive.panache.common.runtime.ReactiveTransactional; -import io.quarkus.panache.common.Sort; import io.smallrye.mutiny.Uni; @ApplicationScoped diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/controllers/UserController.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/controllers/UserController.java index 5c4ab30..824859a 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/controllers/UserController.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/controllers/UserController.java @@ -1,15 +1,13 @@ -package org.acme.Api.controllers; +package org.acme.api.controllers; import java.net.URI; import java.util.List; import javax.enterprise.context.ApplicationScoped; import javax.inject.Inject; -import javax.transaction.Transactional; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; -import javax.ws.rs.NotFoundException; import javax.ws.rs.POST; import javax.ws.rs.PUT; import javax.ws.rs.Path; @@ -20,19 +18,14 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; -import io.quarkus.hibernate.reactive.panache.PanacheQuery; - -import org.acme.Api.BowlDbContext; -import org.acme.Api.DTO.UserDTO; -import org.acme.Api.DTO.UserTinyDTO; -import org.acme.Api.service.UserRepository; -import org.acme.Hibernates.entities.UserEntity; +import org.acme.api.BowlDbContext; +import org.acme.api.dto.UserDTO; +import org.acme.hibernates.entities.UserEntity; import org.eclipse.microprofile.openapi.annotations.Operation; import org.eclipse.microprofile.openapi.annotations.responses.APIResponse; import org.jboss.logging.Logger; import io.quarkus.hibernate.reactive.panache.common.runtime.ReactiveTransactional; -import io.quarkus.panache.common.Sort; import io.smallrye.mutiny.Uni; @ApplicationScoped @@ -40,7 +33,7 @@ import io.smallrye.mutiny.Uni; @Consumes(MediaType.APPLICATION_JSON) @Path("/users") public class UserController { - + private static final Logger LOGGER = Logger.getLogger(UserController.class.getName()); @Inject @@ -61,12 +54,33 @@ public class UserController { @Path("/{id}") public Uni getUserById(@PathParam("id") Long id) { LOGGER.info("Get user with id : " + id); - return service.userRepository.findByBowlinId(id) - .onItem() - .transform( - entity -> entity == null ? Response.status(Status.NOT_FOUND) : Response.ok(entity).status(200)) - .onItem().transform(Response.ResponseBuilder::build); + return service.userRepository.getUserById(id) + .map(user -> user == null ? Response.status(Status.NOT_FOUND) : Response.ok(user).status(200)) + .map(Response.ResponseBuilder::build); + } + @GET + @Operation(summary = "Get a user by name") + @APIResponse(responseCode = "200", description = "OK") + @APIResponse(responseCode = "404", description = "User not found") + @Path("/name/{name}") + public Uni getUserByName(@PathParam("name") String name) { + LOGGER.info("Get user with name : " + name); + return service.userRepository.findwithName(name) + .map(user -> user == null ? Response.status(Status.NOT_FOUND) : Response.ok(user).status(200)) + .map(Response.ResponseBuilder::build); + } + + @GET + @Operation(summary = "Get a user by mail") + @APIResponse(responseCode = "200", description = "OK") + @APIResponse(responseCode = "404", description = "User not found") + @Path("/mail/{mail}") + public Uni getUserByMail(@PathParam("mail") String mail) { + LOGGER.info("Get user with mail : " + mail); + return service.userRepository.findwithMail(mail) + .map(user -> user == null ? Response.status(Status.NOT_FOUND) : Response.ok(user).status(200)) + .map(Response.ResponseBuilder::build); } @POST @@ -105,7 +119,7 @@ public class UserController { @DELETE @Operation(summary = "Delete a user") - @APIResponse(responseCode = "200", description = "User successfully deleted") + @APIResponse(responseCode = "204") @APIResponse(responseCode = "404", description = "User not found") @Path("/{id}") @ReactiveTransactional @@ -113,7 +127,7 @@ public class UserController { LOGGER.info("Delete user with id : " + id); return service.userRepository.deleteById(id) .onItem().transform(entity -> !entity ? Response.status(Status.NOT_FOUND).build() - : Response.ok().status(200).build()); + : Response.noContent().build()); } @GET diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/service/GameRepository.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/service/GameRepository.java index 3a9af8d..563b22f 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/service/GameRepository.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/service/GameRepository.java @@ -1,13 +1,11 @@ -package org.acme.Api.service; +package org.acme.api.service; import java.util.List; import javax.enterprise.context.ApplicationScoped; -import javax.ws.rs.NotFoundException; -import org.acme.Api.DTO.GameDto; -import org.acme.Api.Mappeur.GameMappeur; -import org.acme.Hibernates.entities.GameEntity; +import org.acme.api.dto.GameDto; +import org.acme.hibernates.entities.GameEntity; import io.quarkus.hibernate.reactive.panache.PanacheRepository; import io.smallrye.mutiny.Uni; diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/service/ParticipeRepository.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/service/ParticipeRepository.java index 5ba9142..2e7a176 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/service/ParticipeRepository.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/service/ParticipeRepository.java @@ -1,11 +1,11 @@ -package org.acme.Api.service; +package org.acme.api.service; import java.util.List; import javax.enterprise.context.ApplicationScoped; -import org.acme.Api.DTO.ParticipeDto; -import org.acme.Hibernates.entities.ParticipeEntity; +import org.acme.api.dto.ParticipeDto; +import org.acme.hibernates.entities.ParticipeEntity; import io.quarkus.hibernate.reactive.panache.PanacheQuery; import io.quarkus.hibernate.reactive.panache.PanacheRepository; diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/service/RoundRepository.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/service/RoundRepository.java index f654db2..65a4ce4 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/service/RoundRepository.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/service/RoundRepository.java @@ -1,11 +1,10 @@ -package org.acme.Api.service; +package org.acme.api.service; import java.util.List; import javax.enterprise.context.ApplicationScoped; -import org.acme.Hibernates.entities.GameEntity; -import org.acme.Hibernates.entities.RoundEntity; +import org.acme.hibernates.entities.RoundEntity; import io.quarkus.hibernate.reactive.panache.PanacheRepository; import io.smallrye.mutiny.Uni; diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/service/ThrowRepository.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/service/ThrowRepository.java index 239f22b..7468fda 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/service/ThrowRepository.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/service/ThrowRepository.java @@ -1,8 +1,8 @@ -package org.acme.Api.service; +package org.acme.api.service; import javax.enterprise.context.ApplicationScoped; -import org.acme.Hibernates.entities.ThrowEntity; +import org.acme.hibernates.entities.ThrowEntity; import io.quarkus.hibernate.reactive.panache.PanacheRepository; diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/service/UserRepository.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/service/UserRepository.java index 4f7059d..c405c88 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/service/UserRepository.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/service/UserRepository.java @@ -1,12 +1,9 @@ -package org.acme.Api.service; - -import java.util.List; +package org.acme.api.service; import javax.enterprise.context.ApplicationScoped; -import org.acme.Api.DTO.UserDTO; -import org.acme.Api.DTO.UserTinyDTO; -import org.acme.Hibernates.entities.UserEntity; +import org.acme.api.dto.UserDTO; +import org.acme.hibernates.entities.UserEntity; import io.quarkus.hibernate.reactive.panache.PanacheRepository; import io.smallrye.mutiny.Uni; @@ -18,16 +15,16 @@ public class UserRepository implements PanacheRepository { // return UserEntity.find("name", name).firstResult(); // } - public Uni> findwithName(String name) { - return list("name", name); + public Uni findwithName(String name) { + return find("name", name.toLowerCase()).project(UserDTO.class).firstResult(); } - public Uni> findByBowlinId(Long id) { - return find("id", id).project(UserDTO.class).list(); + public Uni findwithMail(String mail) { + return find("mail", mail.toLowerCase()).project(UserDTO.class).firstResult(); } - // public Uni deleteUser() { - // return delete("name", "Stef"); - // } + public Uni getUserById(Long id) { + return find("id", id).project(UserDTO.class).firstResult(); + } } diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/GameEntity.java b/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/GameEntity.java index e59b8c8..d1ac9d8 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/GameEntity.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/GameEntity.java @@ -1,4 +1,4 @@ -package org.acme.Hibernates.entities; +package org.acme.hibernates.entities; import java.util.ArrayList; import java.util.Date; diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/ParticipeEntity.java b/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/ParticipeEntity.java index b6e2b06..985ff59 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/ParticipeEntity.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/ParticipeEntity.java @@ -1,4 +1,4 @@ -package org.acme.Hibernates.entities; +package org.acme.hibernates.entities; import java.io.Serializable; diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/ParticipeId.java b/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/ParticipeId.java index 81f54b6..6fce1f5 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/ParticipeId.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/ParticipeId.java @@ -1,4 +1,4 @@ -package org.acme.Hibernates.entities; +package org.acme.hibernates.entities; import java.io.Serializable; diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/RoundEntity.java b/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/RoundEntity.java index 837c47e..e7fe4c1 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/RoundEntity.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/RoundEntity.java @@ -1,4 +1,4 @@ -package org.acme.Hibernates.entities; +package org.acme.hibernates.entities; import java.io.Serializable; import java.util.ArrayList; diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/RoundId.java b/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/RoundId.java index 06c2549..07c72f4 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/RoundId.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/RoundId.java @@ -1,4 +1,4 @@ -package org.acme.Hibernates.entities; +package org.acme.hibernates.entities; import java.io.Serializable; import java.util.Objects; diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/ThrowEntity.java b/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/ThrowEntity.java index 7aca575..c0afb59 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/ThrowEntity.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/ThrowEntity.java @@ -1,4 +1,4 @@ -package org.acme.Hibernates.entities; +package org.acme.hibernates.entities; import javax.persistence.*; diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/ThrowId.java b/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/ThrowId.java index d9a87b8..045e573 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/ThrowId.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/ThrowId.java @@ -1,4 +1,4 @@ -package org.acme.Hibernates.entities; +package org.acme.hibernates.entities; import java.io.Serializable; import java.util.Objects; diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/UserEntity.java b/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/UserEntity.java index e25bc34..33c0ba5 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/UserEntity.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/UserEntity.java @@ -1,12 +1,9 @@ -package org.acme.Hibernates.entities; - -import java.util.ArrayList; -import java.util.List; +package org.acme.hibernates.entities; import javax.persistence.*; @Entity -@Table(name = "Users") +@Table(name = "Users", uniqueConstraints = {@UniqueConstraint(columnNames = {"name"}), @UniqueConstraint(columnNames = {"mail"})}) public class UserEntity { @Id diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/UserStatsEntity.java b/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/UserStatsEntity.java index c1ea624..9f1f0bb 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/UserStatsEntity.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Hibernates/entities/UserStatsEntity.java @@ -1,4 +1,4 @@ -package org.acme.Hibernates.entities; +package org.acme.hibernates.entities; import org.hibernate.annotations.ColumnDefault; diff --git a/Sources/API/Quarkus/src/main/resources/application.properties b/Sources/API/Quarkus/src/main/resources/application.properties index e663f81..e5008a1 100644 --- a/Sources/API/Quarkus/src/main/resources/application.properties +++ b/Sources/API/Quarkus/src/main/resources/application.properties @@ -1,7 +1,7 @@ quarkus.datasource.db-kind = postgresql -quarkus.datasource.username = postgres -quarkus.datasource.password = achanger -quarkus.datasource.reactive.url = vertx-reactive:postgresql://localhost:5432/BowlInDB +quarkus.datasource.username = Garderie +quarkus.datasource.password = mdp +quarkus.datasource.reactive.url = vertx-reactive:postgresql://bowldev-postgresql:5432/BowlInDB #BowlDev-postgresql quarkus.hibernate-orm.log.sql=true diff --git a/Sources/API/Quarkus/src/main/resources/import.sql b/Sources/API/Quarkus/src/main/resources/import.sql index a187702..1df69b6 100644 --- a/Sources/API/Quarkus/src/main/resources/import.sql +++ b/Sources/API/Quarkus/src/main/resources/import.sql @@ -1,9 +1,9 @@ INSERT INTO Users (name, password, image, mail) VALUES - ('David', 'password123','','david.d_almeida@etu.uca.fr'), - ('Emre', 'password2','','emre.kartal@etu.uca.fr'), - ('Arthur', 'password3','','arthur.valin@etu.uca.fr'); + ('david', 'password123','','david.d_almeida@etu.uca.fr'), + ('emre', 'password2','','emre.kartal@etu.uca.fr'), + ('arthur', 'password3','','arthur.valin@etu.uca.fr'); /*INSERT INTO games (isFinished, nbPoints, time, winner, host_id) VALUES (false, 0, CURRENT_TIMESTAMP, 0, 1); INSERT INTO participe (idGame, position, guestname, totalpoints, iduser) VALUES (1, 1, 'Alice', 0, 1);