diff --git a/src/main/java/mate/academy/bookstore/config/SecurityConfig.java b/src/main/java/mate/academy/bookstore/config/SecurityConfig.java index 0053ec0..cbf7f3e 100644 --- a/src/main/java/mate/academy/bookstore/config/SecurityConfig.java +++ b/src/main/java/mate/academy/bookstore/config/SecurityConfig.java @@ -2,6 +2,10 @@ import static org.springframework.security.config.Customizer.withDefaults; +import io.swagger.v3.oas.models.Components; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.security.SecurityRequirement; +import io.swagger.v3.oas.models.security.SecurityScheme; import lombok.RequiredArgsConstructor; import mate.academy.bookstore.security.JwtAuthenticationFilter; import org.springframework.context.annotation.Bean; @@ -22,6 +26,10 @@ @Configuration @RequiredArgsConstructor public class SecurityConfig { + private static final String BEARER_AUTH = "bearerAuth"; + private static final String BEARER = "bearer"; + private static final String JWT = "JWT"; + private final UserDetailsService userDetailsService; private final JwtAuthenticationFilter jwtAuthFilter; @@ -63,4 +71,17 @@ public AuthenticationManager authenticationManager( ) throws Exception { return authenticationConfiguration.getAuthenticationManager(); } + + @Bean + public OpenAPI customizeOpenApi() { + return new OpenAPI() + .addSecurityItem(new SecurityRequirement() + .addList(BEARER_AUTH)) + .components(new Components() + .addSecuritySchemes(BEARER_AUTH, new SecurityScheme() + .name(BEARER_AUTH) + .type(SecurityScheme.Type.HTTP) + .scheme(BEARER) + .bearerFormat(JWT))); + } } diff --git a/src/main/java/mate/academy/bookstore/controller/OrderController.java b/src/main/java/mate/academy/bookstore/controller/OrderController.java index cad68d5..4d0ecda 100644 --- a/src/main/java/mate/academy/bookstore/controller/OrderController.java +++ b/src/main/java/mate/academy/bookstore/controller/OrderController.java @@ -21,10 +21,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -@Tag(name = "Order Management", description = "Endpoints for managing the order") +@RequiredArgsConstructor @RestController +@Tag(name = "Order Management", description = "Endpoints for managing the order") @RequestMapping("/orders") -@RequiredArgsConstructor public class OrderController { private final OrderService orderService; diff --git a/src/main/java/mate/academy/bookstore/controller/ShoppingCartController.java b/src/main/java/mate/academy/bookstore/controller/ShoppingCartController.java index ff4ec0a..5c245ea 100644 --- a/src/main/java/mate/academy/bookstore/controller/ShoppingCartController.java +++ b/src/main/java/mate/academy/bookstore/controller/ShoppingCartController.java @@ -23,10 +23,10 @@ import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; -@Tag(name = "Shopping Cart Management", description = "Endpoints for managing the shopping cart") +@RequiredArgsConstructor @RestController +@Tag(name = "Shopping Cart Management", description = "Endpoints for managing the shopping cart") @RequestMapping("/cart") -@RequiredArgsConstructor public class ShoppingCartController { private final ShoppingCartService shoppingCartService;