package com.lions.dev.config; import org.eclipse.microprofile.openapi.annotations.OpenAPIDefinition; import org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType; import org.eclipse.microprofile.openapi.annotations.info.Info; import org.eclipse.microprofile.openapi.annotations.security.SecurityScheme; import org.eclipse.microprofile.openapi.annotations.servers.Server; import jakarta.ws.rs.core.Application; /** * Configuration OpenAPI pour l'API AfterWork. * * Cette classe configure les métadonnées OpenAPI, le serveur de base * et les schémas de sécurité (JWT Bearer) pour que Swagger UI génère * correctement les URLs avec le root-path et permette l'authentification. */ @OpenAPIDefinition( info = @Info( title = "AfterWork API", version = "1.0.0", description = "API REST pour l'application AfterWork - Gestion d'événements, réseaux sociaux et messagerie" ), servers = { @Server( url = "https://api.lions.dev/afterwork", description = "Serveur de production" ), @Server( url = "http://localhost:8080", description = "Serveur de développement local" ) } ) @SecurityScheme( securitySchemeName = "bearerAuth", type = SecuritySchemeType.HTTP, scheme = "bearer", bearerFormat = "JWT", description = "Authentification JWT. Utilisez le token obtenu via /auth/login" ) public class OpenAPIConfig extends Application { // Classe de configuration OpenAPI }