Search in sources :

Example 86 with ApiResponses

use of io.swagger.v3.oas.annotations.responses.ApiResponses in project oxTrust by GluuFederation.

the class AuthenticationMethodWebResource method updateAuthenticationMethod.

@PUT
@Operation(summary = "Update authentication methods", description = "Update authentication methods")
@ApiResponses(value = { @ApiResponse(responseCode = "200", content = @Content(schema = @Schema(implementation = AuthenticationMethod.class)), description = Constants.RESULT_SUCCESS), @ApiResponse(responseCode = "500", description = "Server error") })
@ProtectedApi(scopes = { WRITE_ACCESS })
public Response updateAuthenticationMethod(AuthenticationMethod method) {
    log(logger, "Processing updateAuthenticationMethod()");
    try {
        Preconditions.checkNotNull(method, "Attempt to update null method");
        GluuConfiguration configuration = configurationService.getConfiguration();
        if (method.getDefaultAcr() != null || method.getOxtrustAcr() != null) {
            configuration.setAuthenticationMode(method.getDefaultAcr());
            configuration.setOxTrustAuthenticationMode(method.getOxtrustAcr());
            configurationService.updateConfiguration(configuration);
            configuration = configurationService.getConfiguration();
            method.setDefaultAcr(configuration.getAuthenticationMode());
            method.setOxtrustAcr(configuration.getOxTrustAuthenticationMode());
            return Response.ok(method).build();
        } else {
            return Response.status(Response.Status.PRECONDITION_FAILED).build();
        }
    } catch (Exception e) {
        log(logger, e);
        return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
    }
}
Also used : GluuConfiguration(org.gluu.oxtrust.model.GluuConfiguration) ProtectedApi(org.gluu.oxtrust.service.filter.ProtectedApi) Operation(io.swagger.v3.oas.annotations.Operation) PUT(javax.ws.rs.PUT) ApiResponses(io.swagger.v3.oas.annotations.responses.ApiResponses)

Example 87 with ApiResponses

use of io.swagger.v3.oas.annotations.responses.ApiResponses in project oxTrust by GluuFederation.

the class GroupWebResource method updateGroup.

@PUT
@Operation(summary = "Update group", description = "Update a group")
@ApiResponses(value = { @ApiResponse(responseCode = "200", content = @Content(schema = @Schema(implementation = GluuGroupApi.class)), description = "Success"), @ApiResponse(responseCode = "500", description = "Server error") })
@ProtectedApi(scopes = { WRITE_ACCESS })
public Response updateGroup(GluuGroupApi group) {
    String inum = group.getInum();
    inum = inum.equalsIgnoreCase("") ? null : inum;
    log("Update group " + inum);
    try {
        Objects.requireNonNull(inum, "inum should not be null");
        Objects.requireNonNull(group, "Attempt to update null group");
        GluuGroup existingGroup = groupService.getGroupByInum(inum);
        if (existingGroup != null) {
            group.setInum(existingGroup.getInum());
            GluuGroup groupToUpdate = updateValues(existingGroup, group);
            groupToUpdate.setDn(groupService.getDnForGroup(inum));
            groupService.updateGroup(groupToUpdate);
            return Response.ok(convert(Arrays.asList(groupService.getGroupByInum(inum))).get(0)).build();
        } else {
            return Response.status(Response.Status.NOT_FOUND).build();
        }
    } catch (Exception e) {
        log(logger, e);
        return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
    }
}
Also used : GluuGroup(org.gluu.oxtrust.model.GluuGroup) ProtectedApi(org.gluu.oxtrust.service.filter.ProtectedApi) Operation(io.swagger.v3.oas.annotations.Operation) ApiResponses(io.swagger.v3.oas.annotations.responses.ApiResponses)

Example 88 with ApiResponses

use of io.swagger.v3.oas.annotations.responses.ApiResponses in project oxTrust by GluuFederation.

the class GroupWebResource method addGroupMember.

@POST
@Operation(summary = "Add group member", description = "Add group member")
@ApiResponses(value = { @ApiResponse(responseCode = "200", content = @Content(schema = @Schema(implementation = GluuGroupApi[].class)), description = "Success"), @ApiResponse(responseCode = "500", description = "Server error") })
@Path(ApiConstants.INUM_PARAM_PATH + ApiConstants.GROUP_MEMBERS + ApiConstants.MEMBER_INUM_PARAM_PATH)
@ProtectedApi(scopes = { WRITE_ACCESS })
public Response addGroupMember(@PathParam(ApiConstants.INUM) @NotNull String groupInum, @PathParam(ApiConstants.MEMBER_INUM) @NotNull String memberInum) {
    log("Add member " + memberInum + " to group" + groupInum);
    try {
        Objects.requireNonNull(groupInum, "Group's inum should not be null");
        Objects.requireNonNull(memberInum, "Member's inum should not be null");
        GluuGroup group = groupService.getGroupByInum(groupInum);
        GluuCustomPerson person = personService.getPersonByInum(memberInum);
        if (group != null && person != null) {
            List<String> members = new ArrayList<String>();
            if (group.getMembers() != null) {
                members = group.getMembers();
            }
            members.add(personService.getDnForPerson(person.getInum()));
            group.setMembers(members);
            groupService.updateGroup(group);
            return Response.ok(Response.Status.OK).build();
        } else {
            return Response.status(Response.Status.NOT_FOUND).build();
        }
    } catch (Exception e) {
        log(logger, e);
        return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
    }
}
Also used : GluuCustomPerson(org.gluu.oxtrust.model.GluuCustomPerson) ArrayList(java.util.ArrayList) GluuGroup(org.gluu.oxtrust.model.GluuGroup) ProtectedApi(org.gluu.oxtrust.service.filter.ProtectedApi) Operation(io.swagger.v3.oas.annotations.Operation) ApiResponses(io.swagger.v3.oas.annotations.responses.ApiResponses)

