Bugfixes, Dating angefangen
Some checks failed
Host-Based Deploy (Java 21 Fix) / build-and-run (push) Has been cancelled

This commit is contained in:
2026-04-01 22:06:46 +02:00
parent 912718fc40
commit 87c85b1b17
123 changed files with 28977 additions and 462 deletions

View File

@@ -91,6 +91,7 @@ public class UserController {
record TtlockUserConfigRequest(String username, String password, Integer lockId) {}
record ProfileRequest(Integer groesse, Integer gewicht,
Geschlecht geschlecht, Neigung neigung, Beziehungsstatus beziehungsstatus, String beschreibung) {}
record DatingRequest(boolean datingAktiv, String datingStadt, Double datingLat, Double datingLon) {}
record PrivacyRequest(
Sichtbarkeit sichtbarkeitGrunddaten,
Sichtbarkeit sichtbarkeitGalerie,
@@ -102,6 +103,21 @@ public class UserController {
Sichtbarkeit sichtbarkeitVorlieben,
Boolean profilBeiVeroeffentlichungenSichtbar) {}
@PutMapping("/me/dating")
public ResponseEntity<Void> updateDating(@RequestBody DatingRequest request, Principal principal) {
if (request.datingAktiv() && (request.datingStadt() == null || request.datingStadt().isBlank())) {
return ResponseEntity.badRequest().build();
}
var user = userService.requireUser(principal);
user.setDatingAktiv(request.datingAktiv());
user.setDatingStadt(request.datingAktiv() ? request.datingStadt().trim() : null);
user.setDatingLat(request.datingAktiv() ? request.datingLat() : null);
user.setDatingLon(request.datingAktiv() ? request.datingLon() : null);
userRepository.save(user);
LOGGER.info("User {} hat Dating-Einstellungen aktualisiert: aktiv={}", user.getUserId(), request.datingAktiv());
return ResponseEntity.ok().build();
}
@PutMapping("/me/picture")
public ResponseEntity<Void> updateProfilePicture(@RequestBody ProfilePictureRequest request, Principal principal) {
var user = userService.requireUser(principal);
@@ -220,7 +236,7 @@ public class UserController {
}
@GetMapping("/{userId}/bdsm-defaults")
public ResponseEntity<Map<String, Object>> getBdsmDefaultsForUser(@PathVariable UUID userId) {
public ResponseEntity<Map<String, Object>> getBdsmDefaultsForUser(@PathVariable("userId") UUID userId) {
var userOpt = userRepository.findById(userId);
if (userOpt.isEmpty()) return ResponseEntity.notFound().build();
UserEntity user = userOpt.get();
@@ -408,7 +424,7 @@ public class UserController {
}
@DeleteMapping("/me/ttlock/open/{keyboardPwdId}")
public ResponseEntity<Void> ttlockCloseOpen(@PathVariable int keyboardPwdId, Principal principal) {
public ResponseEntity<Void> ttlockCloseOpen(@PathVariable("keyboardPwdId") int keyboardPwdId, Principal principal) {
UUID userId = userService.requireUser(principal).getUserId();
var userCfg = ttLockUserConfigRepository.findById(userId).orElse(null);