package de.itsolutions.ticketsystem.controller; import de.itsolutions.ticketsystem.dto.Dtos; import de.itsolutions.ticketsystem.entity.Ticket; import de.itsolutions.ticketsystem.service.TicketService; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.security.Principal; import java.util.List; @RestController @RequestMapping("/api/tickets") public class TicketController { private final TicketService ticketService; public TicketController(TicketService ticketService) { this.ticketService = ticketService; } @PostMapping public ResponseEntity createTicket(@RequestBody Dtos.TicketRequest request, Principal principal) { return ResponseEntity.ok(ticketService.createTicket(request, principal.getName())); } @GetMapping public ResponseEntity> getTickets(Principal principal) { return ResponseEntity.ok(ticketService.getTicketsForUser(principal.getName())); } @PatchMapping("/{id}/status") public ResponseEntity updateStatus(@PathVariable Long id, @RequestBody Dtos.TicketStatusRequest request) { return ResponseEntity.ok(ticketService.updateTicketStatus(id, request.getStatus())); } }