Example 89 with ApiResponses

use of io.swagger.v3.oas.annotations.responses.ApiResponses in project oxTrust by GluuFederation.

the class GroupWebResource method removeGroupMember.

@DELETE
@Operation(summary = "Remove group member", description = "Remove a member from group")
@ApiResponses(value = { @ApiResponse(responseCode = "200", description = "Success"), @ApiResponse(responseCode = "500", description = "Server error") })
@Path(ApiConstants.INUM_PARAM_PATH + ApiConstants.GROUP_MEMBERS + ApiConstants.MEMBER_INUM_PARAM_PATH)
@ProtectedApi(scopes = { WRITE_ACCESS })
public Response removeGroupMember(@PathParam(ApiConstants.INUM) @NotNull String groupInum, @PathParam(ApiConstants.MEMBER_INUM) @NotNull String memberInum) {
    log("Remove member " + memberInum + " from group" + groupInum);
    try {
        Objects.requireNonNull(groupInum, "Group's inum should not be null");
        Objects.requireNonNull(memberInum, "Member's inum should not be null");
        GluuGroup group = groupService.getGroupByInum(groupInum);
        GluuCustomPerson person = personService.getPersonByInum(memberInum);
        if (group != null && person != null) {
            List<String> members = new ArrayList<String>(group.getMembers());
            members.remove(personService.getDnForPerson(person.getInum()));
            group.setMembers(members);
            groupService.updateGroup(group);
            return Response.ok(Response.Status.OK).build();
        } else {
            return Response.status(Response.Status.NOT_FOUND).build();
        }
    } catch (Exception e) {
        log(logger, e);
        return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
    }
}
Also used : GluuCustomPerson(org.gluu.oxtrust.model.GluuCustomPerson) ArrayList(java.util.ArrayList) GluuGroup(org.gluu.oxtrust.model.GluuGroup) ProtectedApi(org.gluu.oxtrust.service.filter.ProtectedApi) Operation(io.swagger.v3.oas.annotations.Operation) ApiResponses(io.swagger.v3.oas.annotations.responses.ApiResponses)

Example 90 with ApiResponses

use of io.swagger.v3.oas.annotations.responses.ApiResponses in project oxTrust by GluuFederation.

the class GroupWebResource method createGroup.

@POST
@Operation(summary = "Add group", description = "Add a group")
@ApiResponses(value = { @ApiResponse(responseCode = "201", content = @Content(schema = @Schema(implementation = GluuGroupApi.class)), description = "Success"), @ApiResponse(responseCode = "500", description = "Server error") })
@ProtectedApi(scopes = { WRITE_ACCESS })
public Response createGroup(GluuGroupApi group) {
    log("Adding group " + group.getDisplayName());
    try {
        Objects.requireNonNull(group, "Attempt to create null group");
        GluuGroup gluuGroup = copyAttributes(group);
        String inum = gluuGroup.getInum();
        if (StringHelper.isEmpty(inum)) {
            inum = groupService.generateInumForNewGroup();
        }
        gluuGroup.setDn(groupService.getDnForGroup(inum));
        gluuGroup.setInum(inum);
        groupService.addGroup(gluuGroup);
        return Response.status(Response.Status.CREATED).entity(convert(Arrays.asList(groupService.getGroupByInum(inum))).get(0)).build();
    } catch (Exception e) {
        log(logger, e);
        return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
    }
}
Also used : GluuGroup(org.gluu.oxtrust.model.GluuGroup) ProtectedApi(org.gluu.oxtrust.service.filter.ProtectedApi) Operation(io.swagger.v3.oas.annotations.Operation) ApiResponses(io.swagger.v3.oas.annotations.responses.ApiResponses)

Aggregations

Operation (io.swagger.v3.oas.annotations.Operation)99 ApiResponses (io.swagger.v3.oas.annotations.responses.ApiResponses)99 ApiResponses (io.swagger.v3.oas.models.responses.ApiResponses)47 ProtectedApi (org.gluu.oxtrust.service.filter.ProtectedApi)47 ApiResponse (io.swagger.v3.oas.models.responses.ApiResponse)46 Operation (io.swagger.v3.oas.models.Operation)39 OpenAPI (io.swagger.v3.oas.models.OpenAPI)34 PathItem (io.swagger.v3.oas.models.PathItem)34 Test (org.testng.annotations.Test)31 ArrayList (java.util.ArrayList)23 Schema (io.swagger.v3.oas.models.media.Schema)22 StringSchema (io.swagger.v3.oas.models.media.StringSchema)21 Content (io.swagger.v3.oas.models.media.Content)20 MediaType (io.swagger.v3.oas.models.media.MediaType)20 ObjectSchema (io.swagger.v3.oas.models.media.ObjectSchema)19 IntegerSchema (io.swagger.v3.oas.models.media.IntegerSchema)17 Path (javax.ws.rs.Path)17 Produces (javax.ws.rs.Produces)17 ArraySchema (io.swagger.v3.oas.models.media.ArraySchema)16 Components (io.swagger.v3.oas.models.Components)10