proj/Backend/src/main/java/de/itsolutions/ticketsystem/controller/TicketController.java
2026-01-21 09:52:33 +01:00

35 lines
1.2 KiB
Java

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<Ticket> createTicket(@RequestBody Dtos.TicketRequest request, Principal principal) {
return ResponseEntity.ok(ticketService.createTicket(request, principal.getName()));
}
@GetMapping
public ResponseEntity<List<Ticket>> getTickets(Principal principal) {
return ResponseEntity.ok(ticketService.getTicketsForUser(principal.getName()));
}
@PatchMapping("/{id}/status")
public ResponseEntity<Ticket> updateStatus(@PathVariable Long id, @RequestBody Dtos.TicketStatusRequest request) {
return ResponseEntity.ok(ticketService.updateTicketStatus(id, request.getStatus()));
}
}