Class AdminPermissionEndpoint

java.lang.Object
com.broadleafcommerce.adminuser.resource.web.endpoint.AdminPermissionEndpoint

@FrameworkRestController @FrameworkMapping("/permissions") @DataRouteByExample(AdminUser.class) @ConditionalOnBean(AdminPermissionService.class) public class AdminPermissionEndpoint extends Object
Endpoints for CRUD operations on AdminPermission.

Access control for these operations are based on tenant context for each endpoint.

Global permissions can be read in any context, but are immutable in all but the global context.

All other permissions can be read/modified in the global context or the tenant context the permission is assigned to. Tenant-level users can only create/modify permissions from their tenant.

Author:
Samarth Dhruva (samarthd)
  • Constructor Details

  • Method Details

    • readAllPermissions

      @FrameworkGetMapping @Policy(permissionRoots="ADMIN_PERMISSION") public org.springframework.data.domain.Page<AdminPermission> readAllPermissions(@RequestParam(value="q",required=false) String name, @PageableDefault(size=50) org.springframework.data.domain.Pageable page, @ContextOperation(READ) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • getPermission

      @FrameworkGetMapping("/{id}") @Policy(permissionRoots="ADMIN_PERMISSION") public AdminPermission getPermission(@PathVariable("id") String id, @ContextOperation(READ) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • createPermission

      @FrameworkPostMapping @Policy(permissionRoots="ADMIN_PERMISSION") public AdminPermission createPermission(@RequestBody AdminPermission permission, @ContextOperation(CREATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • replacePermission

      @FrameworkPutMapping("/{id}") @Policy(permissionRoots="ADMIN_PERMISSION") public AdminPermission replacePermission(@PathVariable("id") String id, @RequestBody AdminPermission permission, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • deletePermission

      @FrameworkDeleteMapping("/{id}") @Policy(permissionRoots="ADMIN_PERMISSION") public void deletePermission(@PathVariable("id") String id, @ContextOperation(DELETE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • getAdminPermissionService

      @NonNull protected AdminPermissionService<AdminPermission> getAdminPermissionService()