use of io.gravitee.am.identityprovider.api.User in project gravitee-access-management by gravitee-io.
the class MembersResource method permissions.
@GET
@Path("permissions")
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "List environment member's permissions", notes = "User must have ENVIRONMENT[READ] permission on the specified environment " + "or ENVIRONMENT[READ] permission on the specified organization")
@ApiResponses({ @ApiResponse(code = 200, message = "Environment member's permissions", response = List.class), @ApiResponse(code = 500, message = "Internal server error") })
public void permissions(@PathParam("organizationId") String organizationId, @PathParam("environmentId") String environmentId, @Suspended final AsyncResponse response) {
final User authenticatedUser = getAuthenticatedUser();
checkAnyPermission(organizationId, environmentId, Permission.ENVIRONMENT, Acl.READ).andThen(permissionService.findAllPermissions(authenticatedUser, ReferenceType.ENVIRONMENT, environmentId).map(Permission::flatten)).subscribe(response::resume, response::resume);
}
use of io.gravitee.am.identityprovider.api.User in project gravitee-access-management by gravitee-io.
the class AlertNotifierResource method patchAlertNotifier.
@PATCH
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "Update an alert notifier", notes = "Update an alert notifier" + "User must have DOMAIN_ALERT_NOTIFIER[UPDATE] permission on the specified domain, environment or organization.")
@ApiResponses({ @ApiResponse(code = 200, message = "Alert notifier successfully updated", response = AlertNotifier.class), @ApiResponse(code = 500, message = "Internal server error") })
public void patchAlertNotifier(@PathParam("organizationId") String organizationId, @PathParam("environmentId") String environmentId, @PathParam("domain") String domainId, @PathParam("notifierId") String notifierId, @ApiParam(name = "alertNotifier", required = true) @Valid @NotNull PatchAlertNotifier patchAlertNotifier, @Suspended final AsyncResponse response) {
final User authenticatedUser = this.getAuthenticatedUser();
checkAnyPermission(organizationId, environmentId, Permission.DOMAIN_ALERT_NOTIFIER, Acl.UPDATE).andThen(alertNotifierService.update(ReferenceType.DOMAIN, domainId, notifierId, patchAlertNotifier, authenticatedUser)).subscribe(response::resume, response::resume);
}
use of io.gravitee.am.identityprovider.api.User in project gravitee-access-management by gravitee-io.
the class AlertNotifierResource method deleteAlertNotifier.
@DELETE
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "Delete an alert notifier", notes = "Delete an alert notifier by its id. " + "User must have DOMAIN_ALERT_NOTIFIER[DELETE] permission on the specified domain, environment or organization.")
@ApiResponses({ @ApiResponse(code = 204, message = "Alert notifier successfully deleted"), @ApiResponse(code = 500, message = "Internal server error") })
public void deleteAlertNotifier(@PathParam("organizationId") String organizationId, @PathParam("environmentId") String environmentId, @PathParam("domain") String domainId, @PathParam("notifierId") String notifierId, @Suspended final AsyncResponse response) {
final User authenticatedUser = this.getAuthenticatedUser();
checkAnyPermission(organizationId, environmentId, Permission.DOMAIN_ALERT_NOTIFIER, Acl.LIST).andThen(alertNotifierService.delete(ReferenceType.DOMAIN, domainId, notifierId, authenticatedUser)).subscribe(() -> response.resume(Response.noContent().build()), response::resume);
}
use of io.gravitee.am.identityprovider.api.User in project gravitee-access-management by gravitee-io.
the class AlertNotifiersResource method createAlertNotifier.
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "Create an alert notifier", notes = "Create a new alert notifier" + "User must have DOMAIN_ALERT_NOTIFIER[CREATE] permission on the specified domain, environment or organization.")
@ApiResponses({ @ApiResponse(code = 200, message = "Alert notifier successfully created", response = AlertNotifier.class), @ApiResponse(code = 500, message = "Internal server error") })
public void createAlertNotifier(@PathParam("organizationId") String organizationId, @PathParam("environmentId") String environmentId, @PathParam("domain") String domainId, @ApiParam(name = "alertNotifier", required = true) @Valid @NotNull NewAlertNotifier newAlertNotifier, @Suspended final AsyncResponse response) {
final User authenticatedUser = this.getAuthenticatedUser();
checkAnyPermission(organizationId, environmentId, Permission.DOMAIN_ALERT_NOTIFIER, Acl.CREATE).andThen(alertNotifierService.create(ReferenceType.DOMAIN, domainId, newAlertNotifier, authenticatedUser)).subscribe(response::resume, response::resume);
}
use of io.gravitee.am.identityprovider.api.User in project gravitee-access-management by gravitee-io.
the class AlertTriggerResource method list.
@PATCH
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "Update an alert trigger", notes = "Update an alert trigger" + "User must have DOMAIN_ALERT[UPDATE] permission on the specified domain, environment or organization.")
@ApiResponses({ @ApiResponse(code = 200, message = "Alert trigger successfully updated", response = AlertTrigger.class), @ApiResponse(code = 500, message = "Internal server error") })
public void list(@PathParam("organizationId") String organizationId, @PathParam("environmentId") String environmentId, @PathParam("domain") String domainId, @ApiParam(name = "alertTrigger", required = true) @Valid @NotNull PatchAlertTrigger patchAlertTrigger, @Suspended final AsyncResponse response) {
final User authenticatedUser = this.getAuthenticatedUser();
checkAnyPermission(organizationId, environmentId, Permission.DOMAIN_ALERT, Acl.UPDATE).andThen(alertTriggerService.createOrUpdate(ReferenceType.DOMAIN, domainId, patchAlertTrigger, authenticatedUser)).subscribe(response::resume, response::resume);
}
Aggregations