Class PermissionsController


  • @Controller
    @RequestMapping("/v1/permissions")
    public class PermissionsController
    extends java.lang.Object
    • Constructor Detail

      • PermissionsController

        public PermissionsController()
    • Method Detail

      • searchGlobalPermissions

        @PreAuthorize("@principalSecurityChecker.authorizePrincipal(authentication, #principalDTO.principalUid)")
        @PostMapping(value="/global/search",
                     consumes="application/json")
        @ResponseBody
        public PermissionsWsDTO searchGlobalPermissions​(@RequestParam(required=true)
                                                        java.lang.String permissionNames,
                                                        @RequestParam(required=false,defaultValue="DEFAULT")
                                                        java.lang.String fields,
                                                        @RequestBody
                                                        PermissionsPrincipalWsDTO principalDTO)
        Endpoint to retrieve global permissions for a principal. This will look in the principal hierarchy.
        Returns:
        calculated global permissions (based on principal and its groups)
      • searchTypesPermissions

        @PreAuthorize("@principalSecurityChecker.authorizePrincipal(authentication, #principalDTO.principalUid)")
        @PostMapping(value="/types/search",
                     consumes="application/json")
        @ResponseBody
        public PermissionsListWsDTO searchTypesPermissions​(@RequestParam(required=true)
                                                           java.lang.String types,
                                                           @RequestParam(required=true)
                                                           java.lang.String permissionNames,
                                                           @RequestParam(required=false,defaultValue="DEFAULT")
                                                           java.lang.String fields,
                                                           @RequestBody
                                                           PermissionsPrincipalWsDTO principalDTO)
        Endpoint to retrieve types permissions for a principal. This will look in the principal hierarchy.
        Returns:
        calculated types permissions (based on principal, its groups, the types and super types)
      • searchAttributesPermissions

        @PreAuthorize("@principalSecurityChecker.authorizePrincipal(authentication, #principalDTO.principalUid)")
        @PostMapping(value="/attributes/search",
                     consumes="application/json")
        @ResponseBody
        public PermissionsListWsDTO searchAttributesPermissions​(@Valid @ModelAttribute
                                                                @Valid AttributesPermissionsRequestWrapper requestWrapper,
                                                                org.springframework.validation.BindingResult errors,
                                                                @RequestParam(required=false,defaultValue="DEFAULT")
                                                                java.lang.String fields,
                                                                @RequestBody
                                                                PermissionsPrincipalWsDTO principalDTO)
        Endpoint to retrieve attributes permissions for a principal. This will look in the principal hierarchy.
        Returns:
        calculated permissions for attributes
      • searchCatalogPermissions

        @PreAuthorize("@principalSecurityChecker.authorizePrincipal(authentication, #principalDTO.principalUid)")
        @PostMapping(value="/catalogs/search",
                     consumes="application/json")
        @ResponseBody
        public CatalogPermissionsListWsDTO searchCatalogPermissions​(@Valid @ModelAttribute
                                                                    @Valid CatalogPermissionsRequestWrapper requestWrapper,
                                                                    org.springframework.validation.BindingResult bindingResult,
                                                                    @RequestParam(required=false,defaultValue="DEFAULT")
                                                                    java.lang.String fields,
                                                                    @RequestBody
                                                                    PermissionsPrincipalWsDTO principalDTO)
        Endpoint to retrieve catalog permissions for a principal. This will look in the principal hierarchy.
        Returns:
        calculated catalog permissions (based on principal, its access type (read/write) and catalog version id)
      • getGlobalPermissions

        @Deprecated(since="2105",
                    forRemoval=true)
        @GetMapping("/principals/{principalUid}/global")
        @ResponseBody
        public PermissionsWsDTO getGlobalPermissions​(@PathVariable
                                                     java.lang.String principalUid,
                                                     @RequestParam(required=true)
                                                     java.lang.String permissionNames,
                                                     @RequestParam(required=false,defaultValue="DEFAULT")
                                                     java.lang.String fields)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Endpoint to retrieve global permissions for a principal. This will look in the principal hierarchy.
        Returns:
        calculated global permissions (based on principal and its groups)
      • getTypesPermissions

        @Deprecated(since="2105",
                    forRemoval=true)
        @GetMapping("/principals/{principalUid}/types")
        @ResponseBody
        public PermissionsListWsDTO getTypesPermissions​(@PathVariable
                                                        java.lang.String principalUid,
                                                        @RequestParam(required=true)
                                                        java.lang.String types,
                                                        @RequestParam(required=true)
                                                        java.lang.String permissionNames,
                                                        @RequestParam(required=false,defaultValue="DEFAULT")
                                                        java.lang.String fields)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Endpoint to retrieve types permissions for a principal. This will look in the principal hierarchy.
        Returns:
        calculated types permissions (based on principal, its groups, the types and super types)
      • getCatalogPermissions

        @Deprecated(since="2105",
                    forRemoval=true)
        @GetMapping("/principals/{principalUid}/catalogs")
        @ResponseBody
        public CatalogPermissionsListWsDTO getCatalogPermissions​(@PathVariable
                                                                 java.lang.String principalUid,
                                                                 @Valid @ModelAttribute
                                                                 @Valid CatalogPermissionsRequestWrapper requestWrapper,
                                                                 org.springframework.validation.BindingResult bindingResult,
                                                                 @RequestParam(required=false,defaultValue="DEFAULT")
                                                                 java.lang.String fields)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Endpoint to retrieve catalog permissions for a principal. This will look in the principal hierarchy.
        Returns:
        calculated catalog permissions (based on principal, its access type (read/write) and catalog version id)
      • replaceTypePermissions

        @PutMapping(value="/types",
                    consumes="application/json",
                    produces="application/json")
        @ResponseBody
        public TypePermissionsListWsDTO replaceTypePermissions​(@RequestBody
                                                               TypePermissionsListWsDTO permissionsList)
        Endpoint to insert or update global permissions for a principal.
        Parameters:
        permissionsList - The list of types and their permissions to be inserted or updated
        Returns:
        The current state of the permissions for each type specified in the permission list
      • setPermissionsFacade

        public void setPermissionsFacade​(PermissionsFacade permissionsFacade)
      • getDataMapper

        protected DataMapper getDataMapper()
      • setDataMapper

        public void setDataMapper​(DataMapper dataMapper)