package jnpf.elnController; import jnpf.elnService.TemplateFillTicketService; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RestController; import java.util.Collections; import java.util.Map; @RestController @RequiredArgsConstructor public class TemplateFillController { private static final String TICKET_PREFIX = "Ticket "; private final TemplateFillTicketService ticketService; @GetMapping("/onlyoffice/template-fill/data") public ResponseEntity> data( @RequestHeader(value = HttpHeaders.AUTHORIZATION, required = false) String authorization) { try { if (authorization == null || !authorization.startsWith(TICKET_PREFIX) || authorization.length() == TICKET_PREFIX.length()) { throw new TemplateFillTicketService.InvalidFillTicketException(); } ticketService.parse(authorization.substring(TICKET_PREFIX.length()).trim()); return ResponseEntity.ok(Collections.singletonMap("fields", Collections.emptyMap())); } catch (TemplateFillTicketService.InvalidFillTicketException e) { return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body(Collections.emptyMap()); } } }