Class PermissionsController


  • @RestController
    @RequestMapping("/api/permissions")
    @Transactional
    public class PermissionsController
    extends org.molgenis.api.ApiController
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String BASE_URI  
      static java.lang.String OBJECTS  
      static java.lang.String TYPES  
    • Constructor Summary

      Constructors 
      Constructor Description
      PermissionsController​(org.molgenis.data.security.permission.PermissionService permissionService, cz.jirutka.rsql.parser.RSQLParser rsqlParser, org.molgenis.security.acl.ObjectIdentityService objectIdentityService, org.molgenis.data.security.permission.UserRoleTools userRoleTools, org.molgenis.data.security.permission.EntityHelper entityHelper)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.springframework.http.ResponseEntity createAcl​(javax.servlet.http.HttpServletRequest request, java.lang.String typeId, java.lang.String identifier)  
      org.springframework.http.ResponseEntity<java.lang.Object> createPermission​(javax.servlet.http.HttpServletRequest request, java.lang.String typeId, java.lang.String identifier, SetObjectPermissionRequest setIdentityPermissionRequest)  
      org.springframework.http.ResponseEntity<java.lang.Object> createPermissions​(javax.servlet.http.HttpServletRequest request, java.lang.String typeId, SetTypePermissionsRequest setTypePermissionsRequest)  
      org.springframework.http.ResponseEntity deletePermission​(java.lang.String typeId, java.lang.String identifier, DeletePermissionRequest request)  
      org.springframework.http.ResponseEntity disableRLS​(java.lang.String typeId)  
      org.springframework.http.ResponseEntity enableRLS​(javax.servlet.http.HttpServletRequest request, java.lang.String typeId)  
      org.molgenis.api.model.response.PagedApiResponse getAcls​(java.lang.String typeId, java.lang.Integer page, java.lang.Integer pageSize)  
      org.molgenis.api.model.response.ApiResponse getPermissionsForObject​(java.lang.String typeId, java.lang.String identifier, java.lang.String queryString, boolean inheritance)  
      org.molgenis.api.model.response.PagedApiResponse getPermissionsForType​(java.lang.String typeId, java.lang.String queryString, java.lang.Integer page, java.lang.Integer pageSize, boolean inheritance)  
      org.molgenis.api.model.response.ApiResponse getPermissionsForUser​(java.lang.String queryString, boolean inheritance)  
      org.molgenis.api.model.response.ApiResponse getRlsEntities()  
      org.molgenis.api.model.response.ApiResponse getSuitablePermissions​(java.lang.String typeId)  
      org.springframework.http.ResponseEntity setPermission​(java.lang.String typeId, java.lang.String identifier, SetObjectPermissionRequest request)  
      org.springframework.http.ResponseEntity setTypePermissions​(java.lang.String typeId, SetTypePermissionsRequest request)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PermissionsController

        public PermissionsController​(org.molgenis.data.security.permission.PermissionService permissionService,
                                     cz.jirutka.rsql.parser.RSQLParser rsqlParser,
                                     org.molgenis.security.acl.ObjectIdentityService objectIdentityService,
                                     org.molgenis.data.security.permission.UserRoleTools userRoleTools,
                                     org.molgenis.data.security.permission.EntityHelper entityHelper)
    • Method Detail

      • enableRLS

        @PostMapping("types/{typeId}")
        public org.springframework.http.ResponseEntity enableRLS​(javax.servlet.http.HttpServletRequest request,
                                                                 @PathVariable("typeId")
                                                                 java.lang.String typeId)
      • disableRLS

        @DeleteMapping("types/{typeId}")
        public org.springframework.http.ResponseEntity disableRLS​(@PathVariable("typeId")
                                                                  java.lang.String typeId)
      • getRlsEntities

        @GetMapping("types")
        public org.molgenis.api.model.response.ApiResponse getRlsEntities()
      • getSuitablePermissions

        @GetMapping("types/permissions/{typeId}")
        public org.molgenis.api.model.response.ApiResponse getSuitablePermissions​(@PathVariable("typeId")
                                                                                  java.lang.String typeId)
      • createAcl

        @PostMapping("objects/{typeId}/{objectId}")
        public org.springframework.http.ResponseEntity createAcl​(javax.servlet.http.HttpServletRequest request,
                                                                 @PathVariable("typeId")
                                                                 java.lang.String typeId,
                                                                 @PathVariable("objectId")
                                                                 java.lang.String identifier)
      • getAcls

        @GetMapping("objects/{typeId}")
        public org.molgenis.api.model.response.PagedApiResponse getAcls​(@PathVariable("typeId")
                                                                        java.lang.String typeId,
                                                                        @RequestParam(value="page",required=false)
                                                                        java.lang.Integer page,
                                                                        @RequestParam(value="pageSize",required=false)
                                                                        java.lang.Integer pageSize)
      • getPermissionsForObject

        @GetMapping("{typeId}/{objectId}")
        public org.molgenis.api.model.response.ApiResponse getPermissionsForObject​(@PathVariable("typeId")
                                                                                   java.lang.String typeId,
                                                                                   @PathVariable("objectId")
                                                                                   java.lang.String identifier,
                                                                                   @RequestParam(value="q",required=false)
                                                                                   java.lang.String queryString,
                                                                                   @RequestParam(value="inheritance",defaultValue="false",required=false)
                                                                                   boolean inheritance)
      • getPermissionsForType

        @GetMapping("{typeId}")
        public org.molgenis.api.model.response.PagedApiResponse getPermissionsForType​(@PathVariable("typeId")
                                                                                      java.lang.String typeId,
                                                                                      @RequestParam(value="q",required=false)
                                                                                      java.lang.String queryString,
                                                                                      @RequestParam(value="page",required=false)
                                                                                      java.lang.Integer page,
                                                                                      @RequestParam(value="pageSize",required=false)
                                                                                      java.lang.Integer pageSize,
                                                                                      @RequestParam(value="inheritance",defaultValue="false",required=false)
                                                                                      boolean inheritance)
      • getPermissionsForUser

        @GetMapping
        public org.molgenis.api.model.response.ApiResponse getPermissionsForUser​(@RequestParam(value="q",required=false)
                                                                                 java.lang.String queryString,
                                                                                 @RequestParam(value="inheritance",defaultValue="false",required=false)
                                                                                 boolean inheritance)
      • setPermission

        @PatchMapping("{typeId}/{objectId}")
        public org.springframework.http.ResponseEntity setPermission​(@PathVariable("typeId")
                                                                     java.lang.String typeId,
                                                                     @PathVariable("objectId")
                                                                     java.lang.String identifier,
                                                                     @RequestBody
                                                                     SetObjectPermissionRequest request)
      • setTypePermissions

        @PatchMapping("{typeId}")
        public org.springframework.http.ResponseEntity setTypePermissions​(@PathVariable("typeId")
                                                                          java.lang.String typeId,
                                                                          @RequestBody
                                                                          SetTypePermissionsRequest request)
      • createPermissions

        @PostMapping("{typeId}")
        public org.springframework.http.ResponseEntity<java.lang.Object> createPermissions​(javax.servlet.http.HttpServletRequest request,
                                                                                           @PathVariable("typeId")
                                                                                           java.lang.String typeId,
                                                                                           @RequestBody
                                                                                           SetTypePermissionsRequest setTypePermissionsRequest)
      • createPermission

        @PostMapping("{typeId}/{objectId}")
        public org.springframework.http.ResponseEntity<java.lang.Object> createPermission​(javax.servlet.http.HttpServletRequest request,
                                                                                          @PathVariable("typeId")
                                                                                          java.lang.String typeId,
                                                                                          @PathVariable("objectId")
                                                                                          java.lang.String identifier,
                                                                                          @RequestBody
                                                                                          SetObjectPermissionRequest setIdentityPermissionRequest)
      • deletePermission

        @DeleteMapping("{typeId}/{objectId}")
        public org.springframework.http.ResponseEntity deletePermission​(@PathVariable("typeId")
                                                                        java.lang.String typeId,
                                                                        @PathVariable("objectId")
                                                                        java.lang.String identifier,
                                                                        @RequestBody
                                                                        DeletePermissionRequest request)