wip: swagger

This commit is contained in:
2024-07-19 17:21:11 +02:00
parent 3ccf880057
commit 957fcfff8b
12 changed files with 419 additions and 129 deletions

View File

@@ -11,6 +11,9 @@ import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.eclipse.microprofile.jwt.JsonWebToken;
import org.eclipse.microprofile.openapi.annotations.Operation;
import org.eclipse.microprofile.openapi.annotations.responses.APIResponse;
import org.eclipse.microprofile.openapi.annotations.responses.APIResponses;
import java.net.URI;
import java.net.URISyntaxException;
@@ -29,6 +32,12 @@ public class AuthEndpoints {
@GET
@Produces(MediaType.TEXT_PLAIN)
@Operation(summary = "Vérifie si l'utilisateur est authentifié", description = "Cette méthode renvoie true si " +
"l'utilisateur est authentifié et false sinon.")
@APIResponses(value = {
@APIResponse(responseCode = "200", description = "Réussite")
})
public Boolean auth() {
return !securityIdentity.isAnonymous();
}
@@ -37,6 +46,12 @@ public class AuthEndpoints {
@Path("/userinfo")
@Authenticated
@Produces(MediaType.APPLICATION_JSON)
@Operation(summary = "Renvoie les informations de l'utilisateur authentifié", description = "Cette méthode renvoie les" +
" informations de l'utilisateur authentifié sous forme d'objet JSON.")
@APIResponses(value = {
@APIResponse(responseCode = "200", description = "Réussite"),
@APIResponse(responseCode = "401", description = "Utilisateur non authentifié")
})
public UserInfo userinfo() {
return UserInfo.makeUserInfo(accessToken, securityIdentity);
}
@@ -45,6 +60,11 @@ public class AuthEndpoints {
@Path("/login")
@Authenticated
@Produces(MediaType.TEXT_PLAIN)
@Operation(summary = "Redirige l'utilisateur vers la page de connexion", description = "Cette méthode redirige " +
"l'utilisateur vers la page de connexion.")
@APIResponses(value = {
@APIResponse(responseCode = "307", description = "Redirection temporaire")
})
public Response login() throws URISyntaxException {
return Response.temporaryRedirect(new URI(redirect)).build();
}