diff --git a/infrastructure/src/main/java/br/com/ifsp/tickets/infra/api/EnrollmentAPI.java b/infrastructure/src/main/java/br/com/ifsp/tickets/infra/api/EnrollmentAPI.java index 9a3e072..15a1bca 100644 --- a/infrastructure/src/main/java/br/com/ifsp/tickets/infra/api/EnrollmentAPI.java +++ b/infrastructure/src/main/java/br/com/ifsp/tickets/infra/api/EnrollmentAPI.java @@ -7,7 +7,6 @@ import br.com.ifsp.tickets.infra.contexts.event.sale.payment.models.CreatePaymentRequest; import br.com.ifsp.tickets.infra.shared.APIErrorResponse; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Webhook; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.ExampleObject; import io.swagger.v3.oas.annotations.media.Schema; @@ -58,16 +57,13 @@ public interface EnrollmentAPI { ResponseEntity createUpsertEnrollment(@RequestBody CreateUpsertEnrollmentRequest request); @PostMapping(consumes = "application/json", value = "/webhook") - @Webhook( - name = "Payment Webhook", - operation = @Operation( - summary = "Payment webhook", - description = "Webhook for payment", - responses = { - @ApiResponse(responseCode = "201", description = "Webhook received successfully"), - @ApiResponse(responseCode = "400", description = "Invalid request", content = @Content(schema = @Schema(implementation = APIErrorResponse.class), mediaType = "application/json")) - } - ) + @Operation( + summary = "Payment", + description = "Receive payment webhook", + responses = { + @ApiResponse(responseCode = "201", description = "Webhook received successfully"), + @ApiResponse(responseCode = "400", description = "Invalid request", content = @Content(schema = @Schema(implementation = APIErrorResponse.class), mediaType = "application/json")) + } ) ResponseEntity webhook(@RequestBody CreatePaymentRequest request); } diff --git a/infrastructure/src/main/java/br/com/ifsp/tickets/infra/config/WebServerConfig.java b/infrastructure/src/main/java/br/com/ifsp/tickets/infra/config/WebServerConfig.java index 72f6b91..8abed18 100644 --- a/infrastructure/src/main/java/br/com/ifsp/tickets/infra/config/WebServerConfig.java +++ b/infrastructure/src/main/java/br/com/ifsp/tickets/infra/config/WebServerConfig.java @@ -5,8 +5,12 @@ import br.com.ifsp.tickets.domain.communication.message.type.MessageSubject; import br.com.ifsp.tickets.domain.communication.message.type.MessageType; import io.swagger.v3.oas.annotations.OpenAPIDefinition; +import io.swagger.v3.oas.annotations.enums.SecuritySchemeIn; +import io.swagger.v3.oas.annotations.enums.SecuritySchemeType; import io.swagger.v3.oas.annotations.info.Contact; import io.swagger.v3.oas.annotations.info.Info; +import io.swagger.v3.oas.annotations.security.SecurityScheme; +import io.swagger.v3.oas.annotations.security.SecuritySchemes; import io.swagger.v3.oas.models.tags.Tag; import lombok.extern.slf4j.Slf4j; import okhttp3.OkHttpClient; @@ -34,6 +38,17 @@ @OpenAPIDefinition( info = @Info(title = "Tickets API", version = "v1", description = "Tickets API Documentation", contact = @Contact(name = "IFSP CBT - Informática", email = "ifspcbt.informatica@gmail.com", url = "https://linktr.ee/_oleonardosilva")) ) +@SecuritySchemes( + value = @SecurityScheme( + name = "bearer", + in = SecuritySchemeIn.HEADER, + description = "Bearer Token", + paramName = "Authorization", + type = SecuritySchemeType.HTTP, + bearerFormat = "JWT", + scheme = "bearer" + ) +) public class WebServerConfig { private final ResourceLoader resourceLoader;