1 package de.trion.kafka.outbox;
3 import org.slf4j.Logger;
4 import org.slf4j.LoggerFactory;
5 import org.springframework.http.ResponseEntity;
6 import org.springframework.transaction.annotation.Transactional;
7 import org.springframework.web.bind.annotation.*;
8 import org.springframework.web.util.UriComponents;
9 import org.springframework.web.util.UriComponentsBuilder;
11 import java.time.LocalDateTime;
15 @RequestMapping("/users")
16 public class OutboxController {
18 private static final Logger LOG = LoggerFactory.getLogger(OutboxController.class);
21 private final UserRepository repository;
24 public OutboxController(UserRepository repository) {
25 this.repository = repository;
30 public ResponseEntity<Void> getVorgang(
31 UriComponentsBuilder builder,
32 @RequestBody String username) {
33 String cleaned = username.trim().toLowerCase();
34 User user = new User(cleaned, LocalDateTime.now(), false);
35 repository.save(user);
36 // TODO: Not-Unique Fehler auslösen
37 UriComponents uri = builder.path("{username}").buildAndExpand(cleaned);
38 return ResponseEntity.created(uri.toUri()).build();