Add: unified requests with pre users endpoint

This commit is contained in:
2026-01-27 17:43:14 +01:00
parent c5a2c19efb
commit 2627267391
5 changed files with 75 additions and 14 deletions

View File

@@ -60,11 +60,11 @@ public class RequestController {
)));
}
@PostMapping("/waitlist")
@PostMapping("/with-pre-user")
@Transactional
public ResponseEntity<RequestDto.Response> createWaitlist(
@RequestBody CreateWaitlistDto body) {
RequestDto.Response response = requestService.createWaitlist(body.request(), body.preUser());
public ResponseEntity<RequestDto.Response> createWithPreUser(
@RequestBody RequestWithPreUserDto.Request body) {
RequestDto.Response response = requestService.createWithPreUser(body.getRequest(), body.getPreUser());
return ResponseEntity.ok(response);
}

View File

@@ -1,7 +0,0 @@
package net.miarma.backend.huertos.dto;
public record CreateWaitlistDto(
RequestDto.Request request,
PreUserDto.Request preUser
) {
}

View File

@@ -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;
}
}
}

View File

@@ -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;

View File

@@ -81,10 +81,12 @@ public class RequestService {
}
@Transactional
public RequestDto.Response createWaitlist(RequestDto.Request requestDto,
public RequestDto.Response createWithPreUser(RequestDto.Request requestDto,
PreUserDto.Request preUserDto) {
PreUser preUser = preUserRepository.save(PreUserMapper.toEntity(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);
}