Fix: errors in the YAML files. Add: DTO for making pre-user requests in huertos.

This commit is contained in:
Jose
2026-01-22 13:24:52 +01:00
parent 01b7425237
commit 2523b22043
6 changed files with 49 additions and 7 deletions

View File

@@ -43,10 +43,10 @@ public class SecurityConfig {
.authorizeHttpRequests(auth -> auth
// PUBLICAS
.requestMatchers("/login").permitAll()
.requestMatchers("/announces/**").permitAll()
.requestMatchers("/huertos/members/waitlist").permitAll()
.requestMatchers("/huertos/members/waitlist/limited").permitAll()
.requestMatchers("/huertos/members/latest-number").permitAll()
.requestMatchers("/announces").permitAll()
.requestMatchers("/requests").permitAll()
.requestMatchers("/huertos/users/waitlist/limited").permitAll()
.requestMatchers("/huertos/users/latest-number").permitAll()
// PRIVADAS
.anyRequest().authenticated()
);

View File

@@ -1,13 +1,19 @@
package net.miarma.backend.huertos.controller;
import jakarta.transaction.Transactional;
import net.miarma.backend.huertos.dto.CreateWaitlistDto;
import net.miarma.backend.huertos.dto.PreUserDto;
import net.miarma.backend.huertos.dto.RequestCountDto;
import net.miarma.backend.huertos.dto.RequestDto;
import net.miarma.backend.huertos.dto.view.VRequestsWithPreUsersDto;
import net.miarma.backend.huertos.mapper.PreUserMapper;
import net.miarma.backend.huertos.mapper.RequestMapper;
import net.miarma.backend.huertos.mapper.view.VIncomesWithFullNamesMapper;
import net.miarma.backend.huertos.mapper.view.VRequestsWithPreUsersMapper;
import net.miarma.backend.huertos.model.PreUser;
import net.miarma.backend.huertos.model.Request;
import net.miarma.backend.huertos.model.view.VRequestsWithPreUsers;
import net.miarma.backend.huertos.service.PreUserService;
import net.miarma.backend.huertos.service.RequestService;
import net.miarma.backend.huertos.service.view.VRequestsWithPreUsersService;
import net.miarma.backlib.security.JwtService;
@@ -26,11 +32,16 @@ import java.util.stream.Collectors;
public class RequestController {
private final RequestService requestService;
private final PreUserService preUserService;
private final VRequestsWithPreUsersService vRequestsWithPreUsersService;
private final JwtService jwtService;
public RequestController(RequestService requestService, VRequestsWithPreUsersService vRequestsWithPreUsersService, JwtService jwtService) {
public RequestController(RequestService requestService,
PreUserService preUserService,
VRequestsWithPreUsersService vRequestsWithPreUsersService,
JwtService jwtService) {
this.requestService = requestService;
this.preUserService = preUserService;
this.vRequestsWithPreUsersService = vRequestsWithPreUsersService;
this.jwtService = jwtService;
}
@@ -108,6 +119,14 @@ public class RequestController {
return ResponseEntity.ok(RequestMapper.toResponse(request));
}
@PostMapping
@Transactional
public ResponseEntity<RequestDto.Response> create(
@RequestBody CreateWaitlistDto body) {
RequestDto.Response response = requestService.create(body.request(), body.preUser());
return ResponseEntity.ok(response);
}
@PutMapping("/{request_id}")
@PreAuthorize("hasAnyRole('HUERTOS_ROLE_ADMIN', 'HUERTOS_ROLE_DEV')")
public ResponseEntity<RequestDto.Response> update(

View File

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

View File

@@ -4,8 +4,13 @@ import java.time.Instant;
import java.util.List;
import java.util.UUID;
import net.miarma.backend.huertos.dto.PreUserDto;
import net.miarma.backend.huertos.dto.RequestDto;
import net.miarma.backend.huertos.mapper.PreUserMapper;
import net.miarma.backend.huertos.mapper.RequestMapper;
import net.miarma.backend.huertos.model.HuertosUserMetadata;
import net.miarma.backend.huertos.model.PreUser;
import net.miarma.backend.huertos.repository.PreUserRepository;
import net.miarma.backlib.exception.BadRequestException;
import net.miarma.backlib.exception.NotFoundException;
import org.springframework.stereotype.Service;
@@ -20,11 +25,14 @@ import net.miarma.backlib.util.UuidUtil;
public class RequestService {
private final RequestRepository requestRepository;
private final PreUserRepository preUserRepository;
private final HuertosUserMetadataService metadataService;
public RequestService(RequestRepository requestRepository,
PreUserRepository preUserRepository,
HuertosUserMetadataService metadataSertice) {
this.requestRepository = requestRepository;
this.preUserRepository = preUserRepository;
this.metadataService = metadataSertice;
}
@@ -73,6 +81,14 @@ public class RequestService {
return requestRepository.save(request);
}
@Transactional
public RequestDto.Response create(RequestDto.Request requestDto,
PreUserDto.Request preUserDto) {
PreUser preUser = preUserRepository.save(PreUserMapper.toEntity(preUserDto));
Request request = requestRepository.save(RequestMapper.toEntity(requestDto));
return RequestMapper.toResponse(request);
}
public Request update(UUID requestId, RequestDto.Request dto) {
byte[] idBytes = UuidUtil.uuidToBin(requestId);

View File

@@ -20,7 +20,7 @@ core:
huertos:
user: SYSTEM
password: ${HUERTOS_SYSTEM_PASSWORD}
password: ${HUERTOS_PASS}
mail:
smtp:

View File

@@ -19,7 +19,7 @@ core:
huertos:
user: SYSTEM
password: ${HUERTOS_SYSTEM_PASSWORD}
password: ${HUERTOS_PASS}
mail:
smtp: