diff --git a/readme.md b/readme.md index 3e0fd54..75a4586 100644 --- a/readme.md +++ b/readme.md @@ -79,6 +79,7 @@ Prosty mikroserwis stworzony na potrzeby rekrutacji "type": "string" }, "currencies": { + "$comment": "TODO: Map -> List", "type": "array", "items": { "$ref": "#/def/currency" diff --git a/src/main/java/eu/ztsh/wymiana/util/UserMapper.java b/src/main/java/eu/ztsh/wymiana/util/UserMapper.java index 44f2524..15a9e5a 100644 --- a/src/main/java/eu/ztsh/wymiana/util/UserMapper.java +++ b/src/main/java/eu/ztsh/wymiana/util/UserMapper.java @@ -4,7 +4,6 @@ import eu.ztsh.wymiana.data.entity.CurrencyEntity; import eu.ztsh.wymiana.data.entity.UserEntity; import eu.ztsh.wymiana.model.User; import eu.ztsh.wymiana.web.model.UserCreateRequest; -import eu.ztsh.wymiana.web.model.UserResponse; import java.util.List; @@ -20,10 +19,6 @@ public class UserMapper { CurrencyMapper.pojoMapToEntities(pojo.currencies(), pojo.pesel())); } - public static UserResponse pojoToResponse(User pojo) { - return new UserResponse(pojo.name(), pojo.surname(), pojo.pesel(), pojo.currencies().values().stream().toList()); - } - public static UserEntity requestToEntity(UserCreateRequest request) { return new UserEntity(request.pesel(), request.name(), request.surname(), List.of(new CurrencyEntity(request.pesel(), "PLN", request.initial()))); diff --git a/src/main/java/eu/ztsh/wymiana/web/controller/ExchangeController.java b/src/main/java/eu/ztsh/wymiana/web/controller/ExchangeController.java index 39c635d..6025a9d 100644 --- a/src/main/java/eu/ztsh/wymiana/web/controller/ExchangeController.java +++ b/src/main/java/eu/ztsh/wymiana/web/controller/ExchangeController.java @@ -2,9 +2,9 @@ package eu.ztsh.wymiana.web.controller; import eu.ztsh.wymiana.exception.InsufficientFundsException; import eu.ztsh.wymiana.exception.UserNotFoundException; +import eu.ztsh.wymiana.model.User; import eu.ztsh.wymiana.service.CurrencyService; import eu.ztsh.wymiana.web.model.CurrencyExchangeRequest; -import eu.ztsh.wymiana.web.model.UserResponse; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; @@ -33,8 +33,7 @@ public class ExchangeController { @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Exchange performed successfully", - content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, - schema = @Schema(implementation = UserResponse.class))), + content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, schema = @Schema(implementation = User.class))), @ApiResponse(responseCode = "400", description = "Insufficient funds", content = @Content(mediaType = MediaType.TEXT_PLAIN_VALUE)), diff --git a/src/main/java/eu/ztsh/wymiana/web/controller/UserController.java b/src/main/java/eu/ztsh/wymiana/web/controller/UserController.java index dfa40b6..1004803 100644 --- a/src/main/java/eu/ztsh/wymiana/web/controller/UserController.java +++ b/src/main/java/eu/ztsh/wymiana/web/controller/UserController.java @@ -2,11 +2,10 @@ package eu.ztsh.wymiana.web.controller; import eu.ztsh.wymiana.exception.UserAlreadyExistsException; import eu.ztsh.wymiana.exception.UserNotFoundException; +import eu.ztsh.wymiana.model.User; import eu.ztsh.wymiana.service.UserService; -import eu.ztsh.wymiana.util.UserMapper; import eu.ztsh.wymiana.validation.ValidationFailedException; import eu.ztsh.wymiana.web.model.UserCreateRequest; -import eu.ztsh.wymiana.web.model.UserResponse; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.responses.ApiResponse; @@ -43,10 +42,9 @@ public class UserController { @ApiResponse(responseCode = "500", description = "Another error has occurred", content = @Content) }) @GetMapping("{pesel}") - public ResponseEntity get(@PathVariable("pesel") String pesel) { + public ResponseEntity get(@PathVariable("pesel") String pesel) { try { return userService.get(pesel) - .map(UserMapper::pojoToResponse) .map(ResponseEntity::ok) .orElseThrow(() -> new UserNotFoundException(pesel)); } catch (Exception e) { diff --git a/src/main/java/eu/ztsh/wymiana/web/model/UserResponse.java b/src/main/java/eu/ztsh/wymiana/web/model/UserResponse.java deleted file mode 100644 index 2e73267..0000000 --- a/src/main/java/eu/ztsh/wymiana/web/model/UserResponse.java +++ /dev/null @@ -1,9 +0,0 @@ -package eu.ztsh.wymiana.web.model; - -import eu.ztsh.wymiana.model.Currency; - -import java.util.List; - -public record UserResponse(String name, String surname, String pesel, List currencies) { - -}