
fr.zebasto.spring.identity.rest.controller.RestPermissionController Maven / Gradle / Ivy
package fr.zebasto.spring.identity.rest.controller;
import fr.zebasto.spring.identity.contract.service.PermissionService;
import fr.zebasto.spring.identity.core.support.rest.AbstractRestController;
import fr.zebasto.spring.identity.defaults.model.DefaultPermission;
import org.springframework.data.domain.Page;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;
import javax.inject.Inject;
import javax.inject.Named;
import java.util.Set;
import java.util.UUID;
@RestController
@RequestMapping(value = "${identity.rest.context}/${identity.rest.views.permission}")
public class RestPermissionController extends AbstractRestController> {
@Inject
@Named("permissionService")
public void setService(PermissionService service) {
super.setService(service);
}
/**
* {@inheritDoc}
*/
@Override
@PreAuthorize(value = "hasRole(@identity['pfx'].concat('_').concat(@identity['create']).concat('_').concat(@identity['permissions']))")
public DefaultPermission create(@RequestBody DefaultPermission resource) {
return super.create(resource);
}
/**
* {@inheritDoc}
*/
@Override
@PreAuthorize(value = "hasRole(@identity['pfx'].concat('_').concat(@identity['update']).concat('_').concat(@identity['permissions']))")
public DefaultPermission update(@PathVariable UUID id, @RequestBody DefaultPermission resource) {
return super.update(id, resource);
}
/**
* {@inheritDoc}
*/
@Override
@PreAuthorize(value = "hasRole(@identity['pfx'].concat('_').concat(@identity['read']).concat('_').concat(@identity['permissions']))")
public Iterable findAll() {
return super.findAll();
}
/**
* {@inheritDoc}
*/
@Override
@PreAuthorize(value = "hasRole(@identity['pfx'].concat('_').concat(@identity['read']).concat('_').concat(@identity['permissions']))")
public Page findPaginated(@RequestParam(value = "page", required = false, defaultValue = "1") Integer page,
@RequestParam(value = "size", required = false, defaultValue = "10") Integer size,
@RequestParam(value = "direction", required = false, defaultValue = "") String direction,
@RequestParam(value = "properties", required = false) String properties) {
return super.findPaginated(page, size, direction, properties);
}
/**
* {@inheritDoc}
*/
@Override
@PreAuthorize(value = "hasRole(@identity['pfx'].concat('_').concat(@identity['read']).concat('_').concat(@identity['permissions']))")
public DefaultPermission findById(@PathVariable UUID id) {
return super.findById(id);
}
/**
* {@inheritDoc}
*/
@Override
@PreAuthorize(value = "hasRole(@identity['pfx'].concat('_').concat(@identity['read']).concat('_').concat(@identity['permissions']))")
public Iterable findByIds(@RequestParam(value = "ids[]") Set ids) {
Assert.notNull(ids, "ids list cannot be null");
return super.findByIds(ids);
}
/**
* {@inheritDoc}
*/
@Override
@PreAuthorize(value = "hasRole(@identity['pfx'].concat('_').concat(@identity['delete']).concat('_').concat(@identity['permissions']))")
public void delete() {
super.delete();
}
/**
* {@inheritDoc}
*/
@Override
@PreAuthorize(value = "hasRole(@identity['pfx'].concat('_').concat(@identity['delete']).concat('_').concat(@identity['permissions']))")
public void delete(@PathVariable UUID id) {
super.delete(id);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy