Search in sources :

Example 36 with Hidden

use of io.swagger.v3.oas.annotations.Hidden in project Singularity by HubSpot.

the class AuthResource method generateToken.

@POST
@Path("/token")
@Operation(summary = "Generate a new auth token for the provided user data, or for current authed user if no user provided in post body. Only one token can be active for a user at a time", responses = { @ApiResponse(responseCode = "200", description = "the user data and generated token") })
public SingularityTokenResponse generateToken(@Parameter(hidden = true) @Auth SingularityUser user, SingularityTokenRequest tokenRequest) throws NoSuchAlgorithmException, InvalidKeySpecException {
    if (tokenRequest.getUser().isPresent()) {
        // only admins can create a token for another user
        authorizationHelper.checkAdminAuthorization(user);
    }
    SingularityUser userData = tokenRequest.getUser().orElse(user);
    authTokenManager.clearTokensForUser(userData.getName());
    if (tokenRequest.getToken().isPresent()) {
        return authTokenManager.saveToken(tokenRequest.getToken().get(), userData);
    } else {
        return authTokenManager.generateToken(userData);
    }
}
Also used : SingularityUser(com.hubspot.singularity.SingularityUser) Path(javax.ws.rs.Path) POST(javax.ws.rs.POST) Operation(io.swagger.v3.oas.annotations.Operation)

Aggregations

Operation (io.swagger.v3.oas.annotations.Operation)29 Path (javax.ws.rs.Path)25 GET (javax.ws.rs.GET)21 POST (javax.ws.rs.POST)6 SingularityTaskHistoryQuery (com.hubspot.singularity.SingularityTaskHistoryQuery)5 SingularityTaskId (com.hubspot.singularity.SingularityTaskId)5 List (java.util.List)4 Consumes (javax.ws.rs.Consumes)4 Produces (javax.ws.rs.Produces)4 SingularityPaginatedResponse (com.hubspot.singularity.SingularityPaginatedResponse)3 SingularityRequestWithState (com.hubspot.singularity.SingularityRequestWithState)3 SingularityTaskIdHistory (com.hubspot.singularity.SingularityTaskIdHistory)3 Schema (io.swagger.v3.oas.models.media.Schema)3 BeanDescription (com.fasterxml.jackson.databind.BeanDescription)2 AnnotatedMethod (com.fasterxml.jackson.databind.introspect.AnnotatedMethod)2 SingularityTaskHistory (com.hubspot.singularity.SingularityTaskHistory)2 Hidden (io.swagger.v3.oas.annotations.Hidden)2 GenericOpenApiContext (io.swagger.v3.oas.integration.GenericOpenApiContext)2 OpenAPIConfiguration (io.swagger.v3.oas.integration.api.OpenAPIConfiguration)2 OpenApiContext (io.swagger.v3.oas.integration.api.OpenApiContext)2