Alles mögliche
Some checks failed
Host-Based Deploy (Java 21 Fix) / build-and-run (push) Has been cancelled
Some checks failed
Host-Based Deploy (Java 21 Fix) / build-and-run (push) Has been cancelled
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package de.oaa.xxx.user;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.security.Principal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.Period;
|
||||
@@ -13,8 +14,8 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseCookie;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.util.DigestUtils;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
@@ -24,6 +25,7 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import de.oaa.xxx.config.CookieFactory;
|
||||
import de.oaa.xxx.games.bdsm.entity.BdsmDefaultsEntity;
|
||||
import de.oaa.xxx.games.bdsm.repository.BdsmDefaultsRepository;
|
||||
import de.oaa.xxx.games.chastity.common.BaseLockRepository;
|
||||
@@ -39,9 +41,6 @@ import de.oaa.xxx.registration.RegistrationRepository;
|
||||
import de.oaa.xxx.social.entity.MessageCause;
|
||||
import de.oaa.xxx.social.entity.NotificationPreferenceEntity;
|
||||
import de.oaa.xxx.social.repository.NotificationPreferenceRepository;
|
||||
import org.springframework.util.DigestUtils;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/user")
|
||||
@@ -60,6 +59,7 @@ public class UserController {
|
||||
private final TTLockService ttLockService;
|
||||
private final BaseLockRepository baseLockRepository;
|
||||
private final BaseLockTemplateRepository baseLockTemplateRepository;
|
||||
private final CookieFactory cookieFactory;
|
||||
|
||||
public UserController(UserRepository userRepository,
|
||||
RegistrationRepository registrationRepository,
|
||||
@@ -71,7 +71,8 @@ public class UserController {
|
||||
TTAuthService ttAuthService,
|
||||
TTLockService ttLockService,
|
||||
BaseLockRepository baseLockRepository,
|
||||
BaseLockTemplateRepository baseLockTemplateRepository) {
|
||||
BaseLockTemplateRepository baseLockTemplateRepository,
|
||||
CookieFactory cookieFactory) {
|
||||
this.userRepository = userRepository;
|
||||
this.registrationRepository = registrationRepository;
|
||||
this.notificationPreferenceRepository = notificationPreferenceRepository;
|
||||
@@ -83,6 +84,7 @@ public class UserController {
|
||||
this.ttLockService = ttLockService;
|
||||
this.baseLockRepository = baseLockRepository;
|
||||
this.baseLockTemplateRepository = baseLockTemplateRepository;
|
||||
this.cookieFactory = cookieFactory;
|
||||
}
|
||||
|
||||
record ProfilePictureRequest(String picture, String pictureHq) {}
|
||||
@@ -348,14 +350,8 @@ public class UserController {
|
||||
|
||||
userService.deleteAccount(userId, email);
|
||||
|
||||
ResponseCookie cookie = ResponseCookie.from("jwt", "")
|
||||
.httpOnly(true)
|
||||
.sameSite("Strict")
|
||||
.path("/")
|
||||
.maxAge(0)
|
||||
.build();
|
||||
return ResponseEntity.ok()
|
||||
.header(HttpHeaders.SET_COOKIE, cookie.toString())
|
||||
.header(HttpHeaders.SET_COOKIE, cookieFactory.jwtCookie("", java.time.Duration.ZERO).toString())
|
||||
.build();
|
||||
}
|
||||
|
||||
@@ -501,6 +497,31 @@ public class UserController {
|
||||
}
|
||||
}
|
||||
|
||||
record NewMemberDto(UUID userId, String name, String profilePicture,
|
||||
Integer alter, String geschlecht, String neigung,
|
||||
String datingStadt, String beschreibung) {}
|
||||
|
||||
@GetMapping("/new-members")
|
||||
public ResponseEntity<List<NewMemberDto>> getNewMembers(Principal principal) {
|
||||
UUID myId = principal != null ? userService.requireUser(principal).getUserId() : null;
|
||||
LocalDate since = LocalDate.now().minusDays(14);
|
||||
List<NewMemberDto> result = userRepository
|
||||
.findByRegistrierungsdatumAfterOrderByRegistrierungsdatumDesc(since)
|
||||
.stream()
|
||||
.filter(u -> !u.getUserId().equals(myId))
|
||||
.map(u -> new NewMemberDto(
|
||||
u.getUserId(),
|
||||
u.getName(),
|
||||
u.getProfilePictureHq() != null ? u.getProfilePictureHq() : u.getProfilePicture(),
|
||||
u.getAlter(),
|
||||
u.getGeschlecht() != null ? u.getGeschlecht().name() : null,
|
||||
u.getNeigung() != null ? u.getNeigung().name() : null,
|
||||
u.getDatingStadt(),
|
||||
u.getBeschreibung()))
|
||||
.collect(Collectors.toList());
|
||||
return ResponseEntity.ok(result);
|
||||
}
|
||||
|
||||
record LocationFilterRequest(String filterCity, Double filterLat, Double filterLon, Integer filterMaxDistKm) {}
|
||||
|
||||
@PutMapping("/me/location-filter")
|
||||
|
||||
Reference in New Issue
Block a user