diff --git a/huertos/src/main/java/net/miarma/backend/huertos/controller/RequestController.java b/huertos/src/main/java/net/miarma/backend/huertos/controller/RequestController.java index e397f06..798a426 100644 --- a/huertos/src/main/java/net/miarma/backend/huertos/controller/RequestController.java +++ b/huertos/src/main/java/net/miarma/backend/huertos/controller/RequestController.java @@ -60,11 +60,11 @@ public class RequestController { ))); } - @PostMapping("/waitlist") + @PostMapping("/with-pre-user") @Transactional - public ResponseEntity createWaitlist( - @RequestBody CreateWaitlistDto body) { - RequestDto.Response response = requestService.createWaitlist(body.request(), body.preUser()); + public ResponseEntity createWithPreUser( + @RequestBody RequestWithPreUserDto.Request body) { + RequestDto.Response response = requestService.createWithPreUser(body.getRequest(), body.getPreUser()); return ResponseEntity.ok(response); } diff --git a/huertos/src/main/java/net/miarma/backend/huertos/dto/CreateWaitlistDto.java b/huertos/src/main/java/net/miarma/backend/huertos/dto/CreateWaitlistDto.java deleted file mode 100644 index fb844ba..0000000 --- a/huertos/src/main/java/net/miarma/backend/huertos/dto/CreateWaitlistDto.java +++ /dev/null @@ -1,7 +0,0 @@ -package net.miarma.backend.huertos.dto; - -public record CreateWaitlistDto( - RequestDto.Request request, - PreUserDto.Request preUser -) { -} diff --git a/huertos/src/main/java/net/miarma/backend/huertos/dto/RequestWithPreUserDto.java b/huertos/src/main/java/net/miarma/backend/huertos/dto/RequestWithPreUserDto.java new file mode 100644 index 0000000..3c7f2e0 --- /dev/null +++ b/huertos/src/main/java/net/miarma/backend/huertos/dto/RequestWithPreUserDto.java @@ -0,0 +1,55 @@ +package net.miarma.backend.huertos.dto; + +public class RequestWithPreUserDto { + public static class Request { + private RequestDto.Request request; + private PreUserDto.Request preUser; + + public Request(RequestDto.Request request, PreUserDto.Request preUser) { + this.request = request; + this.preUser = preUser; + } + + public RequestDto.Request getRequest() { + return request; + } + + public void setRequest(RequestDto.Request request) { + this.request = request; + } + + public PreUserDto.Request getPreUser() { + return preUser; + } + + public void setPreUser(PreUserDto.Request preUser) { + this.preUser = preUser; + } + } + + public static class Response { + private RequestDto.Response request; + private PreUserDto.Response preUser; + + public RequestDto.Response getRequest() { + return request; + } + + public void setRequest(RequestDto.Response request) { + this.request = request; + } + + public PreUserDto.Response getPreUser() { + return preUser; + } + + public void setPreUser(PreUserDto.Response preUser) { + this.preUser = preUser; + } + + public Response(RequestDto.Response request, PreUserDto.Response preUser) { + this.request = request; + this.preUser = preUser; + } + } +} diff --git a/huertos/src/main/java/net/miarma/backend/huertos/mapper/RequestMapper.java b/huertos/src/main/java/net/miarma/backend/huertos/mapper/RequestMapper.java index 1779048..9cd3417 100644 --- a/huertos/src/main/java/net/miarma/backend/huertos/mapper/RequestMapper.java +++ b/huertos/src/main/java/net/miarma/backend/huertos/mapper/RequestMapper.java @@ -1,6 +1,8 @@ package net.miarma.backend.huertos.mapper; import net.miarma.backend.huertos.dto.RequestDto; +import net.miarma.backend.huertos.dto.RequestWithPreUserDto; +import net.miarma.backend.huertos.model.PreUser; import net.miarma.backend.huertos.model.Request; public class RequestMapper { @@ -18,6 +20,15 @@ public class RequestMapper { return dto; } + public static RequestWithPreUserDto.Response toResponseWithPreUser(Request request, PreUser preUser) { + if (request == null || preUser == null) return null; + + return new RequestWithPreUserDto.Response( + RequestMapper.toResponse(request), + PreUserMapper.toResponse(preUser) + ); + } + public static Request toEntity(RequestDto.Request dto) { if (dto == null) return null; diff --git a/huertos/src/main/java/net/miarma/backend/huertos/service/RequestService.java b/huertos/src/main/java/net/miarma/backend/huertos/service/RequestService.java index 7dd4a6f..937145c 100644 --- a/huertos/src/main/java/net/miarma/backend/huertos/service/RequestService.java +++ b/huertos/src/main/java/net/miarma/backend/huertos/service/RequestService.java @@ -81,10 +81,12 @@ public class RequestService { } @Transactional - public RequestDto.Response createWaitlist(RequestDto.Request requestDto, - PreUserDto.Request preUserDto) { - PreUser preUser = preUserRepository.save(PreUserMapper.toEntity(preUserDto)); + public RequestDto.Response createWithPreUser(RequestDto.Request requestDto, + PreUserDto.Request preUserDto) { Request request = requestRepository.save(RequestMapper.toEntity(requestDto)); + PreUser tmpPreUser = PreUserMapper.toEntity(preUserDto); + tmpPreUser.setRequestId(request.getRequestId()); + PreUser preUser = preUserRepository.save(tmpPreUser); return RequestMapper.toResponse(request); }